Ripple Labs Wallets API

Used to manage wallets

OpenAPI Specification

ripple-labs-wallets-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Palisade Addresses Wallets 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: Wallets
  description: Used to manage wallets
paths:
  /v2/vaults/{vaultId}/wallets:
    get:
      summary: List vault wallets
      description: List all wallets within a vault
      operationId: VaultService_ListVaultWallets
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2ListVaultWalletsResponse'
        '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: pageSize
        description: The number of results to return per page (default 50, max 1000)
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: pageToken
        description: The token to retrieve the next page of results
        in: query
        required: false
        schema:
          type: string
      - name: blockchain
        description: The blockchain of the wallet
        in: query
        required: false
        schema:
          type: string
          enum:
          - AVALANCHE
          - ETHEREUM
          - XRP_LEDGER
          - POLYGON
          - BNBCHAIN
          - BASE
          - HEDERA
          - ARBITRUM
          - ONE_MONEY
          - SOLANA
          - TRON
          - BITCOIN
      - name: pagination.pageSize
        description: Number of results per page (default 50, max 1000)
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: pagination.pageToken
        description: Token for pagination from previous response
        in: query
        required: false
        schema:
          type: string
      - name: pagination.orderBy
        description: Field to order results by
        in: query
        required: false
        schema:
          type: string
      - name: pagination.order
        description: Sort order (ASC or DESC)
        in: query
        required: false
        schema:
          type: string
          enum:
          - SORT_ORDER_ASC
          - SORT_ORDER_DESC
      - name: filter.id.eq
        description: Exact match
        in: query
        required: false
        schema:
          type: string
      - name: filter.id.notEq
        description: Not equal to
        in: query
        required: false
        schema:
          type: string
      - name: filter.id.contains
        description: Contains substring (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.id.startsWith
        description: Starts with prefix (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.id.endsWith
        description: Ends with suffix (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.id.in
        description: Value is in the list
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: filter.id.notIn
        description: Value is not in the list
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: filter.id.isNull
        description: Check if field is null
        in: query
        required: false
        schema:
          type: boolean
      - name: filter.vaultId.eq
        description: Exact match
        in: query
        required: false
        schema:
          type: string
      - name: filter.vaultId.notEq
        description: Not equal to
        in: query
        required: false
        schema:
          type: string
      - name: filter.vaultId.contains
        description: Contains substring (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.vaultId.startsWith
        description: Starts with prefix (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.vaultId.endsWith
        description: Ends with suffix (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.vaultId.in
        description: Value is in the list
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: filter.vaultId.notIn
        description: Value is not in the list
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: filter.vaultId.isNull
        description: Check if field is null
        in: query
        required: false
        schema:
          type: boolean
      - name: filter.name.eq
        description: Exact match
        in: query
        required: false
        schema:
          type: string
      - name: filter.name.notEq
        description: Not equal to
        in: query
        required: false
        schema:
          type: string
      - name: filter.name.contains
        description: Contains substring (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.name.startsWith
        description: Starts with prefix (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.name.endsWith
        description: Ends with suffix (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.name.in
        description: Value is in the list
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: filter.name.notIn
        description: Value is not in the list
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: filter.name.isNull
        description: Check if field is null
        in: query
        required: false
        schema:
          type: boolean
      - name: filter.address.eq
        description: Exact match
        in: query
        required: false
        schema:
          type: string
      - name: filter.address.notEq
        description: Not equal to
        in: query
        required: false
        schema:
          type: string
      - name: filter.address.contains
        description: Contains substring (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.address.startsWith
        description: Starts with prefix (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.address.endsWith
        description: Ends with suffix (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.address.in
        description: Value is in the list
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: filter.address.notIn
        description: Value is not in the list
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: filter.address.isNull
        description: Check if field is null
        in: query
        required: false
        schema:
          type: boolean
      - name: filter.alias.eq
        description: Exact match
        in: query
        required: false
        schema:
          type: string
      - name: filter.alias.notEq
        description: Not equal to
        in: query
        required: false
        schema:
          type: string
      - name: filter.alias.contains
        description: Contains substring (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.alias.startsWith
        description: Starts with prefix (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.alias.endsWith
        description: Ends with suffix (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.alias.in
        description: Value is in the list
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: filter.alias.notIn
        description: Value is not in the list
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: filter.alias.isNull
        description: Check if field is null
        in: query
        required: false
        schema:
          type: boolean
      - name: filter.externalId.eq
        description: Exact match
        in: query
        required: false
        schema:
          type: string
      - name: filter.externalId.notEq
        description: Not equal to
        in: query
        required: false
        schema:
          type: string
      - name: filter.externalId.contains
        description: Contains substring (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.externalId.startsWith
        description: Starts with prefix (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.externalId.endsWith
        description: Ends with suffix (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.externalId.in
        description: Value is in the list
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: filter.externalId.notIn
        description: Value is not in the list
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: filter.externalId.isNull
        description: Check if field is null
        in: query
        required: false
        schema:
          type: boolean
      - name: filter.correlationId.eq
        description: Exact match
        in: query
        required: false
        schema:
          type: string
      - name: filter.correlationId.notEq
        description: Not equal to
        in: query
        required: false
        schema:
          type: string
      - name: filter.correlationId.contains
        description: Contains substring (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.correlationId.startsWith
        description: Starts with prefix (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.correlationId.endsWith
        description: Ends with suffix (case-insensitive)
        in: query
        required: false
        schema:
          type: string
      - name: filter.correlationId.in
        description: Value is in the list
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: filter.correlationId.notIn
        description: Value is not in the list
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: filter.correlationId.isNull
        description: Check if field is null
        in: query
        required: false
        schema:
          type: boolean
      - name: filter.blockchain.eq
        description: Exact blockchain match
        in: query
        required: false
        schema:
          type: string
          enum:
          - AVALANCHE
          - ETHEREUM
          - XRP_LEDGER
          - POLYGON
          - BNBCHAIN
          - BASE
          - HEDERA
          - ARBITRUM
          - ONE_MONEY
          - SOLANA
          - TRON
          - BITCOIN
      - name: filter.blockchain.notEq
        description: Exclude this blockchain
        in: query
        required: false
        schema:
          type: string
          enum:
          - AVALANCHE
          - ETHEREUM
          - XRP_LEDGER
          - POLYGON
          - BNBCHAIN
          - BASE
          - HEDERA
          - ARBITRUM
          - ONE_MONEY
          - SOLANA
          - TRON
          - BITCOIN
      - name: filter.blockchain.in
        description: Blockchain is in this list
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - AVALANCHE
            - ETHEREUM
            - XRP_LEDGER
            - POLYGON
            - BNBCHAIN
            - BASE
            - HEDERA
            - ARBITRUM
            - ONE_MONEY
            - SOLANA
            - TRON
            - BITCOIN
      - name: filter.blockchain.notIn
        description: Blockchain is not in this list
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - AVALANCHE
            - ETHEREUM
            - XRP_LEDGER
            - POLYGON
            - BNBCHAIN
            - BASE
            - HEDERA
            - ARBITRUM
            - ONE_MONEY
            - SOLANA
            - TRON
            - BITCOIN
      - name: filter.status
        description: Filter by wallet status
        in: query
        required: false
        schema:
          type: string
          enum:
          - CREATED
          - PROVISIONING
          - PROVISIONED_WALLET
          - PROVISIONING_POLICY
          - PROVISIONING_COMPLIANCE
          - PROVISIONED_COMPLIANCE
          - PROVISIONED
          - PROVISIONING_FAILED
      - name: filter.createdAt.eq
        description: Exact timestamp match
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: filter.createdAt.notEq
        description: Not equal to timestamp
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: filter.createdAt.before
        description: Before this timestamp
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: filter.createdAt.after
        description: After this timestamp
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: filter.createdAt.gte
        description: Greater than or equal to timestamp
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: filter.createdAt.lte
        description: Less than or equal to timestamp
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: filter.createdAt.between.start
        description: Start of time range (inclusive)
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: filter.createdAt.between.end
        description: End of time range (inclusive)
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: filter.createdAt.isNull
        description: Check if field is null
        in: query
        required: false
        schema:
          type: boolean
      - name: filter.createdAt.relativeDays
        description: Relative days from now (negative for past, positive for future)
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: filter.updatedAt.eq
        description: Exact timestamp match
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: filter.updatedAt.notEq
        description: Not equal to timestamp
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: filter.updatedAt.before
        description: Before this timestamp
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: filter.updatedAt.after
        description: After this timestamp
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: filter.updatedAt.gte
        description: Greater than or equal to timestamp
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: filter.updatedAt.lte
        description: Less than or equal to timestamp
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: filter.updatedAt.between.start
        description: Start of time range (inclusive)
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: filter.updatedAt.between.end
        description: End of time range (inclusive)
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: filter.updatedAt.isNull
        description: Check if field is null
        in: query
        required: false
        schema:
          type: boolean
      - name: filter.updatedAt.relativeDays
        description: Relative days from now (negative for past, positive for future)
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: search
        description: Case-insensitive search over wallet ID, name, address, alias, external ID, and correlation ID.
        in: query
        required: false
        schema:
          type: string
      tags:
      - Wallets
    post:
      summary: Create a wallet
      description: Create a new HSM or MPC wallet within a vault
      operationId: VaultService_CreateWallet
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/vaultv2Wallet'
        '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
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: USD Issuing wallet
                  description: The name of the wallet
                description:
                  type: string
                  example: Main USD issuing account used internally
                  description: The description of the wallet
                quorumId:
                  type: string
                  example: ce4918bf-a199-4ce2-85a3-d0d296855384
                  description: The quorum ID
                blockchain:
                  allOf:
                  - $ref: '#/components/schemas/v2Blockchain'
                  - type: string
                    example: ETHEREUM
                    description: The blockchain of the wallet
                keystore:
                  allOf:
                  - $ref: '#/components/schemas/v2Keystore'
                  - type: string
                    example: HSM
                    description: The keystore of the wallet
                recoveryPublicKey:
                  type: string
                  example: 30820221300d06092a864886f70d01010105000382020e0030820209028202007b985c289e76fa4d25a72649d9b3381c12ec63e05cee00173e91f94a371a1fc0b95e98ffa0c435a651db17924d9089951f844d00e52fb5ddf3ac0843ea2cdf6ddf54c6926147229722e1cbd8d50a4a62e2d8ae1ffa466e67d23e9de8293dd9698a992a2eb00f9d5588dfacdd86f65c9c2d429da830bfb5b93568159cdece5c1f6424aabbb6058d83261322660ec8acdbe03060ad9fd547aa647fdc96b0b64a56a60070fa64ede58c5c8eb0e3779512e977170c2b7a3e32e375754d5e6e92d65e96d5e3095b455485d70f1ea76a392ff8488a9b93344a440c11e1943fe8dbd6cc98501cd0bac1408e0b47041adfc07b648e6e7feb55ebc1a62ae0cea93adbfd56eee20ffc75395773354927f1d9857050c0aa6a468620885c72a2c46d8274b2e780186743cfae2c04f7f5618df90c1bf31b54634c1b33fa80a68311d7ceb9d392a666bae1a059055a0e26ed1143e21b0ade10f4ef6e5dc8fa653da67f1317fb6f6755ae558f7f198fa1bb0db20e065720fe64f1b7eef91e744bd53df2830ae12960c11e68940f7e7915ff5d46af5e4b65d32f7196ed095a52764c585f75b81d568f101721a18123304b006730fcfb715d53853904995da7e1302a1273ac2559f789bf331dc54c1cd2a523fc665100d6cfad4e4446ff5b239517e577aaf5be1d8a2ed72087432f58d2fdffad377a01c0980efe9e5673ac93d882c64914a2111a9f0203010001
                  description: Optional, hex encoded PKCS1 formatted public key of a 4096-bit RSA private key
                externalId:
                  type: string
                  example: ce4918bf-a199-4ce2-85a3-d0d296855384
                  description: External ID of this wallet, unique to the organization
                correlationId:
                  type: string
                  example: ce4918bf-a199-4ce2-85a3-d0d296855384
                  description: Correlation ID for tracking correlations with the wallet
                walletType:
                  allOf:
                  - $ref: '#/components/schemas/v2WalletType'
                  - type: string
                    example: WALLET_TYPE_BLOCKCHAIN
                    description: The type of wallet to create. Defaults to BLOCKCHAIN if not specified.
                keyAlgorithm:
                  allOf:
                  - $ref: '#/components/schemas/v2KeyAlgorithm'
                  - type: string
                    example: SECP256K1
                    description: The key algorithm of the wallet
              required:
              - name
              - keystore
        required: true
      tags:
      - Wallets
  /v2/vaults/{vaultId}/wallets/{walletId}:
    get:
      summary: Get a wallet
      description: Get a wallet by ID
      operationId: VaultService_GetWallet
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/vaultv2Wallet'
        '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
                      reaso

# --- truncated at 32 KB (100 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ripple-labs/refs/heads/main/openapi/ripple-labs-wallets-api-openapi.yml