Ripple Labs Transactions - XRP API

Used to manage XRP specific transactions

OpenAPI Specification

ripple-labs-transactions-xrp-api-openapi.yml Raw ↑
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