> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lead.bank/llms.txt
> Use this file to discover all available pages before exploring further.

# List all Blockchain Payments

> List all Blockchain Payments.



## OpenAPI

````yaml GET /v0/blockchain_payments
openapi: 3.0.1
info:
  title: Lead Bank
  description: Lead Bank's APIs
  version: v1.0
servers:
  - url: https://api.sandbox.lead.bank
  - url: https://api.lead.bank
security:
  - bearerAuth: []
tags:
  - name: ACH
  - name: Account Number
  - name: OAuth
  - name: Events
  - name: Instant Payments
  - name: Lending
  - name: Simulation
  - name: Internal Transfer
  - name: Disbursement
  - name: Entity
  - name: Wire
  - name: Originator
  - name: Funding
  - name: Balances
  - name: Compliance
  - name: UserAccount
  - name: Blockchain Payment
paths:
  /v0/blockchain_payments:
    get:
      tags:
        - Blockchain Payment
      summary: List all Blockchain Payments
      description: List all Blockchain Payments.
      operationId: list-all-blockchain-payments
      parameters:
        - name: status
          in: query
          description: Filter payments by their current status.
          schema:
            $ref: '#/components/schemas/BlockchainPaymentStatus'
        - name: limit
          description: Maximum number of objects to be returned.
          in: query
          example: 10
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 10
        - name: starting_after
          in: query
          example: blockchain_payment_xyz123
          schema:
            type: string
            pattern: ^blockchain_payment_\w+$
          description: >-
            A cursor for use in pagination; this is an ID that defines your
            place in the list.
        - name: ending_before
          in: query
          example: blockchain_payment_xyz456
          schema:
            type: string
            pattern: ^blockchain_payment_\w+$
          description: >-
            A cursor for use in pagination; this is an ID that defines your
            place in the list.
      responses:
        '200':
          description: List of Blockchain Payment objects
          content:
            application/json:
              schema:
                type: object
                required:
                  - objects
                  - has_more
                properties:
                  objects:
                    type: array
                    items:
                      $ref: '#/components/schemas/BlockchainPayment'
                  has_more:
                    type: boolean
                    description: Indicates whether more results are available.
        '400':
          description: Invalid query parameter value.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '401':
          description: Missing or invalid authentication token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '429':
          description: Too many requests. Please retry after some time.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '500':
          description: Unexpected server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
