# JS/TS SDK

- [Xaman SDK (Intro)](https://docs.xaman.dev/js-ts-sdk/xumm-sdk-intro.md): Developers can use the Xaman SDK to easily integrate with the Xaman platform. This allows for easy & secure end user interaction. With your application & the XRP Ledger.
- [Examples / User stories](https://docs.xaman.dev/js-ts-sdk/examples-user-stories.md)
- [Sign Requests (payloads)](https://docs.xaman.dev/js-ts-sdk/examples-user-stories/sign-requests-payloads.md): A sign request in Xumm is a prompt to approve a transaction or action on the XRP Ledger. This page will show you how you can create a Sign Request, and how you can deliver the request to the end user.
- [Browser](https://docs.xaman.dev/js-ts-sdk/examples-user-stories/sign-requests-payloads/browser.md): A sign request in Xumm is a prompt to approve a transaction or action on the XRP Ledger. This page will show you how you can create a Sign Request, and how you can deliver the request to the end user.
- [xApp](https://docs.xaman.dev/js-ts-sdk/examples-user-stories/sign-requests-payloads/xapp.md): A sign request in Xumm is a prompt to approve a transaction or action on the XRP Ledger. This page will show you how you can create a Sign Request, and how you can deliver the request to the end user.
- [Backend](https://docs.xaman.dev/js-ts-sdk/examples-user-stories/sign-requests-payloads/backend.md): A sign request in Xumm is a prompt to approve a transaction or action on the XRP Ledger. This page will show you how you can create a Sign Request, and how you can deliver the request to the end user.
- [Verify Payload signature](https://docs.xaman.dev/js-ts-sdk/examples-user-stories/verify-oauth2-signature.md): You can fetch the corresponding payload to verify the signature, to make sure it's signed by the account you expected to sign the payload.
- [Simple Sign Request](https://docs.xaman.dev/js-ts-sdk/examples-user-stories/misc-todo.md)
- [SDK (syntax)](https://docs.xaman.dev/js-ts-sdk/sdk-syntax.md): Developers can use the Xumm SDK to easily interact with the Xumm platform. This section contains the technical documentation for the Javascript/TypeScript API (objects, methods, arguments).
- [Xumm.ping()](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.ping.md)
- [Xumm.on(event, fn)](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.on-event-fn.md): Events fired by the SDK per environment. For the order of events, see the section per environment after the table with events.
- [Xumm.off(event, fn)](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.off-event-fn.md)
- [Xumm.helpers { … }](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.helpers.md)
- [ping()](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.helpers/ping.md): Contact the Xumm platform to check for connectivity and valid auth.
- [getRates( … )](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.helpers/getrates.md): Get aggregated exchange rates vs. XRP for most fiat & crypto assets.
- [getRails()](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.helpers/getrails.md): Fetch the available (known) networks and network parameters.
- [getHookHash( … )](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.helpers/gethookhash.md): Get meta information for a known Hook, by specifying the Hook Hash (64 hex chars)
- [getHookHashes()](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.helpers/gethookhashes.md): Get the meta information for all known Hooks. Object returned contains Hook hash as key, meta as value.
- [getCuratedAssets()](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.helpers/getcuratedassets.md): Get the curated assets (shortlist in Xumm) for Trust Lines
- [getNftokenDetail( … )](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.helpers/getnftokendetail.md): Get NFT Token details. Only available in JWT context. Please fetch your NFT info from other NFT data sources if possible.
- [getKycStatus( … )](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.helpers/getkycstatus.md): Get the KYC status for users, based on a user\_token issued by a successful sign request.
- [verifyUserTokens(\[ … \])](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.helpers/verifyusertokens.md): Verify a user token (or multiple), to see if the token is still valid (not expired, not revoked) and can be used to deliver sign requests to user(s)
- [getTransaction( … )](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.helpers/gettransaction.md): Fetch an XRPL transaction & metadata. Please don't use this method unless absolutely necessary: please set up your own connection to an XRPL node to fetch this information.
- [Xumm.user { … }](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.user.md): Returns information about the signed in user (in case of xApp or Web3 flow).
- [Xumm.environment { … }](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.environment.md)
- [Xumm.payload { … }](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.payload.md)
- [create( … )](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.payload/create.md)
- [createAndSubscribe( … )](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.payload/createandsubscribe.md)
- [cancel( … )](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.payload/cancel.md)
- [subscribe( … )](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.payload/subscribe.md)
- [get( … )](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.payload/get.md)
- [Xumm.xapp { … }](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.xapp.md)
- [ready()](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.xapp/ready.md): When using the native Xumm loader screen for your xApp (until your xApp is ready, fully hydrated, booted, etc.) you call this method to remove the Xumm loading screen.
- [openSignRequest({ … })](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.xapp/opensignrequest.md): Open a Sign Request (payload) created with Xumm.payload.create
- [selectDestination({ … })](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.xapp/selectdestination.md): Open the Destination Picker: select/find/scan (QR) an XRPL destination account by r-address, slug or PayString
- [scanQr()](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.xapp/scanqr.md): Scan a QR code
- [tx({ … })](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.xapp/tx.md): Open the Transaction Details panel
- [close({ … })](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.xapp/close.md): Close the xApp
- [share({ … })](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.xapp/share.md): Use the OS Share-dialog to share text or a URL
- [navigate({ … })](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.xapp/navigate.md): Navigate to another xApp (by identifier)
- [openBrowser({ … })](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.xapp/openbrowser.md): Open an external URL in the OS default browser
- [on(xAppEvent, fn)](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.xapp/on-event-fn.md): Certain events are sent to xApps. These events are usually an asynchronous callback containing data requested by calling one of the xApp UI actions.
- [off(xAppEvent, fn)](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.xapp/off-event-fn.md): Certain events are sent to xApps. These events are usually an asynchronous callback containing data requested by calling one of the xApp UI actions.
- [Xumm.userstore { … }](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.userstore.md): Client side persistent user bound key/value store.
- [list()](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.userstore/list.md): List userstore keys
- [get( … )](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.userstore/get.md): Get userstore value (object) by key
- [delete( … )](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.userstore/delete.md): Remove userstore key & value by key
- [set( … , { … } )](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.userstore/set-...-....md)
- [Xumm.backendstore { … }](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.backendstore.md)
- [get()](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.backendstore/get.md)
- [set({ … })](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.backendstore/set.md)
- [delete()](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.backendstore/delete.md)
- [Xumm.push { … }](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.push.md)
- [event( … )](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.push/event.md)
- [notification( … )](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.push/notification.md)
- [Xumm.runtime { … }](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.runtime.md)
- [Xumm.authorize()](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.authorize.md)
- [Xumm.logout()](https://docs.xaman.dev/js-ts-sdk/sdk-syntax/xumm.logout.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.xaman.dev/js-ts-sdk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
