# Concepts

- [Getting started](https://docs.xaman.dev/concepts/getting-started.md): Xaman allows developers and app users to "meet up".
- [Terminology](https://docs.xaman.dev/concepts/getting-started/terminology.md): Essential terms and concepts to help you better understand and utilize the powerful features of the Xaman Wallet platform.
- [Developer Education](https://docs.xaman.dev/concepts/getting-started/developer-education.md)
- [Authorization & Credentials](https://docs.xaman.dev/concepts/authorization.md): How to authorize when communicating with the Xumm platform depends on your workflow.
- [Payloads (sign requests)](https://docs.xaman.dev/concepts/payloads-sign-requests.md): Xumm Payloads: creating, delivering, and utilizing incomplete XRP Ledger transactions as a Sign Request to end users.
- [Secure Payment Verification](https://docs.xaman.dev/concepts/payloads-sign-requests/verify-transactions.md): Once a payment has been sent and the payload resolved on Xumm, some checks are performed to ensure secure payment verification. This document walks you through verifying a payment transaction on Xumm.
- [Workflow](https://docs.xaman.dev/concepts/payloads-sign-requests/workflow.md): Xumm's workflow is designed to streamline the process of transaction signing and interaction with the XRP Ledger.
- [Lifecycle](https://docs.xaman.dev/concepts/payloads-sign-requests/lifecycle.md): Xumm's transaction lifecycle is a sequence of steps that ensures secure and efficient transaction processing on the XRP Ledger.
- [Sample POS lifecycle](https://docs.xaman.dev/concepts/payloads-sign-requests/lifecycle/sample-pos-lifecycle.md)
- [Payload Delivery](https://docs.xaman.dev/concepts/payloads-sign-requests/delivery.md): Payload delivery in Xumm is a crucial step in the transaction lifecycle. It involves delivering the payload to the user for signing.
- [Deep Linking](https://docs.xaman.dev/concepts/payloads-sign-requests/delivery/deeplink.md): Deep linking in Xumm enables developers to provide a seamless user experience by swiftly guiding users to interact with payloads.
- [QR Scanning](https://docs.xaman.dev/concepts/payloads-sign-requests/delivery/qr-scan.md): QR scanning is an engaging way to have users interact with payloads, especially in physical mediums. It is simple, quick, and versatile.
- [Push](https://docs.xaman.dev/concepts/payloads-sign-requests/delivery/push.md): Delivering Sign Requests using a push notification can be a very convenient way for end users to interact with your application: they don't even have to scan a QR code.
- [xApps](https://docs.xaman.dev/concepts/payloads-sign-requests/delivery/xapp.md): xApps are custom applications that run within the Xumm environment. As a developer working with xApps, delivering payloads is crucial for a seamless user experience.
- [Mobile (iOS/Android)](https://docs.xaman.dev/concepts/payloads-sign-requests/delivery/mobile-ios-android.md): Mobile payload delivery is essential for a seamless experience in mobile applications.
- [Desktop browser](https://docs.xaman.dev/concepts/payloads-sign-requests/delivery/desktop-browser.md): For web applications accessed through desktop browsers, Xumm provides an optimized delivery method.
- [Status updates](https://docs.xaman.dev/concepts/payloads-sign-requests/status-updates.md): Xumm's Payload status updates bridge the gap between your application and the end user by providing real-time feedback on payload interactions.
- [Websocket](https://docs.xaman.dev/concepts/payloads-sign-requests/status-updates/websocket.md): Websockets provide real-time payload updates
- [Webhooks](https://docs.xaman.dev/concepts/payloads-sign-requests/status-updates/webhooks.md): Webhooks are HTTP callbacks that allow you to receive notifications when a Payload (Sign Request) has been resolved (rejected or signed).
- [Signature verification](https://docs.xaman.dev/concepts/payloads-sign-requests/status-updates/webhooks/signature-verification.md): Signature verification is crucial for ensuring the integrity and authenticity of the data received. It involves verifying that the data was sent by Xumm and has not been tampered with.
- [API Call (polling)](https://docs.xaman.dev/concepts/payloads-sign-requests/status-updates/api-call-polling.md): Polling, or repeated API calls, is a common method to fetch updates. However, in Xumm, it's not the recommended approach due to rate limits.
- [Networks](https://docs.xaman.dev/concepts/payloads-sign-requests/networks.md): The Xumm API/SDK is designed to be network-independent, providing flexibility for developers and end users. This means that the end user determines the network on which transactions occur.
- [Payload Return URL](https://docs.xaman.dev/concepts/payloads-sign-requests/payload-return-url.md): After a user signs a payload, a user can return to a URL (your website / app).
- [Tx Explorer(s)](https://docs.xaman.dev/concepts/payloads-sign-requests/tx-explorer-s.md): To easily link to transaction explorers, you can link to the Xumm explorer launchpad and allow users to pick their preferred explorer.
- [Special Transaction Types](https://docs.xaman.dev/concepts/special-transaction-types.md): In Xaman, you can use all XRPL transaction types when sending a JSON transaction payload. However, some special transaction types are unique to Xaman, or require some extra info to use them.
- [SignIn](https://docs.xaman.dev/concepts/special-transaction-types/signin.md): The \`SignIn\` payload is a "Pseudo transaction type": an off ledger transaction specific to Xaman, which can be used to identify a user and obtain a token to push sign requests to the end user.
- [Batch (multiple inner signers)](https://docs.xaman.dev/concepts/special-transaction-types/batch-multiple-inner-signers.md): The Batch feature allows multiple transactions to be packaged together and executed as a single atomic transaction. Create and submit a batch of up to 8 transactions that succeed or fail atomically.
- [PaymentChannelAuthorize](https://docs.xaman.dev/concepts/special-transaction-types/paymentchannelauthorize.md): To authorize a Payment Channel, an off ledger "receipt" must be signed. This is implemented in Xaman through a 'Pseudo Transaction' with TransactionType \`PaymentChannelAuthorize\`.
- ["Pay With Anything"](https://docs.xaman.dev/concepts/pay-with-anything.md): Xaman allows you to easily craft a payload (Sign Request) that will always deliver the currency and amount you want to receive, while allowing the Xaman user to pay with anything (any asset they have)
- [Limitations](https://docs.xaman.dev/concepts/limitations.md)
- [Rate limits](https://docs.xaman.dev/concepts/limitations/rate-limits.md): To prevent excessive load on our platform, the Xumm platform applies rate limits. The limits depend on the type of consumer (regular API, SDK, JWT) and endpoint(s).
- [Transaction types](https://docs.xaman.dev/concepts/limitations/transaction-types.md): Xumm supports a wide range of transaction types to cater to various use cases on the XRPL. Here's what you need to know:
- [Push permission](https://docs.xaman.dev/concepts/limitations/push-permission.md)
- [Implementation checklist](https://docs.xaman.dev/concepts/implementation-checklist.md): This article presents a concise implementation checklist for developers using Xumm. By following these steps, you can ensure a smooth and secure integration whilst optimizing the user experience.
- [Protocol specific checks](https://docs.xaman.dev/concepts/implementation-checklist/protocol-specific-checks.md): The XRP Ledger Protocol has several protocol-related things to check in your app/implementation to make the experience for end users better. Please take these things into account:


---

# 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/concepts.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.