components:
  schemas:
    BlockchainPaymentStatus:
      description: The current status of the blockchain payment.
      type: string
      example: created
      enum:
        - created
        - under_review
        - awaiting_funds
        - submitted
        - posted
        - rejected
        - canceled
    BlockchainPayment:
      type: object
      description: A blockchain payment object representing a fiat or cross-border payment.
      properties:
        id:
          $ref: '#/components/schemas/BlockchainPaymentID'
        debtor:
          $ref: '#/components/schemas/BlockchainPaymentDebtorResponse'
        creditor:
          $ref: '#/components/schemas/BlockchainPaymentCreditor'
        creditor_agent:
          $ref: '#/components/schemas/BlockchainPaymentCreditorAgent'
        amounts:
          $ref: '#/components/schemas/BlockchainPaymentResponseAmounts'
        payment_purpose:
          $ref: '#/components/schemas/BlockchainPaymentPurpose'
        reference:
          type: string
          description: >
            The reference message for the transfer. For `iban` payments created

            without a reference, this is a value generated automatically at

            creation, of the form `Payment via Lead <payment id>` (the payment's

            public ID with underscores replaced by hyphens, e.g.

            `Payment via Lead blockchain-payment-2x7abc...`). See `reference` on
            the

            create request for the per-rail formatting rules.
          example: INV2024001
        status:
          $ref: '#/components/schemas/BlockchainPaymentStatus'
        rejection_reason:
          type: string
          description: >
            Reason the transfer was rejected. Present only if status is
            `rejected`.


            On account-validated rails (currently `pix` and `spei`), name

            validation against the receiving account produces the following

            reasons. Distinguish **retryable** from **terminal** so you build
            the

            right resubmit logic:


            - `name in request and name on account do not match` — **terminal**.
              The creditor name did not match the legal name on the validated
              receiving account. Do not resubmit unchanged; correct the creditor
              name to match the account.
            - `name could not be validated` — **retryable**. The receiving
              account's name was not validated in time. Resubmit the same payment;
              it reuses the held account and succeeds once validation completes.
            - `account closed` — **terminal**. The receiving account is closed
            and
              a resubmit cannot succeed.

            Other reasons may be returned as plain text.
          example: name in request and name on account do not match
        cancelation_reason:
          type: string
          description: >-
            Reason the transfer was canceled. Present only if status is
            canceled.
          example: Requested by customer
        created_at:
          type: string
          format: date-time
          description: >-
            ISO 8601 format timestamp representing when the blockchain payment
            was created.
          example: '2024-06-27T11:22:33Z'
        updated_at:
          type: string
          format: date-time
          description: >-
            ISO 8601 format timestamp representing when the blockchain payment
            was last updated.
          example: '2024-06-27T11:22:33Z'
    APIError:
      type: object
      properties:
        code:
          type: string
          description: The error code.
        title:
          type: string
          description: The error title.
        detail:
          type: string
          description: A detailed error description.
        status:
          type: string
          description: The HTTP status code.
        invalid_parameters:
          type: array
          description: Invalid request parameters with reasons, if applicable.
          items:
            $ref: '#/components/schemas/InvalidParameterDetail'
        instance:
          type: string
          description: >-
            The object causing this specific occurrence of the error, if
            applicable.
    BlockchainPaymentID:
      type: string
      description: The ID of the Blockchain Payment object.
      example: blockchain_payment_xyz123
      pattern: ^blockchain_payment_\w+$
    BlockchainPaymentDebtorResponse:
      type: object
      description: The source of funds for the transfer, with enriched entity data.
      properties:
        account_identifier:
          $ref: '#/components/schemas/BlockchainPaymentAccountIdentifier'
        chain:
          $ref: '#/components/schemas/BlockchainPaymentChain'
        refund_wallet_address:
          type: string
          description: Wallet address for refunds.
          example: '0xabc123def456'
        funding_instructions:
          $ref: '#/components/schemas/BlockchainPaymentDebtorFundingInstructions'
        entity_id:
          type: string
          description: The entity ID associated with the debtor.
          example: entity_xyz123
    BlockchainPaymentCreditor:
      type: object
      description: >
        The destination of the transfer, including payment rail details and

        recipient information.


        The required detail object depends on `payment_rail`. Each rail requires

        its matching object and rejects detail objects that belong to a
        different

        rail:


        | `payment_rail` | Required detail object |

        | --- | --- |

        | `ach` | `ach` |

        | `wire` | `wire` |

        | `sepa` | `iban` |

        | `spei` | `clabe` |

        | `pix` | exactly one of `pix_key` or `pix_br_code` |

        | `faster_payments` | `fps` |

        | `bre_b` | `bre_b` |

        | `swift` | `swift` |

        | `co_bank_transfer` | `co_bank_transfer` |

        | `solana`, `base`, `ethereum` | `wallet` |


        Provide `individual` when `type` is `individual`, and `business` when

        `type` is `business`.


        On payment rails where the receiving account is validated (currently

        `pix` and `spei`), the creditor name provided here must closely match
        the

        legal name registered on the receiving account — for individuals, an

        approximate match on first + last name; for businesses, on the legal
        name

        or DBA. If the names do not match, the payment is rejected with

        `rejection_reason: "name in request and name on account do not match"`.
        On

        other rails the creditor name is not matched against the account.
      oneOf:
        - $ref: '#/components/schemas/BlockchainPaymentCreditorAch_'
        - $ref: '#/components/schemas/BlockchainPaymentCreditorWire_'
        - $ref: '#/components/schemas/BlockchainPaymentCreditorIban_'
        - $ref: '#/components/schemas/BlockchainPaymentCreditorClabe_'
        - $ref: '#/components/schemas/BlockchainPaymentCreditorPix_'
        - $ref: '#/components/schemas/BlockchainPaymentCreditorFps_'
        - $ref: '#/components/schemas/BlockchainPaymentCreditorBreB_'
        - $ref: '#/components/schemas/BlockchainPaymentCreditorSwift_'
        - $ref: '#/components/schemas/BlockchainPaymentCreditorCoBankTransfer_'
        - $ref: '#/components/schemas/BlockchainPaymentCreditorWallet_'
        - $ref: '#/components/schemas/BlockchainPaymentCreditorAchWire_'
      discriminator:
        propertyName: payment_rail
        mapping:
          ach:
            $ref: '#/components/schemas/BlockchainPaymentCreditorAch_'
          wire:
            $ref: '#/components/schemas/BlockchainPaymentCreditorWire_'
          sepa:
            $ref: '#/components/schemas/BlockchainPaymentCreditorIban_'
          iban:
            $ref: '#/components/schemas/BlockchainPaymentCreditorIban_'
          spei:
            $ref: '#/components/schemas/BlockchainPaymentCreditorClabe_'
          clabe:
            $ref: '#/components/schemas/BlockchainPaymentCreditorClabe_'
          pix:
            $ref: '#/components/schemas/BlockchainPaymentCreditorPix_'
          pix_key:
            $ref: '#/components/schemas/BlockchainPaymentCreditorPix_'
          pix_br_code:
            $ref: '#/components/schemas/BlockchainPaymentCreditorPix_'
          faster_payments:
            $ref: '#/components/schemas/BlockchainPaymentCreditorFps_'
          fps:
            $ref: '#/components/schemas/BlockchainPaymentCreditorFps_'
          bre_b:
            $ref: '#/components/schemas/BlockchainPaymentCreditorBreB_'
          swift:
            $ref: '#/components/schemas/BlockchainPaymentCreditorSwift_'
          co_bank_transfer:
            $ref: '#/components/schemas/BlockchainPaymentCreditorCoBankTransfer_'
          solana:
            $ref: '#/components/schemas/BlockchainPaymentCreditorWallet_'
          base:
            $ref: '#/components/schemas/BlockchainPaymentCreditorWallet_'
          ethereum:
            $ref: '#/components/schemas/BlockchainPaymentCreditorWallet_'
          ach_wire:
            $ref: '#/components/schemas/BlockchainPaymentCreditorAchWire_'
    BlockchainPaymentCreditorAgent:
      type: object
      description: |
        Details of the receiving financial institution. Required when
        `creditor.payment_rail` is not a blockchain network (`solana`, `base`,
        `ethereum`). When `creditor.payment_rail` is `swift`, `address` is also
        required.
      required:
        - bank_name
        - country_code
      properties:
        bank_name:
          type: string
          description: Name of the receiving bank.
          example: Banco Nacional de Mexico
        country_code:
          type: string
          description: >
            ISO 3166-1 alpha-2 country code of the receiving bank. Must be a
            real,

            assigned country code (unassigned or grouping codes such as
            `EU`/`ZZ`

            are rejected — stricter than the `^[A-Z]{2}$` pattern). Sanctioned

            countries are not accepted.
          example: MX
          minLength: 2
          maxLength: 2
          pattern: ^[A-Z]{2}$
        address:
          $ref: '#/components/schemas/BlockchainPaymentAddress'
    BlockchainPaymentResponseAmounts:
      type: object
      description: The transfer amounts, currency codes, and settlement details.
      properties:
        instructed_amount:
          type: integer
          format: int64
          description: The transfer amount represented in cents.
          example: 100000
        instructed_currency_code:
          $ref: '#/components/schemas/BlockchainPaymentInstructedCurrencyCode'
        settlement_currency_code:
          $ref: '#/components/schemas/BlockchainPaymentSettlementCurrencyCode'
        settlement_amount:
          type: integer
          format: int64
          description: The settlement amount represented in cents.
          example: 100000
        settlement_exchange_rate:
          type: string
          description: The settlement exchange rate.
          example: '1.00'
    BlockchainPaymentPurpose:
      type: object
      description: The purpose of the transfer.
      required:
        - type
      properties:
        type:
          $ref: '#/components/schemas/BlockchainPaymentPurposeType'
        other_details:
          type: string
          description: Additional details when purpose type is 'other'.
          example: Monthly vendor payment
    InvalidParameterDetail:
      type: object
      properties:
        parameter:
          type: string
          description: Which parameter is invalid.
          example: transaction_type
        reason:
          type: string
          description: Why the parameter is invalid.
    BlockchainPaymentAccountIdentifier:
      type: object
      description: Identifies the debtor's account.
      required:
        - type
        - value
      properties:
        type:
          $ref: '#/components/schemas/BlockchainPaymentAccountIdentifierType'
        value:
          type: string
          description: The account identifier value.
          example: account_number_xyz123
    BlockchainPaymentChain:
      description: The blockchain network.
      type: string
      example: ethereum
      enum:
        - ethereum
        - solana
        - base
    BlockchainPaymentDebtorFundingInstructions:
      type: object
      description: >-
        Instructions for funding the transfer. Present only when the debtor's
        account_identifier type is wallet_address.
      required:
        - from_wallet_address
        - chain
        - amount
        - currency_code
        - to_wallet_address
      properties:
        from_wallet_address:
          type: string
          description: The wallet address to send funds from.
          example: '0xabc123def456'
        chain:
          type: string
          description: The blockchain network for the funding transaction.
          example: ethereum
        amount:
          type: string
          description: The amount to fund.
          example: '100.00'
        currency_code:
          type: string
          description: The currency code for the funding amount.
          example: USDC
        to_wallet_address:
          type: string
          description: The wallet address to send funds to.
          example: '0xdef456abc789'
    BlockchainPaymentCreditorAch_:
      x-go-name: BlockchainPaymentCreditorAchVariant
      allOf:
        - $ref: '#/components/schemas/BlockchainPaymentCreditorBase'
        - type: object
          required:
            - ach
          properties:
            payment_rail:
              type: string
              enum:
                - ach
    BlockchainPaymentCreditorWire_:
      x-go-name: BlockchainPaymentCreditorWireVariant
      allOf:
        - $ref: '#/components/schemas/BlockchainPaymentCreditorBase'
        - type: object
          required:
            - wire
          properties:
            payment_rail:
              type: string
              enum:
                - wire
    BlockchainPaymentCreditorIban_:
      x-go-name: BlockchainPaymentCreditorIbanVariant
      allOf:
        - $ref: '#/components/schemas/BlockchainPaymentCreditorBase'
        - type: object
          required:
            - iban
          properties:
            payment_rail:
              type: string
              enum:
                - sepa
                - iban
    BlockchainPaymentCreditorClabe_:
      x-go-name: BlockchainPaymentCreditorClabeVariant
      allOf:
        - $ref: '#/components/schemas/BlockchainPaymentCreditorBase'
        - type: object
          required:
            - clabe
          properties:
            payment_rail:
              type: string
              enum:
                - spei
                - clabe
    BlockchainPaymentCreditorPix_:
      x-go-name: BlockchainPaymentCreditorPixVariant
      allOf:
        - $ref: '#/components/schemas/BlockchainPaymentCreditorBase'
        - type: object
          description: Exactly one of `pix_key` or `pix_br_code` must be provided.
          oneOf:
            - required:
                - pix_key
            - required:
                - pix_br_code
          properties:
            payment_rail:
              type: string
              enum:
                - pix
                - pix_key
                - pix_br_code
    BlockchainPaymentCreditorFps_:
      x-go-name: BlockchainPaymentCreditorFpsVariant
      allOf:
        - $ref: '#/components/schemas/BlockchainPaymentCreditorBase'
        - type: object
          required:
            - fps
          properties:
            payment_rail:
              type: string
              enum:
                - faster_payments
                - fps
    BlockchainPaymentCreditorBreB_:
      x-go-name: BlockchainPaymentCreditorBreBVariant
      allOf:
        - $ref: '#/components/schemas/BlockchainPaymentCreditorBase'
        - type: object
          required:
            - bre_b
          properties:
            payment_rail:
              type: string
              enum:
                - bre_b
    BlockchainPaymentCreditorSwift_:
      x-go-name: BlockchainPaymentCreditorSwiftVariant
      allOf:
        - $ref: '#/components/schemas/BlockchainPaymentCreditorBase'
        - type: object
          required:
            - swift
          properties:
            payment_rail:
              type: string
              enum:
                - swift
    BlockchainPaymentCreditorCoBankTransfer_:
      x-go-name: BlockchainPaymentCreditorCoBankTransferVariant
      allOf:
        - $ref: '#/components/schemas/BlockchainPaymentCreditorBase'
        - type: object
          required:
            - co_bank_transfer
          properties:
            payment_rail:
              type: string
              enum:
                - co_bank_transfer
    BlockchainPaymentCreditorWallet_:
      x-go-name: BlockchainPaymentCreditorWalletVariant
      allOf:
        - $ref: '#/components/schemas/BlockchainPaymentCreditorBase'
        - type: object
          required:
            - wallet
          properties:
            payment_rail:
              type: string
              enum:
                - solana
                - base
                - ethereum
    BlockchainPaymentCreditorAchWire_:
      deprecated: true
      x-go-name: BlockchainPaymentCreditorAchWireVariant
      allOf:
        - $ref: '#/components/schemas/BlockchainPaymentCreditorBase'
        - type: object
          required:
            - ach_wire
          properties:
            payment_rail:
              type: string
              enum:
                - ach_wire
    BlockchainPaymentAddress:
      type: object
      description: A physical address.
      required:
        - line_one
        - city
        - country
      properties:
        line_one:
          type: string
          description: First line of the address.
          example: 123 Main St
        line_two:
          type: string
          description: Second line of the address (optional).
          example: Suite 100
        city:
          type: string
          description: City name.
          example: San Francisco
        country:
          type: string
          description: >
            ISO 3166-1 alpha-2 country code. On the creditor address, the IBAN
            and

            SWIFT country, and the creditor agent `country_code`, the value must
            be

            a real, assigned country code — unassigned or grouping codes such as

            `EU`/`ZZ` are rejected (stricter than the `^[A-Z]{2}$` pattern).

            Sanctioned countries are not accepted.
          example: US
          minLength: 2
          maxLength: 2
          pattern: ^[A-Z]{2}$
        state:
          type: string
          description: >-
            State or province. Required for US ach, wire, and swift addresses;
            optional otherwise.
          example: CA
        postal_code:
          type: string
          description: >-
            Postal or zip code. Required for ach, wire, and swift payments to
            countries that use postal codes; optional for other rails.
          example: '94105'
    BlockchainPaymentInstructedCurrencyCode:
      description: >
        The currency code for the instructed amount.


        The accepted value depends on the debtor's account-identifier type:

        an `account_number_id` (fiat) debtor must use `USD`; a `wallet_address`

        debtor must use `USDC` or `USDB`. `USDB` is additionally not available
        when

        the creditor or creditor agent is located in an EEA country.
      type: string
      example: USD
      enum:
        - USD
        - USDC
        - USDB
    BlockchainPaymentSettlementCurrencyCode:
      description: >
        The currency code for the settlement amount. The value must match the

        currency the `creditor.payment_rail` settles in, otherwise the payment
        is

        rejected at creation:


        | Rail | Settlement currency |

        | --- | --- |

        | `ach`, `wire`, `swift` | `USD` |

        | `sepa` | `EUR` |

        | `spei` | `MXN` |

        | `pix` | `BRL` |

        | `faster_payments` | `GBP` |

        | `bre_b`, `co_bank_transfer` | `COP` |
      type: string
      example: MXN
      enum:
        - BRL
        - COP
        - EUR
        - GBP
        - MXN
        - USD
        - USDC
        - USDB
    BlockchainPaymentPurposeType:
      description: The purpose of the transfer.
      type: string
      example: invoice_payment
      enum:
        - salary_payment
        - invoice_payment
        - gift
        - payment_for_goods
        - payment_for_services
        - insurance_premium_payment
        - interest_payment
        - loan
        - loan_repayment
        - account_management
        - cash_management_transfer
        - other
        - tax_payment
        - government_payment
        - benefits_payment
        - pension_payment
        - rent_payment
        - utilities_payment
        - education_payment
        - healthcare_payment
        - charitable_payment
        - refund
        - fee_payment
        - intercompany_transfer
        - investment_payment
        - fx_or_treasury
        - derivatives_payment
        - card_network_settlement
    BlockchainPaymentAccountIdentifierType:
      description: The type of account identifier used for the debtor.
      type: string
      example: account_number_id
      enum:
        - account_number_id
        - wallet_address
    BlockchainPaymentCreditorBase:
      type: object
      description: |
        Common creditor fields shared by every payment rail. This is the base of
        the rail-specific creditor variants; integrations reference
        `BlockchainPaymentCreditor`, which selects the correct variant from
        `payment_rail`.
      required:
        - payment_rail
        - type
        - address
      properties:
        payment_rail:
          $ref: '#/components/schemas/BlockchainPaymentPaymentRail'
        ach_wire:
          $ref: '#/components/schemas/BlockchainPaymentCreditorAchWire'
          deprecated: true
        ach:
          $ref: '#/components/schemas/BlockchainPaymentCreditorAch'
        wire:
          $ref: '#/components/schemas/BlockchainPaymentCreditorWire'
        bre_b:
          $ref: '#/components/schemas/BlockchainPaymentCreditorBreB'
        fps:
          $ref: '#/components/schemas/BlockchainPaymentCreditorFps'
        iban:
          $ref: '#/components/schemas/BlockchainPaymentCreditorIban'
        swift:
          $ref: '#/components/schemas/BlockchainPaymentCreditorSwift'
        clabe:
          $ref: '#/components/schemas/BlockchainPaymentCreditorClabe'
        pix_key:
          $ref: '#/components/schemas/BlockchainPaymentCreditorPixKey'
        pix_br_code:
          $ref: '#/components/schemas/BlockchainPaymentCreditorPixBrCode'
        co_bank_transfer:
          $ref: '#/components/schemas/BlockchainPaymentCreditorCoBankTransfer'
        wallet:
          $ref: '#/components/schemas/BlockchainPaymentCreditorWallet'
        type:
          $ref: '#/components/schemas/BlockchainPaymentCreditorType'
        individual:
          $ref: '#/components/schemas/BlockchainPaymentCreditorIndividual'
        business:
          $ref: '#/components/schemas/BlockchainPaymentCreditorBusiness'
        address:
          $ref: '#/components/schemas/BlockchainPaymentAddress'
    BlockchainPaymentPaymentRail:
      description: |
        The payment rail used for the creditor payout.
      type: string
      example: wire
      enum:
        - ach
        - wire
        - sepa
        - spei
        - pix
        - faster_payments
        - bre_b
        - swift
        - co_bank_transfer
        - solana
        - base
        - ethereum
        - ach_wire
        - iban
        - clabe
        - pix_key
        - pix_br_code
        - fps
    BlockchainPaymentCreditorAchWire:
      type: object
      deprecated: true
      description: 'Deprecated: use `ach` or `wire` instead. ACH/Wire payment details.'
      required:
        - account_number
        - routing_number
      properties:
        account_number:
          type: string
          minLength: 1
          maxLength: 17
          pattern: ^[0-9A-Za-z]+$
          description: The bank account number. 1–17 alphanumeric characters.
          example: '123456789'
        routing_number:
          type: string
          description: >
            The routing number. For US-address creditors it is checked against
            the

            FedACH directory when that directory is available; a well-formed but

            unknown routing number is rejected.
          example: '021000021'
    BlockchainPaymentCreditorAch:
      type: object
      description: ACH payment details.
      required:
        - account_number
        - routing_number
      properties:
        account_number:
          type: string
          minLength: 1
          maxLength: 17
          pattern: ^[0-9A-Za-z]+$
          description: The bank account number. 1–17 alphanumeric characters.
          example: '123456789'
        routing_number:
          type: string
          description: >
            The routing number. For US-address creditors it is checked against
            the

            FedACH directory when that directory is available; a well-formed but

            unknown routing number is rejected.
          example: '021000021'
    BlockchainPaymentCreditorWire:
      type: object
      description: Wire payment details.
      required:
        - account_number
        - routing_number
      properties:
        account_number:
          type: string
          minLength: 1
          maxLength: 17
          pattern: ^[0-9A-Za-z]+$
          description: The bank account number. 1–17 alphanumeric characters.
          example: '123456789'
        routing_number:
          type: string
          description: >
            The routing number. For US-address creditors it is checked against
            the

            FedACH directory when that directory is available; a well-formed but

            unknown routing number is rejected.
          example: '021000021'
    BlockchainPaymentCreditorBreB:
      type: object
      description: BRE-B payment details.
      required:
        - bre_b_key
      properties:
        bre_b_key:
          type: string
          description: The BRE-B key.
          example: '1234567890'
    BlockchainPaymentCreditorFps:
      type: object
      description: Faster Payments Service (FPS) payment details.
      required:
        - account_number
        - sort_code
      properties:
        account_number:
          type: string
          description: The bank account number.
          example: '12345678'
        sort_code:
          type: string
          description: The sort code.
          example: '123456'
    BlockchainPaymentCreditorIban:
      type: object
      description: IBAN payment details.
      required:
        - account_number
        - country
      properties:
        account_number:
          type: string
          description: >
            The IBAN account number. Validated for the country's IBAN length and

            the ISO 7064 MOD-97 check digits; a malformed or bad-checksum IBAN
            is

            rejected.
          example: DE89370400440532013000
        country:
          type: string
          description: >
            ISO 3166-1 alpha-2 country code. Must be a real, assigned country
            code

            (unassigned or grouping codes such as `EU`/`ZZ` are rejected —
            stricter

            than the `^[A-Z]{2}$` pattern). Sanctioned countries are not
            accepted.
          example: DE
          minLength: 2
          maxLength: 2
          pattern: ^[A-Z]{2}$
        business_identifier_code:
          type: string
          description: >
            The BIC/SWIFT code (optional). When provided, must be a valid ISO
            9362

            BIC (8 or 11 characters).
          example: COBADEFFXXX
    BlockchainPaymentCreditorSwift:
      type: object
      description: SWIFT payment details.
      required:
        - account_number
        - country
        - business_identifier_code
        - role
        - purpose_of_funds
        - short_business_desc
      properties:
        account_number:
          type: string
          description: The account number.
          example: '123456789'
        country:
          type: string
          description: >
            ISO 3166-1 alpha-2 country code. Must be a real, assigned country
            code

            (unassigned or grouping codes such as `EU`/`ZZ` are rejected —
            stricter

            than the `^[A-Z]{2}$` pattern). Sanctioned countries are not
            accepted.
          example: GB
          minLength: 2
          maxLength: 2
          pattern: ^[A-Z]{2}$
        business_identifier_code:
          type: string
          description: >-
            The BIC/SWIFT code. Must be a valid ISO 9362 BIC (8 or 11
            characters).
          example: BARCGB22XXX
        role:
          $ref: '#/components/schemas/BlockchainPaymentSwiftRole'
        purpose_of_funds:
          $ref: '#/components/schemas/BlockchainPaymentSwiftPurposeOfFunds'
        short_business_desc:
          type: string
          description: A short description of the business.
          example: Software development services
    BlockchainPaymentCreditorClabe:
      type: object
      description: CLABE payment details.
      required:
        - account_number
      properties:
        account_number:
          type: string
          description: |
            The CLABE account number (18 digits). Validated for length and the
            Banco de México control-digit checksum; a bad-checksum CLABE is
            rejected.
          example: '032180000118359719'
    BlockchainPaymentCreditorPixKey:
      type: object
      description: PIX key payment details.
      required:
        - pix_key
      properties:
        pix_key:
          type: string
          description: >-
            PIX key. For CPF (11 digits) and CNPJ (14 digits), send digits only
            — strip periods and hyphens (e.g. "12345678909", not
            "123.456.789-09"). Phone keys use E.164 (+55, a 2-digit area code,
            then an 8- or 9-digit number), email keys are plain addresses,
            EVP/random keys are lowercase UUID v4. CPF and CNPJ keys are
            validated for their check digits; a bad-checksum document is
            rejected.
          example: '12345678909'
        document_number:
          type: string
          nullable: true
          description: >-
            Optional payer/payee tax document (CPF or CNPJ), digits only.
            Forwarded to the PIX network; not validated by this API.
          example: '12345678901'
    BlockchainPaymentCreditorPixBrCode:
      type: object
      description: PIX BR Code payment details.
      required:
        - br_code
      properties:
        br_code:
          type: string
          description: >-
            PIX BR Code (EMV QR Code payload). Must be a dynamic code — static
            codes (Point of Initiation Method = 11) are rejected. The payload's
            CRC-16 checksum is validated; a bad-checksum code is rejected.
          example: 00020126580014br.gov.bcb.pix...
        document_number:
          type: string
          nullable: true
          description: >-
            Optional payer/payee tax document (CPF or CNPJ), digits only.
            Forwarded to the PIX network; not validated by this API.
          example: '12345678901'
    BlockchainPaymentCreditorCoBankTransfer:
      type: object
      description: |
        Colombian COP bank-transfer payment details. For this rail the creditor
        address country and the creditor agent `country_code` must both be `CO`.
      required:
        - account_number
        - bank_code
        - account_type
        - document_type
        - document_number
        - phone_number
      properties:
        account_number:
          type: string
          description: The bank account number.
          example: '1234567890'
        bank_code:
          type: string
          description: The receiving bank code (Colombian financial-institution code).
          example: '1007'
          enum:
            - '1001'
            - '1002'
            - '1006'
            - '1007'
            - '1009'
            - '1012'
            - '1013'
            - '1019'
            - '1023'
            - '1032'
            - '1040'
            - '1047'
            - '1051'
            - '1052'
            - '1053'
            - '1059'
            - '1060'
            - '1061'
            - '1062'
            - '1063'
            - '1065'
            - '1066'
            - '1067'
            - '1069'
            - '1070'
            - '1071'
            - '1097'
            - '1121'
            - '1283'
            - '1286'
            - '1289'
            - '1292'
            - '1303'
            - '1370'
            - '1507'
            - '1551'
            - '1558'
            - '1637'
            - '1801'
            - '1802'
            - '1803'
            - '1804'
            - '1805'
            - '1808'
            - '1809'
            - '1811'
            - '1812'
            - '1814'
            - '1815'
            - '1816'
        account_type:
          type: string
          description: The type of bank account.
          example: savings
          enum:
            - savings
            - checking
            - electronic_deposit
        document_type:
          type: string
          description: The recipient's identification document type.
          example: cc
          enum:
            - cc
            - ce
            - nit
            - rut
            - pa
            - ppt
            - ti
            - rc
            - te
            - die
            - nd
        document_number:
          type: string
          description: The recipient's identification document number.
          example: '12345678901'
        phone_number:
          type: string
          description: The recipient's phone number in E.164 format.
          example: '+573001234567'
          pattern: ^\+[1-9]\d{1,14}$
    BlockchainPaymentCreditorWallet:
      type: object
      description: Blockchain wallet payment details.
      required:
        - wallet_address
      properties:
        wallet_address:
          type: string
          description: The destination wallet address.
          example: '0xdef456abc789'
    BlockchainPaymentCreditorType:
      description: Whether the creditor is an individual or a business.
      type: string
      example: individual
      enum:
        - individual
        - business
    BlockchainPaymentCreditorIndividual:
      type: object
      description: Individual creditor details.
      required:
        - first_name
        - last_name
      properties:
        first_name:
          type: string
          description: >
            First name of the individual. On payment rails where the receiving

            account is validated (currently `pix` and `spei`), the creditor's

            first and last name together must closely match the legal name

            registered on the receiving account (an approximate match). If the

            names do not match, the payment is rejected with

            `rejection_reason: "name in request and name on account do not
            match"`.

            On other rails the creditor name is not matched against the account.
          example: Maria
        last_name:
          type: string
          description: |
            Last name of the individual. See `first_name` for the name-matching
            requirement that applies on account-validated rails (`pix`, `spei`).
          example: Garcia
    BlockchainPaymentCreditorBusiness:
      type: object
      description: Business creditor details.
      required:
        - business_name
      properties:
        business_name:
          type: string
          description: >
            Name of the business. On payment rails where the receiving account
            is

            validated (currently `pix` and `spei`), the business name must
            closely

            match the legal name or DBA registered on the receiving account (an

            approximate match). If the names do not match, the payment is
            rejected

            with `rejection_reason: "name in request and name on account do not
            match"`.

            On other rails the creditor name is not matched against the account.
          example: Acme International LLC
    BlockchainPaymentSwiftRole:
      description: The role of the creditor in a SWIFT transfer.
      type: string
      example: client
      enum:
        - client
        - parent_company
        - subsidiary
        - supplier
    BlockchainPaymentSwiftPurposeOfFunds:
      description: The purpose of funds for a SWIFT transfer.
      type: string
      example: invoice_for_goods_and_services
      enum:
        - intra_group_transfer
        - invoice_for_goods_and_services
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````