Ripple Labs Transactions - XRP API
Used to manage XRP specific transactions
Used to manage XRP specific transactions
openapi: 3.0.0
info:
title: Palisade Addresses 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
# --- 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