{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-products/wallet/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"XRP Ledger AMM APIs are now live!","description":"User guides, API reference, and support resources.","siteUrl":"https://docs.ripple.com/products/custody","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"xrp-ledger-amm-apis-are-now-live","__idx":0},"children":["XRP Ledger AMM APIs are now live!"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Alpha"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["API Categorization: Alpha (unstable API, expect changes)."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wallet-as-a-Service (Palisade) brings deeper integration into the XRP ledger through our latest AMM APIs. These APIs allow customers to programmatically interact with AMMs on the XRP Ledger."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"use-cases","__idx":1},"children":["Use-cases"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Trading and market making - Providing liquidity into AMMs makes it easy to generate revenue on-chain."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Asset Tokenization - XRP’s AMMs make it easy to provide liquidity on-chain, enabling token issuers to facilitate trades using the built-in DEX."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"security-considerations","__idx":2},"children":["Security considerations"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Transactions initiated using AMM APIs are subject to the same policy engine rules. Since ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AMMCreate"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AMMDeposit"]}," result in multiple assets being withdrawn from the wallet, the policy engine will expect policies to be defined for each affected asset."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For example, if an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AMMDeposit"]}," transaction is depositing into a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RLUSD/USD"]}," pool, the policy engine will require the policies to be defined for the following assets:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["RLUSD."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["USD."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Note that issuer must be defined in the policy for issued assets such as above."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"limitations","__idx":3},"children":["Limitations"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["AMM APIs are available on XRP Ledger only."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"amm-deposit","__idx":4},"children":["AMM Deposit"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"summary","__idx":5},"children":["Summary"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["AMM Deposit is only supported in two-asset mode. Depositing using a single asset into a two-asset pool is currently unsupported."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"unsupported-modes","__idx":6},"children":["Unsupported modes"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The request parameter ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lpTokenOut"]}," is not yet supported."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Flag ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DEPOSIT_SINGLE_ASSET"]}," is not supported."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The request parameter ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount2"]}," must be specified."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"amm-withdraw","__idx":7},"children":["AMM Withdraw"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"summary-1","__idx":8},"children":["Summary"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["AMM Withdraw only supports withdrawing assets by specifying ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lpTokenIn"]}," in the request parameter. Withdrawing assets by specifying the assets to withdraw individually or singularly is currently unsupported."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"unsupported-modes-1","__idx":9},"children":["Unsupported modes"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The request parameter must specify the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lpTokenIn"]}," parameter."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"references","__idx":10},"children":["References"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["AMM Create",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["XRP Ledger reference: ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://xrpl.org/docs/references/protocol/transactions/types/ammcreate"},"children":["https://xrpl.org/docs/references/protocol/transactions/types/ammcreate"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Wallet-as-a-Service (Palisade) API reference: ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/wallet/api-docs/palisade-api/palisade-api"},"children":["Wallet-as-a-Service (Palisade) API"]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["AMM Deposit",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["XRP Ledger reference: ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://xrpl.org/docs/references/protocol/transactions/types/ammdeposit"},"children":["https://xrpl.org/docs/references/protocol/transactions/types/ammdeposit"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Wallet-as-a-Service (Palisade) API reference: ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/wallet/api-docs/palisade-api/palisade-api"},"children":["Wallet-as-a-Service (Palisade) API"]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["AMM Withdraw",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["XRP Ledger reference: ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://xrpl.org/docs/references/protocol/transactions/types/ammwithdraw"},"children":["https://xrpl.org/docs/references/protocol/transactions/types/ammwithdraw"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Wallet-as-a-Service (Palisade) API reference: ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/wallet/api-docs/palisade-api/palisade-api"},"children":["Wallet-as-a-Service (Palisade) API"]}]}]}]}]}]},"headings":[{"value":"XRP Ledger AMM APIs are now live!","id":"xrp-ledger-amm-apis-are-now-live","depth":1},{"value":"Use-cases","id":"use-cases","depth":2},{"value":"Security considerations","id":"security-considerations","depth":2},{"value":"Limitations","id":"limitations","depth":2},{"value":"AMM Deposit","id":"amm-deposit","depth":2},{"value":"Summary","id":"summary","depth":3},{"value":"Unsupported modes","id":"unsupported-modes","depth":3},{"value":"AMM Withdraw","id":"amm-withdraw","depth":2},{"value":"Summary","id":"summary-1","depth":3},{"value":"Unsupported modes","id":"unsupported-modes-1","depth":3},{"value":"References","id":"references","depth":2}],"frontmatter":{"title":"XRP Ledger AMM APIs are now live!","seo":{"title":"XRP Ledger AMM APIs are now live!"}},"lastModified":"2026-01-29T15:53:00.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/wallet/changelogs/xrp-ledger-amm-apis","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}