Ripple Labs Transactions - XRP API
Used to manage XRP specific transactions
Used to manage XRP specific transactions
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/ripple-labs-transactions-xrp-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Palisade Transactions - XRP API
description: The Palisade API enables programmatic interaction with the various features of the Palisade platform
version: '2.0'
servers:
- url: https://api.sandbox.palisade.co
description: Sandbox server (uses TESTNET data, private keys and accounts)
- url: https://api.palisade.co
description: Palisade server (uses MAINNET data, private keys and accounts)
security:
- TokenAuth: []
tags:
- name: Transactions - XRP
description: Used to manage XRP specific transactions
paths:
/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/account-set:
post:
summary: Create a new XRP Account Set transaction
description: Create a new XRP Account Set transaction
operationId: TransactionsService_SubmitAccountSet
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/transactionsv2Transaction'
'400':
description: Returned when the request is malformed or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: 'validation error: - name: value length must be at least 1 characters [string.min_len].'
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'401':
description: Returned when the request was unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authorization requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'403':
description: Returned when the request was forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authentication requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'404':
description: Returned when the resource does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The resource does not exist.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: vaultId
description: The vault ID
in: path
required: true
schema:
type: string
- name: walletId
description: The wallet ID
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
setFlag:
allOf:
- $ref: '#/components/schemas/transactionsv2AccountSetFlag'
- example: DISALLOW_XRP
description: Flag to enable for this account
clearFlag:
allOf:
- $ref: '#/components/schemas/transactionsv2AccountSetFlag'
- example: DEPOSIT_AUTH
description: Flag to disable for this account
domain:
type: string
example: 6578616d706c652e636f6d
description: Hex encoded string representing domain that owns this account in ASCII, less than 256 chars. Set empty to unset.
emailHash:
type: string
example: 7e0ded033511a87ad8d04d5dfae1fcad
description: Hex encoded 128-bit hash bytes of the email address representing this account. Set empty to unset.
messageKey:
type: string
example: 032CC3AFAD020F8E69DFEC08A45D303CE9E1693EB89DE0E268ADB6D7E93F19B7DF
description: 33-byte public key for sending encrypted messages to this account. First byte must be one of (0x02, 0x03, 0xED). Set empty to unset.
nfTokenMinter:
type: string
example: rGgKM3hTn8MBMGgiiPMbz73VEkSBocqab6
description: Address of another account that can mint NFTokens for this account
transferRate:
type: integer
format: int64
example: 1800000000
description: Fee to charge when users transfer tokens issued by this account, represented as billionths of a unit between 1000000000 and 2000000000 or 0.
tickSize:
type: integer
format: int64
example: 4
description: Tick size to use for offers involving a currency issued by this address, must be 3 to 15 (inclusive) or 0
walletLocator:
type: string
example: 678e749011f8a911f011e105c618db898a71f8759929cc9a9ebcfe7b125870ee
description: An arbitrary 256-bit hash value to associate with this account
walletSize:
type: integer
format: int64
example: 3
description: Unused field to associate on the account
sequence:
type: string
format: uint64
example: '2'
description: The blockchain nonce/sequence to use
lastLedgerSequence:
type: string
format: uint64
example: '123456'
description: Highest ledger index this transaction can appear in.
sourceTag:
type: string
format: uint64
example: '123456'
description: Source tag to use for this transaction
required: true
tags:
- Transactions - XRP
/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/amm-create:
post:
summary: Create a new XRP AMM Create transaction
description: Create a new XRP AMM Create transaction
operationId: TransactionsService_SubmitAMMCreate
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/transactionsv2Transaction'
'400':
description: Returned when the request is malformed or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: 'validation error: - name: value length must be at least 1 characters [string.min_len].'
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'401':
description: Returned when the request was unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authorization requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'403':
description: Returned when the request was forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authentication requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'404':
description: Returned when the resource does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The resource does not exist.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: vaultId
description: The vault ID
in: path
required: true
schema:
type: string
- name: walletId
description: The wallet ID
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
amount:
allOf:
- $ref: '#/components/schemas/transactionsv2CurrencyAmount'
- type: object
description: The first asset with amount to deposit into this AMM
amount2:
allOf:
- $ref: '#/components/schemas/transactionsv2CurrencyAmount'
- type: object
description: The second asset with amount to deposit into this AMM
tradingFee:
type: integer
format: int64
example: 1000
description: The fee to charge for trades against this AMM instance, in units of 1/100,000
sequence:
type: string
format: uint64
example: '2'
description: The blockchain nonce/sequence to use
lastLedgerSequence:
type: string
format: uint64
example: '123456'
description: Highest ledger index this transaction can appear in.
sourceTag:
type: string
format: uint64
example: '123456'
description: Source tag to use for this transaction
required:
- amount
- amount2
- tradingFee
required: true
tags:
- Transactions - XRP
/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/amm-deposit:
post:
summary: Create a new XRP AMM Deposit transaction
description: Create a new XRP AMM Deposit transaction
operationId: TransactionsService_SubmitAMMDeposit
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/transactionsv2Transaction'
'400':
description: Returned when the request is malformed or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: 'validation error: - name: value length must be at least 1 characters [string.min_len].'
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'401':
description: Returned when the request was unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authorization requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'403':
description: Returned when the request was forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authentication requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'404':
description: Returned when the resource does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The resource does not exist.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: vaultId
description: The vault ID
in: path
required: true
schema:
type: string
- name: walletId
description: The wallet ID
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
asset:
allOf:
- $ref: '#/components/schemas/transactionsv2Asset'
- type: object
description: The first asset to deposit
amount:
allOf:
- $ref: '#/components/schemas/transactionsv2CurrencyAmount'
- type: object
description: Amount of the first asset to deposit
asset2:
allOf:
- $ref: '#/components/schemas/transactionsv2Asset'
- type: object
description: The second asset to deposit
amount2:
allOf:
- $ref: '#/components/schemas/transactionsv2CurrencyAmount'
- type: object
description: The amount of the second asset to deposit
ePrice:
allOf:
- $ref: '#/components/schemas/transactionsv2CurrencyAmount'
- type: object
description: The maximum effective price, in the deposit asset, to pay for each LP Token received
lpTokenOut:
allOf:
- $ref: '#/components/schemas/transactionsv2CurrencyAmount'
- type: object
description: How many of the AMM's LP tokens to buy
tradingFee:
type: integer
format: int64
example: 1000
description: Submit a vote for the AMM's trading fee, in units of 1/100,000
flags:
allOf:
- $ref: '#/components/schemas/transactionsv2AMMDepositFlag'
- example: DEPOSIT_TWO_ASSET
description: Flags for this transaction
sequence:
type: string
format: uint64
example: '2'
description: The blockchain nonce/sequence to use
lastLedgerSequence:
type: string
format: uint64
example: '123456'
description: Highest ledger index this transaction can appear in.
sourceTag:
type: string
format: uint64
example: '123456'
description: Source tag to use for this transaction
required:
- asset
- asset2
required: true
tags:
- Transactions - XRP
/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/amm-withdraw:
post:
summary: Create a new XRP AMM Withdraw transaction
description: Create a new XRP AMM Withdraw transaction
operationId: TransactionsService_SubmitAMMWithdraw
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/transactionsv2Transaction'
'400':
description: Returned when the request is malformed or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: 'validation error: - name: value length must be at least 1 characters [string.min_len].'
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'401':
description: Returned when the request was unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authorization requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'403':
description: Returned when the request was forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authentication requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'404':
description: Returned when the resource does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The resource does not exist.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: vaultId
description: The vault ID
in: path
required: true
schema:
type: string
- name: walletId
description: The wallet ID
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
asset:
allOf:
- $ref: '#/components/schemas/transactionsv2Asset'
- type: object
description: The first asset to withdraw
amount:
allOf:
- $ref: '#/components/schemas/transactionsv2CurrencyAmount'
- type: object
description: Amount of the first asset to withdraw
asset2:
allOf:
- $ref: '#/components/schemas/transactionsv2Asset'
- type: object
description: The second asset to withdraw
amount2:
allOf:
- $ref: '#/components/schemas/transactionsv2CurrencyAmount'
- type: object
description: The amount of the second asset to deposit
ePrice:
allOf:
- $ref: '#/components/schemas/transactionsv2CurrencyAmount'
- type: object
description: The minimum effective price, in LP Token returned, to pay per unit of the asset to withdraw
lpTokenIn:
allOf:
- $ref: '#/components/schemas/transactionsv2CurrencyAmount'
- type: object
description: How many of the AMM's LP tokens to redeem
flags:
allOf:
- $ref: '#/components/schemas/transactionsv2AMMWithdrawFlag'
- example: WITHDRAW_LP_TOKEN
description: Flags for this transaction
sequence:
type: string
format: uint64
example: '2'
description: The blockchain nonce/sequence to use
lastLedgerSequence:
type: string
format: uint64
example: '123456'
description: Highest ledger index this transaction can appear in.
sourceTag:
type: string
format: uint64
example: '123456'
description: Source tag to use for this transaction
required:
- asset
- asset2
required: true
tags:
- Transactions - XRP
/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/clawback:
post:
summary: Create a new XRP Clawback transaction
description: Create a new XRP Clawback transaction to recover issued tokens
operationId: TransactionsService_SubmitClawback
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/transactionsv2Transaction'
'400':
description: Returned when the request is malformed or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: 'validation error: - name: value length must be at least 1 characters [string.min_len].'
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'401':
description: Returned when the request was unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authorization requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'403':
description: Returned when the request was forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authentication requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'404':
description: Returned when the resource does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The resource does not exist.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: vaultId
description: The vault ID
in: path
required: true
schema:
type: string
- name: walletId
description: The wallet ID
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
amount:
allOf:
- $ref: '#/components/schemas/transactionsv2CurrencyAmount'
- type: object
description: The amount and currency to claw back. The issuer field represents the token holder's address.
holder:
type: string
example: rGgKM3hTn8MBMGgiiPMbz73VEkSBocqab6
description: Optional holder address for MPTokens
sequence:
type: string
format: uint64
ex
# --- truncated at 32 KB (77 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ripple-labs/refs/heads/main/openapi/ripple-labs-transactions-xrp-api-openapi.yml