> ## Documentation Index
> Fetch the complete documentation index at: https://dev.enterprise.moonpay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Attach a quote to an existing autoramp

> Attaches a signed rate quote to an existing quote-type autoramp.



## OpenAPI

````yaml https://api.sandbox.iron.xyz/spec/2026-08-01/docs post /autoramps/{autoramp_id}/quotes
openapi: 3.2.0
info:
  description: The Stablecoin Payment Network
  title: Iron API - Sandbox
  version: '2026-08-01'
servers:
  - url: https://api.sandbox.iron.xyz/api
security: []
tags:
  - description: Operations on Customers
    kind: nav
    name: Customer
  - description: Verifying a customer's identity or business
    kind: nav
    name: Identifications
    parent: Customer
  - description: The legal agreements and consents a customer signs
    kind: nav
    name: Signings
    parent: Customer
  - description: Compliance requests for documents or answers from a customer
    kind: nav
    name: Requests for information
    parent: Customer
  - description: Codes that authorize an autoramp or bank account awaiting authorization
    kind: nav
    name: Authentication codes
    parent: Customer
  - description: >-
      Wallet and bank account registration


      Every wallet address that interacts with Iron must be registered (linked)
      to a customer **before** it can be used in any flow — onramp, offramp, or
      swap. This is a regulatory requirement under the **Travel Rule**, which
      obliges Virtual Asset Service Providers to exchange originator and
      beneficiary information for crypto transfers.


      Iron supports two wallet types:


      - **Self-hosted wallets** — the customer controls the private key.
      Registration requires a signed proof-of-ownership message.

      - **Hosted wallets** — the wallet is custodied by another VASP (e.g.
      Coinbase, Kraken). Registration requires the VASP's DID so Iron can
      exchange travel-rule data with the custodian.


      Similarly, fiat bank accounts must be registered before they can receive
      offramp payouts.
    kind: nav
    name: Addresses
  - description: Bank accounts that receive offramp payouts
    kind: nav
    name: Bank accounts
    parent: Addresses
  - description: Self-hosted and hosted wallets
    kind: nav
    name: Wallets
    parent: Addresses
  - description: Pix keys that receive BRL payouts
    kind: nav
    name: Pix
    parent: Addresses
  - description: Operations on Autoramp
    kind: nav
    name: Autoramp
  - description: Prices for an autoramp's conversion
    kind: nav
    name: Quotes
    parent: Autoramp
  - description: Paying into an autoramp by open banking or Pix
    kind: nav
    name: Payments
    parent: Autoramp
  - description: The transactions autoramps execute
    kind: nav
    name: Transactions
    parent: Autoramp
  - description: Operations on Currencies
    kind: nav
    name: Currencies
  - description: Operations on Exchange Rate
    kind: nav
    name: ExchangeRate
  - description: Operations on Fee Profiles
    kind: nav
    name: FeeProfiles
  - description: Operations on Webhooks
    kind: nav
    name: Webhooks
  - description: Operations on Terms and Conditions
    kind: nav
    name: TermsAndConditions
  - description: Operations for Sandbox Testing
    kind: nav
    name: Sandbox
paths:
  /autoramps/{autoramp_id}/quotes:
    post:
      tags:
        - Quotes
      summary: Attach a quote to an existing autoramp
      description: Attaches a signed rate quote to an existing quote-type autoramp.
      operationId: attachQuoteToAutoramp
      parameters:
        - deprecated: false
          description: a UUID ensuring the operation is only processed once
          explode: true
          in: header
          name: IDEMPOTENCY-KEY
          required: true
          schema:
            type: string
        - deprecated: false
          explode: true
          in: path
          name: autoramp_id
          required: true
          schema:
            format: uuid
            type: string
        - $ref: '#/components/parameters/XApiVersion'
      requestBody:
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/SignedAutorampRateQuote'
        required: true
      responses:
        '201':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Autoramp'
          description: Attach quote successful
        '400':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Bad Request
        '401':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Unauthorized
        '403':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Forbidden (e.g. customer is suspended)
        '404':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Not Found
        '409':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Conflict (e.g. quote already attached)
        '500':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Error
      security:
        - ApiKeyAuth: []
components:
  parameters:
    XApiVersion:
      description: >-
        Selects the API version for this request, as an ISO date (`YYYY-MM-DD`).
        Omit to use the default version (`2025-03-13`). Supported versions:
        2025-03-13, 2026-07-01, 2026-08-01, 2026-10-01, 2026-10-15.
      in: header
      name: X-API-Version
      required: false
      schema:
        type: string
        x-default: '2026-08-01'
  schemas:
    SignedAutorampRateQuote:
      description: >-
        Signed rate quote for an existing autoramp.


        Contains only pricing fields — the autoramp's currencies, recipient,
        etc. are already known.


        Deposits are matched to the newest active quote whose `amount_in` value
        and

        currency equal the deposit. Attaching a quote that overlaps an existing
        one

        on those fields supersedes it for new deposits; all of the newer quote's

        terms apply (rate lock, expiry policy, slippage tolerance, fees).
      properties:
        amount_in:
          $ref: '#/components/schemas/Amount'
        amount_out:
          $ref: '#/components/schemas/Amount'
        autoramp_id:
          description: The autoramp this quote is for
          format: uuid
          type: string
        customer_fees:
          $ref: '#/components/schemas/QuoteCustomerFees'
        destination_currency:
          $ref: '#/components/schemas/Currency'
        fee:
          $ref: '#/components/schemas/Fee'
        fee_profile:
          $ref: '#/components/schemas/FeeProfileRef'
        fee_profile_id:
          description: >-
            The id of the fee profile this quote was priced against. Unlike
            `fee_profile`,

            this is part of the signed contract (see
            `SignedAutorampRateQuoteSignable`) —

            `attach_quote_to_autoramp` persists this one as the quote's
            `fee_profile_id`,

            not `fee_profile.id`, so a partner can't repoint the record at an
            arbitrary

            fee profile by editing the unsigned `fee_profile` field before
            re-POSTing.
          format: uuid
          type: string
        fee_settlement:
          $ref: '#/components/schemas/FeeSettlement'
        invoiced_fees:
          $ref: '#/components/schemas/QuoteInvoicedFees'
        iron_fee_config_id:
          description: >-
            The id of the iron fee config this quote was priced against,
            resolved from

            the quote's own `source_currency` at the time this quote was issued.
            Part of

            the signed contract (see `SignedAutorampRateQuoteSignable`) so a
            partner can't

            repoint it at a cheaper config by editing the response before
            re-POSTing.

            Repricing on rate-lock expiry uses this id rather than re-resolving
            by rule.

            `None` for a quote issued before this field existed: such a quote
            verifies

            against `SignedAutorampRateQuoteSignableLegacy` instead, which never
            commits

            to this field, so repricing falls back to the autoramp's own frozen
            config

            (see `resolve_iron_fee_config_for_autoramp`) rather than trusting
            any value

            sent back for it.
          format: uuid
          type: string
        payment_reference:
          description: >-
            An optional payout reference used when paying out transactions
            matched to

            this quote. Overrides the autoramp's payment reference.
          maxLength: 140
          minLength: 1
          pattern: ^[A-Za-z0-9 /\-?:().+]*$
          type: string
        quote_id:
          description: The id of the quote
          format: uuid
          type: string
        rate:
          description: The rate
          format: decimal
          type: string
        rate_expiry_policy:
          $ref: '#/components/schemas/RateExpiryPolicy'
        rate_lock_valid_until:
          description: The rate lock valid until
          format: date-time
          type: string
        signature:
          description: The signature
          type: string
        slippage_tolerance_in_bips:
          description: The slippage tolerance in bips
          format: decimal
          type: string
        source_currency:
          $ref: '#/components/schemas/Currency'
        valid_until:
          description: The valid until
          format: date-time
          type: string
      required:
        - quote_id
        - autoramp_id
        - source_currency
        - destination_currency
        - amount_in
        - amount_out
        - rate
        - rate_lock_valid_until
        - rate_expiry_policy
        - fee
        - fee_settlement
        - valid_until
        - signature
      title: SignedAutorampRateQuote
      type: object
    Autoramp:
      description: |-
        Autoramp

        The autoramp response

        A Autoramp response
      properties:
        additional_partner_fee_in_bips:
          description: The additional partner fee in bips
          format: decimal
          type: string
        batch_payout:
          description: Whether payouts for this autoramp are batched daily
          type: boolean
        created_at:
          description: The created at timestamp
          format: date-time
          type: string
        customer_fees:
          $ref: '#/components/schemas/AutorampCustomerFees'
        customer_id:
          description: The id of the customer that owns the autoramp
          format: uuid
          type: string
        deposit_account:
          allOf:
            - $ref: '#/components/schemas/DepositAccount'
            - deprecated: true
              description: >-
                Deprecated, please use the information in the deposit_rails
                field instead
          deprecated: true
          description: >-
            Deprecated, please use the information in the deposit_rails field
            instead
        deposit_rails:
          items:
            $ref: '#/components/schemas/DepositRail'
          type: array
        destination_currency:
          $ref: '#/components/schemas/Currency'
        external_id:
          description: External ID for the autoramp, provided by the partner
          type: string
        fee_profile:
          $ref: '#/components/schemas/FeeProfileRef'
        fee_profile_id:
          deprecated: true
          description: >-
            The fee profile id used for the autoramp. Deprecated: duplicates
            `fee_profile.id`.

            Use `fee_profile` instead. Will be removed in the future.
          format: uuid
          type: string
        fps_payment_reference:
          description: reference message for outgoing FPS transfers
          type: string
        id:
          description: The id of the autoramp
          format: uuid
          type: string
        inbound_payment_reference:
          description: >-
            System-generated inbound memo that senders must include on transfers

            to the shared VA. `None` for autoramps that don't use
            pay-by-reference.
          type: string
        invoiced_fees:
          $ref: '#/components/schemas/AutorampInvoicedFees'
        is_third_party:
          description: >-
            Whether this autoramp accepts third-party payments (3pp), which

            determines how its deposits are routed and screened. Set from

            `source_is_third_party` at creation and fixed for the life of the

            autoramp. It can also be enabled automatically for some currencies

            depending on which rail the customer is eligible for, so `true` does
            not

            mean any particular deposit came from a third party. For that, read

            `third_party_classification` on the transaction.
          type: boolean
        kind:
          $ref: '#/components/schemas/AutorampType'
        name:
          description: The name of the autoramp
          type: string
        payment_reference:
          description: The payment reference for the autoramp
          type: string
        quote:
          allOf:
            - $ref: '#/components/schemas/AutorampQuote'
            - deprecated: true
              description: >-
                Deprecated: use the `quotes` field instead. Returns the newest
                active (non-expired) quote if any.
          deprecated: true
          description: >-
            Deprecated: use the `quotes` field instead. Returns the newest
            active (non-expired) quote if any.
        quotes:
          description: >-
            Active (non-expired) quotes associated with this autoramp. Deposits
            are

            matched to the newest active quote with matching `amount_in` value
            and

            currency.
          items:
            $ref: '#/components/schemas/AutorampQuote'
          type: array
        recipient:
          $ref: '#/components/schemas/Recipient'
        sepa_payment_reference:
          description: reference message for outgoing SEPA transfers
          type: string
        source:
          $ref: '#/components/schemas/AutorampSource'
        source_currencies:
          description: The source currencies
          items:
            $ref: '#/components/schemas/Currency'
          type: array
        status:
          $ref: '#/components/schemas/AutorampStatus'
        swift_payment_reference:
          description: reference message for outgoing SWIFT transfers
          type: string
        swift_purpose_code:
          description: destination purpose code for outgoing SWIFT transfers
          type: string
        travel_address:
          description: The travel rule address for compliance
          type: string
        wire_message:
          description: reference message for outgoing wire transfers
          type: string
      required:
        - id
        - customer_id
        - status
        - kind
        - created_at
        - source_currencies
        - destination_currency
        - source
        - quotes
        - is_third_party
        - recipient
        - deposit_rails
        - fee_profile_id
        - batch_payout
      title: Autoramp
      type: object
    ApiError:
      description: |-
        Standard error response returned to API clients for server errors.
        Includes a trace_id that clients can reference when reporting issues.
      properties:
        message:
          description: Human-readable error message
          type: string
        trace_id:
          description: Trace ID that can be used to look up request details in logs
          type: string
      required:
        - message
        - trace_id
      title: ApiError
      type: object
    Amount:
      description: |
        An amount of money
      example:
        amount: '100.5'
        currency:
          code: USD
          type: Fiat
      properties:
        amount:
          description: The amount, a decimal number
          format: decimal
          type: string
        currency:
          $ref: '#/components/schemas/Currency'
      required:
        - amount
        - currency
      title: Amount
      type: object
    QuoteCustomerFees:
      description: What the customer actually pays on this quote/transaction, right now.
      properties:
        banking_fee:
          $ref: '#/components/schemas/RailFeeAmount'
        network_fee:
          $ref: '#/components/schemas/Amount'
        total:
          $ref: '#/components/schemas/Amount'
        transaction_fee:
          $ref: '#/components/schemas/Amount'
      required:
        - transaction_fee
        - banking_fee
        - network_fee
        - total
      title: QuoteCustomerFees
      type: object
    Currency:
      anyOf:
        - $ref: '#/components/schemas/Currency_Crypto'
        - $ref: '#/components/schemas/Currency_Fiat'
      description: |
        Currency

        Can be either crypto or fiat
      discriminator:
        mapping:
          Crypto: '#/components/schemas/Currency_Crypto'
          Fiat: '#/components/schemas/Currency_Fiat'
        propertyName: type
      type: object
    Fee:
      description: |
        Fee

        The fee for a given currency pair
      properties:
        banking_fee:
          $ref: '#/components/schemas/Amount'
        banking_fee_network:
          $ref: '#/components/schemas/PaymentNetwork'
        deducted_fee:
          allOf:
            - $ref: '#/components/schemas/Amount'
            - deprecated: true
              description: >-
                The amount of the fee that was deducted immediately and charged
                to the end customer. This is deprecated and will be removed in
                the future. Use transaction_fee instead.
          deprecated: true
          description: >-
            The amount of the fee that was deducted immediately and charged to
            the end customer. This is deprecated and will be removed in the
            future. Use transaction_fee instead.
        iron_fee:
          $ref: '#/components/schemas/Amount'
        iron_fee_settlement:
          $ref: '#/components/schemas/FeeSettlement'
        network_fee:
          $ref: '#/components/schemas/Amount'
        network_fees:
          deprecated: true
          description: The network fees in source currency
          items:
            $ref: '#/components/schemas/NetworkFee'
          type: array
        network_fees_with_settlement:
          description: The network fees with settlement
          items:
            $ref: '#/components/schemas/NetworkFeeWithSettlement'
          type: array
        partner_fee:
          $ref: '#/components/schemas/Amount'
        partner_fees:
          description: The partner fees
          items:
            $ref: '#/components/schemas/PartnerFee'
          type: array
        total_fee:
          allOf:
            - $ref: '#/components/schemas/Amount'
            - deprecated: true
              description: >-
                The total fee, including fees not deducted from the customer
                (invoiced to the

                partner separately). Deprecated: silently mixes deducted and
                invoiced amounts —

                use `customer_fees`/`invoiced_fees` on the
                quote/transaction/autoramp response

                instead. Will be removed in the future.
          deprecated: true
          description: >-
            The total fee, including fees not deducted from the customer
            (invoiced to the

            partner separately). Deprecated: silently mixes deducted and
            invoiced amounts —

            use `customer_fees`/`invoiced_fees` on the
            quote/transaction/autoramp response

            instead. Will be removed in the future.
        transaction_fee:
          $ref: '#/components/schemas/Amount'
      required:
        - total_fee
        - iron_fee
        - partner_fee
        - network_fees
        - network_fees_with_settlement
        - partner_fees
        - transaction_fee
        - banking_fee
        - network_fee
      title: Fee
      type: object
    FeeProfileRef:
      description: >-
        A reference to the fee profile used to price a quote, autoramp, or
        transaction.
      properties:
        id:
          description: The fee profile's id
          format: uuid
          type: string
        name:
          description: The fee profile's name
          type: string
      required:
        - id
        - name
      title: FeeProfileRef
      type: object
    FeeSettlement:
      description: |
        Fee Settlement

        The settlement type for the fee
      enum:
        - deductedImmediately
        - settledLater
      type: string
    QuoteInvoicedFees:
      description: >-
        What Iron will invoice the partner separately for this
        quote/transaction.
      properties:
        banking_fee:
          $ref: '#/components/schemas/RailFeeAmount'
        network_fee:
          $ref: '#/components/schemas/Amount'
        platform_fee:
          $ref: '#/components/schemas/Amount'
        total:
          $ref: '#/components/schemas/Amount'
      required:
        - platform_fee
        - banking_fee
        - network_fee
        - total
      title: QuoteInvoicedFees
      type: object
    RateExpiryPolicy:
      description: |
        Rate Expiry Policy

        The policy for the rate expiry
      enum:
        - Return
        - Slippage
      type: string
    AutorampCustomerFees:
      description: >-
        The rates a customer will be charged on an autoramp, before any
        transaction exists.
      properties:
        banking_fees:
          description: >-
            One entry per applicable rail (deposit rails for onramp, the payout
            rail for

            offramp), zero when that rail has no deducted banking fee configured
          items:
            $ref: '#/components/schemas/RailFeeRate'
          type: array
        min_fee:
          $ref: '#/components/schemas/Amount'
        network_fee:
          $ref: '#/components/schemas/NetworkFeeAvailability'
        transaction_fee_bips:
          description: The transaction fee rate, in bips, charged to the customer
          format: decimal
          type: string
      required:
        - transaction_fee_bips
        - banking_fees
        - network_fee
        - min_fee
      title: AutorampCustomerFees
      type: object
    DepositAccount:
      anyOf:
        - $ref: '#/components/schemas/DepositAccount_IbanDepositInfo'
        - $ref: '#/components/schemas/DepositAccount_AchWireDepositInfo'
        - $ref: '#/components/schemas/DepositAccount_AfricanBankTransferDepositInfo'
        - $ref: '#/components/schemas/DepositAccount_PixDepositInfo'
        - $ref: '#/components/schemas/DepositAccount_SpeiDepositInfo'
        - $ref: '#/components/schemas/DepositAccount_CvuDepositInfo'
        - $ref: '#/components/schemas/DepositAccount_MobileMoneyDepositInfo'
        - $ref: '#/components/schemas/DepositAccount_CryptoWallet'
        - $ref: '#/components/schemas/DepositAccount_ChapsFpsDepositInfo'
      description: |
        DepositAccount

        DEPRECATED: please use the deposit_rails field instead
      discriminator:
        mapping:
          ACHWire: '#/components/schemas/DepositAccount_AchWireDepositInfo'
          AfricanBankTransfer: '#/components/schemas/DepositAccount_AfricanBankTransferDepositInfo'
          CHAPSFPS: '#/components/schemas/DepositAccount_ChapsFpsDepositInfo'
          Crypto: '#/components/schemas/DepositAccount_CryptoWallet'
          Cvu: '#/components/schemas/DepositAccount_CvuDepositInfo'
          MobileMoney: '#/components/schemas/DepositAccount_MobileMoneyDepositInfo'
          Pix: '#/components/schemas/DepositAccount_PixDepositInfo'
          SEPA: '#/components/schemas/DepositAccount_IbanDepositInfo'
          Spei: '#/components/schemas/DepositAccount_SpeiDepositInfo'
        propertyName: type
      type: object
    DepositRail:
      anyOf:
        - $ref: '#/components/schemas/DepositRail_IbanDepositInfo'
        - $ref: '#/components/schemas/DepositRail_AfricanBankTransferDepositInfo'
        - $ref: '#/components/schemas/DepositRail_PixDepositInfo'
        - $ref: '#/components/schemas/DepositRail_SpeiDepositInfo'
        - $ref: '#/components/schemas/DepositRail_CvuDepositInfo'
        - $ref: '#/components/schemas/DepositRail_MobileMoneyDepositInfo'
        - $ref: '#/components/schemas/DepositRail_CryptoWallet'
        - $ref: '#/components/schemas/DepositRail_FpsDepositInfo'
        - $ref: '#/components/schemas/DepositRail_ChapsDepositInfo'
        - $ref: '#/components/schemas/DepositRail_ACHDepositInfo'
        - $ref: '#/components/schemas/DepositRail_WireDepositInfo'
        - $ref: '#/components/schemas/DepositRail_RtpDepositInfo'
        - $ref: '#/components/schemas/DepositRail_FedNowDepositInfo'
        - $ref: '#/components/schemas/DepositRail_SwiftDepositInfo'
      discriminator:
        mapping:
          ACH: '#/components/schemas/DepositRail_ACHDepositInfo'
          AfricanBankTransfer: '#/components/schemas/DepositRail_AfricanBankTransferDepositInfo'
          CHAPS: '#/components/schemas/DepositRail_ChapsDepositInfo'
          Crypto: '#/components/schemas/DepositRail_CryptoWallet'
          Cvu: '#/components/schemas/DepositRail_CvuDepositInfo'
          FPS: '#/components/schemas/DepositRail_FpsDepositInfo'
          FedNow: '#/components/schemas/DepositRail_FedNowDepositInfo'
          MobileMoney: '#/components/schemas/DepositRail_MobileMoneyDepositInfo'
          Pix: '#/components/schemas/DepositRail_PixDepositInfo'
          RTP: '#/components/schemas/DepositRail_RtpDepositInfo'
          SEPA: '#/components/schemas/DepositRail_IbanDepositInfo'
          SWIFT: '#/components/schemas/DepositRail_SwiftDepositInfo'
          Spei: '#/components/schemas/DepositRail_SpeiDepositInfo'
          Wire: '#/components/schemas/DepositRail_WireDepositInfo'
        propertyName: type
      type: object
    AutorampInvoicedFees:
      description: >-
        The fees Iron will invoice the partner separately for an autoramp,
        before any

        transaction exists.
      properties:
        banking_fees:
          description: >-
            One entry per applicable rail, zero when that rail has no invoiced
            banking fee

            configured
          items:
            $ref: '#/components/schemas/RailFeeRate'
          type: array
        network_fee:
          $ref: '#/components/schemas/NetworkFeeAvailability'
        platform_fees:
          description: >-
            The platform fee rate for each of the autoramp's supported input
            currencies,

            paired with its (fixed) output currency. One entry per input
            currency, listed

            individually even when several resolve to the same rate — each is

            independently resolved and can genuinely differ (see
            `select_iron_fee_config`).
          items:
            $ref: '#/components/schemas/AutorampPlatformFeeRate'
          type: array
      required:
        - platform_fees
        - banking_fees
        - network_fee
      title: AutorampInvoicedFees
      type: object
    AutorampType:
      description: |-
        Autoramp type

        The type (onramp, offramp, swap) of an autoramp
      enum:
        - Onramp
        - Offramp
        - Swap
        - Mint
        - Redeem
      type: string
    AutorampQuote:
      description: |
        Autoramp Quote

        The autoramp quote used to create an autoramp
      properties:
        amount_in:
          $ref: '#/components/schemas/Amount'
        amount_out:
          $ref: '#/components/schemas/Amount'
        customer_fees:
          $ref: '#/components/schemas/QuoteCustomerFees'
        fee:
          $ref: '#/components/schemas/Fee'
        fee_profile_id:
          description: >-
            The fee profile this quote was priced against. `None` for quotes
            created

            before this field was added.
          format: uuid
          type: string
        fee_settlement:
          $ref: '#/components/schemas/FeeSettlement'
        invoiced_fees:
          $ref: '#/components/schemas/QuoteInvoicedFees'
        partner_fee_settlement:
          allOf:
            - $ref: '#/components/schemas/FeeSettlement'
            - deprecated: true
              description: >-
                The partner fee settlement. Deprecated: despite the name, this
                is a copy of the

                platform/iron fee's settlement, not anything
                partner-fee-specific. Will be

                removed in the future.
          deprecated: true
          description: >-
            The partner fee settlement. Deprecated: despite the name, this is a
            copy of the

            platform/iron fee's settlement, not anything partner-fee-specific.
            Will be

            removed in the future.
        quote_id:
          description: The id of the quote
          format: uuid
          type: string
        rate:
          description: The rate
          format: decimal
          type: string
        rate_expiry_policy:
          $ref: '#/components/schemas/RateExpiryPolicy'
        rate_lock_valid_until:
          description: The rate lock valid until
          format: date-time
          type: string
        slippage_tolerance_in_bips:
          description: The slippage tolerance in bips
          format: decimal
          type: string
        valid_until:
          description: The valid until
          format: date-time
          type: string
      required:
        - quote_id
        - amount_in
        - amount_out
        - rate
        - rate_lock_valid_until
        - rate_expiry_policy
        - fee
        - fee_settlement
        - partner_fee_settlement
        - customer_fees
        - invoiced_fees
        - valid_until
      title: AutorampQuote
      type: object
    Recipient:
      anyOf:
        - $ref: '#/components/schemas/Recipient_RecipientBankAccount'
        - $ref: '#/components/schemas/Recipient_RecipientWallet'
        - $ref: '#/components/schemas/Recipient_RecipientPix'
      description: |
        Recipient

        The recipient of the payment
      discriminator:
        mapping:
          BankAccount: '#/components/schemas/Recipient_RecipientBankAccount'
          Pix: '#/components/schemas/Recipient_RecipientPix'
          Wallet: '#/components/schemas/Recipient_RecipientWallet'
        propertyName: type
      type: object
    AutorampSource:
      description: |-
        Autoramp Source

        The source of the autoramp
      enum:
        - Standalone
        - Quote
      type: string
    AutorampStatus:
      enum:
        - Created
        - EditPending
        - Authorized
        - DepositAccountAdded
        - Approved
        - Rejected
        - Cancelled
      type: string
    RailFeeAmount:
      description: >-
        A banking fee actually assessed on a quote or transaction. `rail` is
        absent when the

        trade has no banking leg at all (e.g. crypto-to-crypto).
      properties:
        amount:
          $ref: '#/components/schemas/Amount'
        rail:
          $ref: '#/components/schemas/PaymentNetwork'
      required:
        - amount
      title: RailFeeAmount
      type: object
    Currency_Crypto:
      allOf:
        - properties:
            type:
              enum:
                - Crypto
              example: Crypto
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/Crypto'
      description: |
        Currency

        Can be either crypto or fiat
    Currency_Fiat:
      allOf:
        - properties:
            type:
              enum:
                - Fiat
              example: Fiat
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/Fiat'
      description: |
        Currency

        Can be either crypto or fiat
    PaymentNetwork:
      description: |
        PaymentNetwork

        A payment network
      enum:
        - Sepa
        - Swift
        - Fps
        - Chats
        - Ach
        - Wire
        - Rtp
        - Fednow
        - Pix
        - Spei
        - CbuCvu
        - AfricanBankTransfer
        - MobileMoney
        - Chaps
      type: string
    NetworkFee:
      anyOf:
        - $ref: '#/components/schemas/NetworkFee_Amount'
        - $ref: '#/components/schemas/NetworkFee_Amount'
        - $ref: '#/components/schemas/NetworkFee_Amount'
        - $ref: '#/components/schemas/NetworkFee_Amount'
        - $ref: '#/components/schemas/NetworkFee_Amount'
        - $ref: '#/components/schemas/NetworkFee_Amount'
        - $ref: '#/components/schemas/NetworkFee_Amount'
        - $ref: '#/components/schemas/NetworkFee_Amount'
        - $ref: '#/components/schemas/NetworkFee_Amount'
        - $ref: '#/components/schemas/NetworkFee_Amount'
        - $ref: '#/components/schemas/NetworkFee_Amount'
        - $ref: '#/components/schemas/NetworkFee_Amount'
        - $ref: '#/components/schemas/NetworkFee_Amount'
      description: >
        Network Fee


        The network fee for a given currency. This is deprecated and will be
        removed in the future. Use NetworkFeeWithSettlement instead.
      discriminator:
        mapping:
          AchIn: '#/components/schemas/NetworkFee_Amount'
          AchOut: '#/components/schemas/NetworkFee_Amount'
          CitreaGas: '#/components/schemas/NetworkFee_Amount'
          EthereumGas: '#/components/schemas/NetworkFee_Amount'
          RailFee: '#/components/schemas/NetworkFee_Amount'
          SepaIn: '#/components/schemas/NetworkFee_Amount'
          SepaOut: '#/components/schemas/NetworkFee_Amount'
          SolanaTransactionFee: '#/components/schemas/NetworkFee_Amount'
          StellarTransactionFee: '#/components/schemas/NetworkFee_Amount'
          SwiftIn: '#/components/schemas/NetworkFee_Amount'
          SwiftOut: '#/components/schemas/NetworkFee_Amount'
          WireIn: '#/components/schemas/NetworkFee_Amount'
          WireOut: '#/components/schemas/NetworkFee_Amount'
        propertyName: type
      type: object
    NetworkFeeWithSettlement:
      description: |
        Network Fee with Settlement

        The network fee with settlement for a given currency
      properties:
        fee_amount:
          $ref: '#/components/schemas/Amount'
        fee_type:
          $ref: '#/components/schemas/NetworkFeeType'
        settlement:
          $ref: '#/components/schemas/FeeSettlement'
      required:
        - fee_type
        - fee_amount
      title: NetworkFeeWithSettlement
      type: object
    PartnerFee:
      description: |
        Partner Fee

        A partner fee
      properties:
        fee:
          $ref: '#/components/schemas/Amount'
        label:
          description: The label of the partner fee
          type: string
        settlement:
          $ref: '#/components/schemas/FeeSettlement'
      required:
        - label
        - fee
        - settlement
      title: PartnerFee
      type: object
    RailFeeRate:
      description: >-
        A banking fee rate configured for a specific rail, before any
        transaction amount exists.
      properties:
        amount:
          $ref: '#/components/schemas/Amount'
        rail:
          $ref: '#/components/schemas/PaymentNetwork'
      required:
        - rail
        - amount
      title: RailFeeRate
      type: object
    NetworkFeeAvailability:
      description: >-
        Whether a network fee will actually be shown to whoever is looking at
        this bucket:

        `Variable` means it's part of this bucket and its amount isn't fixed up
        front; `None`

        means don't show a network fee for this bucket at all (it belongs to the
        other one).
      enum:
        - Variable
        - None
      type: string
    DepositAccount_IbanDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - SEPA
              example: SEPA
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/IbanDepositInfo'
      description: |
        DepositAccount

        DEPRECATED: please use the deposit_rails field instead
    DepositAccount_AchWireDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - ACHWire
              example: ACHWire
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/AchWireDepositInfo'
      description: |
        DepositAccount

        DEPRECATED: please use the deposit_rails field instead
    DepositAccount_AfricanBankTransferDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - AfricanBankTransfer
              example: AfricanBankTransfer
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/AfricanBankTransferDepositInfo'
      description: |
        DepositAccount

        DEPRECATED: please use the deposit_rails field instead
    DepositAccount_PixDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - Pix
              example: Pix
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/PixDepositInfo'
      description: |
        DepositAccount

        DEPRECATED: please use the deposit_rails field instead
    DepositAccount_SpeiDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - Spei
              example: Spei
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/SpeiDepositInfo'
      description: |
        DepositAccount

        DEPRECATED: please use the deposit_rails field instead
    DepositAccount_CvuDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - Cvu
              example: Cvu
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/CvuDepositInfo'
      description: |
        DepositAccount

        DEPRECATED: please use the deposit_rails field instead
    DepositAccount_MobileMoneyDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - MobileMoney
              example: MobileMoney
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/MobileMoneyDepositInfo'
      description: |
        DepositAccount

        DEPRECATED: please use the deposit_rails field instead
    DepositAccount_CryptoWallet:
      allOf:
        - properties:
            type:
              enum:
                - Crypto
              example: Crypto
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/CryptoWallet'
      description: |
        DepositAccount

        DEPRECATED: please use the deposit_rails field instead
    DepositAccount_ChapsFpsDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - CHAPSFPS
              example: CHAPSFPS
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/ChapsFpsDepositInfo'
      description: |
        DepositAccount

        DEPRECATED: please use the deposit_rails field instead
    DepositRail_IbanDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - SEPA
              example: SEPA
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/IbanDepositInfo'
    DepositRail_AfricanBankTransferDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - AfricanBankTransfer
              example: AfricanBankTransfer
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/AfricanBankTransferDepositInfo'
    DepositRail_PixDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - Pix
              example: Pix
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/PixDepositInfo'
    DepositRail_SpeiDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - Spei
              example: Spei
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/SpeiDepositInfo'
    DepositRail_CvuDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - Cvu
              example: Cvu
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/CvuDepositInfo'
    DepositRail_MobileMoneyDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - MobileMoney
              example: MobileMoney
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/MobileMoneyDepositInfo'
    DepositRail_CryptoWallet:
      allOf:
        - properties:
            type:
              enum:
                - Crypto
              example: Crypto
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/CryptoWallet'
    DepositRail_FpsDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - FPS
              example: FPS
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/FpsDepositInfo'
    DepositRail_ChapsDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - CHAPS
              example: CHAPS
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/ChapsDepositInfo'
    DepositRail_ACHDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - ACH
              example: ACH
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/ACHDepositInfo'
    DepositRail_WireDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - Wire
              example: Wire
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/WireDepositInfo'
    DepositRail_RtpDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - RTP
              example: RTP
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/RtpDepositInfo'
    DepositRail_FedNowDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - FedNow
              example: FedNow
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/FedNowDepositInfo'
      description: Available from API version 2026-07-01.
    DepositRail_SwiftDepositInfo:
      allOf:
        - properties:
            type:
              enum:
                - SWIFT
              example: SWIFT
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/SwiftDepositInfo'
    AutorampPlatformFeeRate:
      description: The platform fee rate for one of an autoramp's supported currency pairs.
      properties:
        destination_currency:
          $ref: '#/components/schemas/Currency'
        platform_fee_bips:
          description: >-
            The platform fee rate, in bips, invoiced to the partner for this
            currency pair
          format: decimal
          type: string
        source_currency:
          $ref: '#/components/schemas/Currency'
      required:
        - source_currency
        - destination_currency
        - platform_fee_bips
      title: AutorampPlatformFeeRate
      type: object
    Recipient_RecipientBankAccount:
      allOf:
        - properties:
            type:
              enum:
                - BankAccount
              example: BankAccount
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/RecipientBankAccount'
      description: |
        Recipient

        The recipient of the payment
    Recipient_RecipientWallet:
      allOf:
        - properties:
            type:
              enum:
                - Wallet
              example: Wallet
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/RecipientWallet'
      description: |
        Recipient

        The recipient of the payment
    Recipient_RecipientPix:
      allOf:
        - properties:
            type:
              enum:
                - Pix
              example: Pix
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/RecipientPix'
      description: |
        Recipient

        The recipient of the payment
    Crypto:
      description: A cryptocurrency
      example:
        blockchain: Solana
        token: USDC
      properties:
        blockchain:
          $ref: '#/components/schemas/Blockchain'
        token:
          description: The ticker of the token e.g. 'USDC'
          type: string
      required:
        - token
        - blockchain
      title: Crypto
      type: object
    Fiat:
      description: A fiat currency
      example:
        code: USD
      properties:
        code:
          description: The code of the currency e.g. 'USD'
          type: string
      required:
        - code
      title: Fiat
      type: object
    NetworkFee_Amount:
      allOf:
        - properties:
            type:
              enum:
                - SwiftOut
              example: SwiftOut
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/Amount'
      description: >
        Network Fee


        The network fee for a given currency. This is deprecated and will be
        removed in the future. Use NetworkFeeWithSettlement instead.
    NetworkFeeType:
      description: |
        Network Fee Type

        The type of network fee
      enum:
        - SepaIn
        - SepaOut
        - EthereumGas
        - CitreaGas
        - SolanaTransactionFee
        - StellarTransactionFee
        - PolygonGas
        - BaseGas
        - AvalancheGas
        - TronGas
        - BscGas
        - SeismicExecutionFee
        - RailFee
        - AchIn
        - AchOut
        - WireIn
        - WireOut
        - SwiftIn
        - SwiftOut
        - FpsIn
        - FpsOut
        - ChapsIn
        - ChapsOut
        - RtpIn
        - RtpOut
        - FednowIn
        - FednowOut
      type: string
    IbanDepositInfo:
      example:
        address: 10 Downing Street, London, SW1A 2AA, GB
        beneficiary_name: Alan Turing
        bic: COBADEFFXXX
        iban: DE89370400440532013000
        name: Iron Bank
        phone: +44-20-1234-5678
      properties:
        address:
          type: string
        beneficiary_name:
          description: >-
            The beneficiary name for the IBAN (account holder). For
            Monerium/Fiat Republic this is always the customer name.
          type: string
        bic:
          type: string
        iban:
          type: string
        name:
          type: string
        phone:
          type: string
      required:
        - iban
      title: IbanDepositInfo
      type: object
    AchWireDepositInfo:
      example:
        account_number: '123456789'
        bank_address: 1 Chase Manhattan Plaza, New York, NY 10005, US
        bank_name: JPMorgan Chase Bank
        recipient_address: 123 Main Street, New York, NY 10001, US
        recipient_name: Alan Turing
        routing_number: '021000021'
      properties:
        account_number:
          type: string
        bank_address:
          type: string
        bank_name:
          type: string
        recipient_address:
          type: string
        recipient_name:
          type: string
        routing_number:
          type: string
      required:
        - routing_number
        - account_number
        - bank_name
        - bank_address
        - recipient_name
        - recipient_address
      title: AchWireDepositInfo
      type: object
    AfricanBankTransferDepositInfo:
      properties:
        account_name:
          type: string
        account_number:
          type: string
        amount:
          format: decimal
          type: string
        bank_name:
          type: string
        currency:
          type: string
        financial_institution:
          type: string
        instruction:
          type: string
        reference_id:
          type: string
      title: AfricanBankTransferDepositInfo
      type: object
    PixDepositInfo:
      properties:
        amount:
          $ref: '#/components/schemas/Amount'
        br_code:
          description: >-
            "Pix Copia e Cola" — the EMV BR Code string. The payer pastes it
            into their

            bank app, or renders it as a QR code to scan.
          type: string
        expires_at:
          description: >-
            Expiry of a one-time (dynamic) QR code. Absent for reusable (static)
            codes.
          format: date-time
          type: string
        instruction:
          description: Human-readable payer guidance.
          type: string
        pix_key:
          description: Bare PIX key for customers who prefer entering a key directly.
          type: string
      required:
        - br_code
        - instruction
      title: PixDepositInfo
      type: object
    SpeiDepositInfo:
      properties:
        clabe:
          type: string
        instruction:
          type: string
      required:
        - clabe
        - instruction
      title: SpeiDepositInfo
      type: object
    CvuDepositInfo:
      description: Deposit details for an ARS transfer to a CVU (Argentina).
      properties:
        bank_name:
          description: The bank holding the CVU.
          type: string
        cvu:
          description: The 22-digit CVU the payer transfers to.
          type: string
        instruction:
          description: Human-readable payer guidance.
          type: string
      required:
        - cvu
        - instruction
      title: CvuDepositInfo
      type: object
    MobileMoneyDepositInfo:
      properties:
        instruction:
          type: string
        mobile_number:
          type: string
      required:
        - mobile_number
      title: MobileMoneyDepositInfo
      type: object
    CryptoWallet:
      description: |
        Crypto Wallet

        The crypto wallet for the autoramp
      properties:
        address:
          description: The address of the crypto account
          type: string
        chain:
          $ref: '#/components/schemas/Blockchain'
      required:
        - chain
        - address
      title: CryptoWallet
      type: object
    ChapsFpsDepositInfo:
      example:
        account_number: '55779911'
        bank_address: 2 Thomas More Square, London, E1W 1YN
        bank_name: Banking Circle UK
        beneficiary_name: Alan Turing
        sort_code: 20-00-00
      properties:
        account_number:
          type: string
        bank_address:
          type: string
        bank_name:
          type: string
        beneficiary_name:
          type: string
        sort_code:
          type: string
      required:
        - sort_code
        - account_number
      title: ChapsFpsDepositInfo
      type: object
    FpsDepositInfo:
      example:
        account_number: '55779911'
        bank_address: 2 Thomas More Square, London, E1W 1YN
        bank_name: Banking Circle UK
        beneficiary_name: Alan Turing
        sort_code: 20-00-00
      properties:
        account_number:
          type: string
        bank_address:
          type: string
        bank_name:
          type: string
        beneficiary_name:
          type: string
        sort_code:
          type: string
      required:
        - sort_code
        - account_number
      title: FpsDepositInfo
      type: object
    ChapsDepositInfo:
      example:
        account_number: '12345678'
        bank_address: 2 Thomas More Square, London, E1W 1YN
        bank_name: Banking Circle UK
        beneficiary_name: Alan Turing
        sort_code: 20-00-00
      properties:
        account_number:
          type: string
        bank_address:
          type: string
        bank_name:
          type: string
        beneficiary_name:
          description: >-
            The beneficiary name (account holder) for the GBP account. For Fiat
            Republic this is the customer name.
          type: string
        sort_code:
          type: string
      required:
        - sort_code
        - account_number
      title: ChapsDepositInfo
      type: object
    ACHDepositInfo:
      example:
        account_number: '123456789'
        bank_address: 1 Chase Manhattan Plaza, New York, NY 10005, US
        bank_name: JPMorgan Chase Bank
        recipient_address: 123 Main Street, New York, NY 10001, US
        recipient_name: Alan Turing
        routing_number: '021000021'
      properties:
        account_number:
          type: string
        bank_address:
          type: string
        bank_name:
          type: string
        recipient_address:
          type: string
        recipient_name:
          type: string
        routing_number:
          type: string
      required:
        - routing_number
        - account_number
        - bank_name
        - bank_address
        - recipient_name
        - recipient_address
      title: ACHDepositInfo
      type: object
    WireDepositInfo:
      example:
        account_number: '987654321'
        bank_address: 1 Chase Manhattan Plaza, New York, NY 10005, US
        bank_name: JPMorgan Chase Bank
        recipient_address: 123 Main Street, New York, NY 10001, US
        recipient_name: Alan Turing
        routing_number: '021000021'
      properties:
        account_number:
          type: string
        bank_address:
          type: string
        bank_name:
          type: string
        recipient_address:
          type: string
        recipient_name:
          type: string
        routing_number:
          type: string
      required:
        - routing_number
        - account_number
        - bank_name
        - bank_address
        - recipient_name
        - recipient_address
      title: WireDepositInfo
      type: object
    RtpDepositInfo:
      example:
        account_number: '456789123'
        bank_address: 1 Chase Manhattan Plaza, New York, NY 10005, US
        bank_name: JPMorgan Chase Bank
        recipient_address: 123 Main Street, New York, NY 10001, US
        recipient_name: Alan Turing
        routing_number: '021000021'
      properties:
        account_number:
          type: string
        bank_address:
          type: string
        bank_name:
          type: string
        recipient_address:
          type: string
        recipient_name:
          type: string
        routing_number:
          type: string
      required:
        - routing_number
        - account_number
        - bank_name
        - bank_address
        - recipient_name
        - recipient_address
      title: RtpDepositInfo
      type: object
    FedNowDepositInfo:
      description: Available from API version 2026-07-01.
      example:
        account_number: '456789123'
        bank_address: 1 Chase Manhattan Plaza, New York, NY 10005, US
        bank_name: JPMorgan Chase Bank
        recipient_address: 123 Main Street, New York, NY 10001, US
        recipient_name: Alan Turing
        routing_number: '021000021'
      properties:
        account_number:
          type: string
        bank_address:
          type: string
        bank_name:
          type: string
        recipient_address:
          type: string
        recipient_name:
          type: string
        routing_number:
          type: string
      required:
        - routing_number
        - account_number
        - bank_name
        - bank_address
        - recipient_name
        - recipient_address
      title: FedNowDepositInfo
      type: object
    SwiftDepositInfo:
      example:
        account_number: '1234567890'
        bank_address: 1 Chase Manhattan Plaza, New York, NY 10005, US
        bank_name: JPMorgan Chase Bank
        bic: CHASUS33XXX
        recipient_address: 123 Main Street, New York, NY 10001, US
        recipient_name: Alan Turing
      properties:
        account_number:
          type: string
        bank_address:
          type: string
        bank_name:
          type: string
        bic:
          type: string
        memo:
          type: string
        recipient_address:
          type: string
        recipient_name:
          type: string
      required:
        - bic
        - account_number
        - bank_name
        - bank_address
        - recipient_name
        - recipient_address
      title: SwiftDepositInfo
      type: object
    RecipientBankAccount:
      description: |
        RecipientBankAccount

        A recipient fiat bank account
      example:
        account_identifier:
          iban: DE89370400440532013000
          type: SEPA
        address:
          city: London
          country:
            code: GB
          postal_code: SW1A 2AA
          state: England
          street: 10 Downing Street
        bank_address: null
        email_address:
          email: john.doe@example.com
        is_third_party: false
        phone_number: +49-30-12345678
        provider_country:
          code: DE
        provider_name: Iron Bank
        recipient:
          name: Aperture Science
          type: Business
      properties:
        account_identifier:
          $ref: '#/components/schemas/BankAccountIdentifier'
        address:
          $ref: '#/components/schemas/RecipientPostalAddress'
        bank_address:
          $ref: '#/components/schemas/BankPostalAddress'
        email_address:
          $ref: '#/components/schemas/EmailAddress'
        is_third_party:
          description: Is this a users fiat bank account or a third party fiat bank account
          type: boolean
        local_routing:
          $ref: '#/components/schemas/LocalBankRouting'
        phone_number:
          description: The recipient's phone number.
          type: string
        provider_country:
          $ref: '#/components/schemas/Country'
        provider_name:
          description: The name of the provider of the recipient's account
          type: string
        recipient:
          $ref: '#/components/schemas/RecipientName'
      required:
        - recipient
        - provider_name
        - provider_country
        - account_identifier
        - address
        - is_third_party
      title: RecipientBankAccount
      type: object
    RecipientWallet:
      description: |
        RecipientWallet

        An on-chain wallet address
      properties:
        address:
          description: The wallet address
          type: string
        blockchain:
          $ref: '#/components/schemas/Blockchain'
      required:
        - blockchain
        - address
      title: RecipientWallet
      type: object
    RecipientPix:
      description: |-
        RecipientPix

        A PIX payout recipient.
      example:
        account:
          key: '+5511987654321'
          type: PHONE
        recipient:
          family_name: Turing
          given_name: Alan
          type: Individual
      properties:
        account:
          $ref: '#/components/schemas/PixAccountIdentifier'
        recipient:
          $ref: '#/components/schemas/RecipientName'
      required:
        - recipient
        - account
      title: RecipientPix
      type: object
    Blockchain:
      description: |
        Blockchain

        A type of blockchain
      enum:
        - Solana
        - Ethereum
        - Polygon
        - Arbitrum
        - Base
        - Stellar
        - Citrea
        - Plasma
        - Avalanche
        - Moca
        - Monad
        - Tempo
        - Tron
        - Bsc
        - Seismic
        - Arc
        - Optimism
        - ZeroG
      type: string
    BankAccountIdentifier:
      anyOf:
        - $ref: '#/components/schemas/BankAccountIdentifier_Iban'
        - $ref: '#/components/schemas/BankAccountIdentifier_BankAccountACHIdentifier'
        - $ref: '#/components/schemas/BankAccountIdentifier_BankAccountWireIdentifier'
        - $ref: '#/components/schemas/BankAccountIdentifier_BankAccountRTPIdentifier'
        - $ref: >-
            #/components/schemas/BankAccountIdentifier_BankAccountFedNowIdentifier
        - $ref: >-
            #/components/schemas/BankAccountIdentifier_BankAccountSWIFTIdentifier
        - $ref: >-
            #/components/schemas/BankAccountIdentifier_BankAccountCHAPSIdentifier
        - $ref: '#/components/schemas/BankAccountIdentifier_BankAccountFPSIdentifier'
        - $ref: '#/components/schemas/BankAccountIdentifier_BankAccountCBUIdentifier'
        - $ref: '#/components/schemas/BankAccountIdentifier_BankAccountCVUIdentifier'
      discriminator:
        mapping:
          ACH: '#/components/schemas/BankAccountIdentifier_BankAccountACHIdentifier'
          CBU: '#/components/schemas/BankAccountIdentifier_BankAccountCBUIdentifier'
          CHAPS: >-
            #/components/schemas/BankAccountIdentifier_BankAccountCHAPSIdentifier
          CVU: '#/components/schemas/BankAccountIdentifier_BankAccountCVUIdentifier'
          FEDNOW: >-
            #/components/schemas/BankAccountIdentifier_BankAccountFedNowIdentifier
          FPS: '#/components/schemas/BankAccountIdentifier_BankAccountFPSIdentifier'
          RTP: '#/components/schemas/BankAccountIdentifier_BankAccountRTPIdentifier'
          SEPA: '#/components/schemas/BankAccountIdentifier_Iban'
          SWIFT: >-
            #/components/schemas/BankAccountIdentifier_BankAccountSWIFTIdentifier
          Wire: '#/components/schemas/BankAccountIdentifier_BankAccountWireIdentifier'
        propertyName: type
      type: object
    RecipientPostalAddress:
      description: |-
        RecipientPostalAddress

        The account holder's address.
      properties:
        city:
          description: The city
          maxLength: 100
          minLength: 2
          type: string
        country:
          $ref: '#/components/schemas/Country'
        postal_code:
          description: The postal code
          maxLength: 20
          minLength: 3
          type: string
        state:
          description: The state
          type: string
        street:
          description: The street address
          maxLength: 256
          minLength: 2
          type: string
      required:
        - street
        - city
        - state
        - country
        - postal_code
      title: RecipientPostalAddress
      type: object
    BankPostalAddress:
      description: |-
        BankPostalAddress

        The bank's address. Only required for SWIFT accounts.
      properties:
        city:
          description: The city
          maxLength: 100
          minLength: 2
          type: string
        country:
          $ref: '#/components/schemas/Country'
        postal_code:
          description: The postal code
          maxLength: 20
          minLength: 3
          type: string
        state:
          description: The state
          type: string
        street:
          description: The street address
          maxLength: 256
          minLength: 2
          type: string
      required:
        - street
        - city
        - state
        - country
        - postal_code
      title: BankPostalAddress
      type: object
    EmailAddress:
      description: |
        EmailAddress

        An email address
        An email address
      example:
        email: john.doe@example.com
      properties:
        email:
          description: The email address
          type: string
      required:
        - email
      title: EmailAddress
      type: object
    LocalBankRouting:
      anyOf:
        - $ref: '#/components/schemas/LocalBankRouting_CaRouting'
      discriminator:
        mapping:
          CA_ROUTING: '#/components/schemas/LocalBankRouting_CaRouting'
        propertyName: type
      type: object
    Country:
      description: A country
      example:
        code: DE
      properties:
        code:
          description: The ISO_3166-1 Alpha-2 country code, e.g. "DE"
          maxLength: 2
          minLength: 2
          type: string
      required:
        - code
      title: Country
      type: object
    RecipientName:
      anyOf:
        - $ref: '#/components/schemas/RecipientName_IndividualName'
        - $ref: '#/components/schemas/RecipientName_BusinessName'
      discriminator:
        mapping:
          Business: '#/components/schemas/RecipientName_BusinessName'
          Individual: '#/components/schemas/RecipientName_IndividualName'
        propertyName: type
      type: object
    PixAccountIdentifier:
      anyOf:
        - $ref: '#/components/schemas/PixAccountIdentifier_PixCpfKey'
        - $ref: '#/components/schemas/PixAccountIdentifier_PixCnpjKey'
        - $ref: '#/components/schemas/PixAccountIdentifier_PixEmailKey'
        - $ref: '#/components/schemas/PixAccountIdentifier_PixPhoneKey'
        - $ref: '#/components/schemas/PixAccountIdentifier_PixEvpKey'
        - $ref: '#/components/schemas/PixAccountIdentifier_PixBankDetails'
      description: |-
        PixAccountIdentifier

        How the recipient's PIX account is identified: a DICT key of one of the
        five key types, or full bank account details.
      discriminator:
        mapping:
          BANK_DETAILS: '#/components/schemas/PixAccountIdentifier_PixBankDetails'
          CNPJ: '#/components/schemas/PixAccountIdentifier_PixCnpjKey'
          CPF: '#/components/schemas/PixAccountIdentifier_PixCpfKey'
          EMAIL: '#/components/schemas/PixAccountIdentifier_PixEmailKey'
          EVP: '#/components/schemas/PixAccountIdentifier_PixEvpKey'
          PHONE: '#/components/schemas/PixAccountIdentifier_PixPhoneKey'
        propertyName: type
      type: object
    BankAccountIdentifier_Iban:
      allOf:
        - properties:
            type:
              enum:
                - SEPA
              example: SEPA
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/Iban'
    BankAccountIdentifier_BankAccountACHIdentifier:
      allOf:
        - properties:
            type:
              enum:
                - ACH
              example: ACH
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/BankAccountACHIdentifier'
    BankAccountIdentifier_BankAccountWireIdentifier:
      allOf:
        - properties:
            type:
              enum:
                - Wire
              example: Wire
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/BankAccountWireIdentifier'
    BankAccountIdentifier_BankAccountRTPIdentifier:
      allOf:
        - properties:
            type:
              enum:
                - RTP
              example: RTP
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/BankAccountRTPIdentifier'
    BankAccountIdentifier_BankAccountFedNowIdentifier:
      allOf:
        - properties:
            type:
              enum:
                - FEDNOW
              example: FEDNOW
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/BankAccountFedNowIdentifier'
    BankAccountIdentifier_BankAccountSWIFTIdentifier:
      allOf:
        - properties:
            type:
              enum:
                - SWIFT
              example: SWIFT
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/BankAccountSWIFTIdentifier'
    BankAccountIdentifier_BankAccountCHAPSIdentifier:
      allOf:
        - properties:
            type:
              enum:
                - CHAPS
              example: CHAPS
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/BankAccountCHAPSIdentifier'
    BankAccountIdentifier_BankAccountFPSIdentifier:
      allOf:
        - properties:
            type:
              enum:
                - FPS
              example: FPS
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/BankAccountFPSIdentifier'
    BankAccountIdentifier_BankAccountCBUIdentifier:
      allOf:
        - properties:
            type:
              enum:
                - CBU
              example: CBU
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/BankAccountCBUIdentifier'
    BankAccountIdentifier_BankAccountCVUIdentifier:
      allOf:
        - properties:
            type:
              enum:
                - CVU
              example: CVU
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/BankAccountCVUIdentifier'
    LocalBankRouting_CaRouting:
      allOf:
        - properties:
            type:
              enum:
                - CA_ROUTING
              example: CA_ROUTING
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/CaRouting'
    RecipientName_IndividualName:
      allOf:
        - properties:
            type:
              enum:
                - Individual
              example: Individual
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/IndividualName'
    RecipientName_BusinessName:
      allOf:
        - properties:
            type:
              enum:
                - Business
              example: Business
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/BusinessName'
    PixAccountIdentifier_PixCpfKey:
      allOf:
        - properties:
            type:
              enum:
                - CPF
              example: CPF
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/PixCpfKey'
      description: |-
        PixAccountIdentifier

        How the recipient's PIX account is identified: a DICT key of one of the
        five key types, or full bank account details.
    PixAccountIdentifier_PixCnpjKey:
      allOf:
        - properties:
            type:
              enum:
                - CNPJ
              example: CNPJ
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/PixCnpjKey'
      description: |-
        PixAccountIdentifier

        How the recipient's PIX account is identified: a DICT key of one of the
        five key types, or full bank account details.
    PixAccountIdentifier_PixEmailKey:
      allOf:
        - properties:
            type:
              enum:
                - EMAIL
              example: EMAIL
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/PixEmailKey'
      description: |-
        PixAccountIdentifier

        How the recipient's PIX account is identified: a DICT key of one of the
        five key types, or full bank account details.
    PixAccountIdentifier_PixPhoneKey:
      allOf:
        - properties:
            type:
              enum:
                - PHONE
              example: PHONE
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/PixPhoneKey'
      description: |-
        PixAccountIdentifier

        How the recipient's PIX account is identified: a DICT key of one of the
        five key types, or full bank account details.
    PixAccountIdentifier_PixEvpKey:
      allOf:
        - properties:
            type:
              enum:
                - EVP
              example: EVP
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/PixEvpKey'
      description: |-
        PixAccountIdentifier

        How the recipient's PIX account is identified: a DICT key of one of the
        five key types, or full bank account details.
    PixAccountIdentifier_PixBankDetails:
      allOf:
        - properties:
            type:
              enum:
                - BANK_DETAILS
              example: BANK_DETAILS
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/PixBankDetails'
      description: |-
        PixAccountIdentifier

        How the recipient's PIX account is identified: a DICT key of one of the
        five key types, or full bank account details.
    Iban:
      example:
        iban: DE89370400440532013000
      properties:
        iban:
          type: string
      required:
        - iban
      title: Iban
      type: object
    BankAccountACHIdentifier:
      example:
        account_number: '123456789'
        routing_number: '021000021'
      properties:
        account_number:
          description: US account number (4-17 alphanumeric characters)
          pattern: ^[0-9A-Z]{4,17}$
          type: string
        routing_number:
          description: US routing number (exactly 9 digits)
          pattern: ^[0-9]{9}$
          type: string
      required:
        - routing_number
        - account_number
      title: BankAccountACHIdentifier
      type: object
    BankAccountWireIdentifier:
      example:
        account_number: '987654321'
        routing_number: '021000021'
      properties:
        account_number:
          description: US account number (4-17 alphanumeric characters)
          pattern: ^[0-9A-Z]{4,17}$
          type: string
        routing_number:
          description: US routing number (exactly 9 digits)
          pattern: ^[0-9]{9}$
          type: string
      required:
        - routing_number
        - account_number
      title: BankAccountWireIdentifier
      type: object
    BankAccountRTPIdentifier:
      example:
        account_number: '456789123'
        routing_number: '021000021'
      properties:
        account_number:
          description: US account number (4-17 alphanumeric characters)
          pattern: ^[0-9A-Z]{4,17}$
          type: string
        routing_number:
          description: US routing number (exactly 9 digits)
          pattern: ^[0-9]{9}$
          type: string
      required:
        - routing_number
        - account_number
      title: BankAccountRTPIdentifier
      type: object
    BankAccountFedNowIdentifier:
      example:
        account_number: '456789123'
        routing_number: '021000021'
      properties:
        account_number:
          description: US account number (4-17 alphanumeric characters)
          pattern: ^[0-9A-Z]{4,17}$
          type: string
        routing_number:
          description: US routing number (exactly 9 digits)
          pattern: ^[0-9]{9}$
          type: string
      required:
        - routing_number
        - account_number
      title: BankAccountFedNowIdentifier
      type: object
    BankAccountSWIFTIdentifier:
      example:
        account_number: '1234567890'
        bic: CHASUS33XXX
      properties:
        account_number:
          maxLength: 34
          minLength: 1
          pattern: ^[a-zA-Z0-9 ]*[a-zA-Z0-9]+$
          type: string
        bic:
          pattern: ^[A-Z0-9]+$
          type: string
        intermediary_bic:
          description: >-
            BIC of an intermediary correspondent bank in the SWIFT routing
            chain,

            when the sender wants to override the auto-selected intermediary.

            Optional — most senders leave this unset and let their provider
            pick.
          type: string
      required:
        - bic
        - account_number
      title: BankAccountSWIFTIdentifier
      type: object
    BankAccountCHAPSIdentifier:
      example:
        account_number: '12345678'
        sort_code: 20-00-00
      properties:
        account_number:
          type: string
        sort_code:
          type: string
      required:
        - sort_code
        - account_number
      title: BankAccountCHAPSIdentifier
      type: object
    BankAccountFPSIdentifier:
      example:
        account_number: '55779911'
        sort_code: 20-00-00
      properties:
        account_number:
          type: string
        sort_code:
          type: string
      required:
        - sort_code
        - account_number
      title: BankAccountFPSIdentifier
      type: object
    BankAccountCBUIdentifier:
      example:
        account_number: '0170099220000067797370'
      properties:
        account_number:
          description: >-
            CBU (exactly 22 digits, with valid check digits). Bank aliases are
            not accepted.
          pattern: ^[0-9]{22}$
          type: string
      required:
        - account_number
      title: BankAccountCBUIdentifier
      type: object
    BankAccountCVUIdentifier:
      example:
        account_number: '0000003100012345678901'
      properties:
        account_number:
          description: CVU (exactly 22 digits). Bank aliases are not accepted.
          pattern: ^[0-9]{22}$
          type: string
      required:
        - account_number
      title: BankAccountCVUIdentifier
      type: object
    CaRouting:
      properties:
        institution_number:
          description: 3-digit financial institution number.
          pattern: ^[0-9]{3}$
          type: string
        transit_number:
          description: 5-digit branch transit number.
          pattern: ^[0-9]{5}$
          type: string
      required:
        - institution_number
        - transit_number
      title: CaRouting
      type: object
    IndividualName:
      example:
        family_name: Turing
        given_name: Alan
      properties:
        family_name:
          maxLength: 50
          minLength: 1
          type: string
        given_name:
          maxLength: 50
          minLength: 1
          type: string
      required:
        - given_name
        - family_name
      title: IndividualName
      type: object
    BusinessName:
      example:
        name: Aperture Science
      properties:
        name:
          maxLength: 50
          minLength: 1
          type: string
      required:
        - name
      title: BusinessName
      type: object
    PixCpfKey:
      description: |-
        PixCpfKey

        A PIX DICT key that is the recipient's CPF.
      example:
        key: '12345678909'
      properties:
        key:
          description: 11-digit CPF, with or without the `XXX.XXX.XXX-XX` formatting
          pattern: ^([0-9]{11}|[0-9]{3}\.[0-9]{3}\.[0-9]{3}-[0-9]{2})$
          type: string
      required:
        - key
      title: PixCpfKey
      type: object
    PixCnpjKey:
      description: |-
        PixCnpjKey

        A PIX DICT key that is the recipient's CNPJ.
      example:
        key: '12345678000195'
      properties:
        key:
          description: 14-digit CNPJ, with or without the `XX.XXX.XXX/XXXX-XX` formatting
          pattern: ^([0-9]{14}|[0-9]{2}\.[0-9]{3}\.[0-9]{3}/[0-9]{4}-[0-9]{2})$
          type: string
      required:
        - key
      title: PixCnpjKey
      type: object
    PixEmailKey:
      description: |-
        PixEmailKey

        A PIX DICT key that is the recipient's email address.
      example:
        key: joao.silva@example.com
      properties:
        key:
          maxLength: 77
          pattern: ^[^@\s]+@[^@\s]+$
          type: string
      required:
        - key
      title: PixEmailKey
      type: object
    PixPhoneKey:
      description: |-
        PixPhoneKey

        A PIX DICT key that is the recipient's phone number.
      example:
        key: '+5511987654321'
      properties:
        key:
          description: International format with leading `+`, e.g. +5511987654321
          pattern: ^\+[1-9][0-9]{1,14}$
          type: string
      required:
        - key
      title: PixPhoneKey
      type: object
    PixEvpKey:
      description: |-
        PixEvpKey

        A random PIX DICT key (EVP) generated by the recipient's bank.
      example:
        key: 123e4567-e89b-12d3-a456-426614174000
      properties:
        key:
          description: A lowercase UUID, e.g. 123e4567-e89b-12d3-a456-426614174000
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
          type: string
      required:
        - key
      title: PixEvpKey
      type: object
    PixBankDetails:
      description: |-
        PixBankDetails

        Full Brazilian bank account details identifying the recipient's account,
        for recipients without a registered PIX key.
      example:
        account_number: '5678901'
        account_type: CHECKING
        bank_code: '341'
        branch_code: '1234'
        tax_id: '12345678909'
      properties:
        account_number:
          description: |-
            Account number including the verification (check) digit, with no
            separator, e.g. `7140025418`.
          maxLength: 20
          minLength: 1
          type: string
        account_type:
          $ref: '#/components/schemas/PixAccountType'
        bank_code:
          description: 3-digit COMPE bank code or 8-digit ISPB, distinguished by length
          pattern: ^([0-9]{3}|[0-9]{8})$
          type: string
        branch_code:
          description: Branch number without the verification digit
          pattern: ^[0-9]{1,4}$
          type: string
        tax_id:
          description: |-
            The account holder's CPF (11 digits) or CNPJ (14 digits), with or
            without the usual `.`/`-`/`/` formatting.
          pattern: >-
            ^([0-9]{11}|[0-9]{14}|[0-9]{3}\.[0-9]{3}\.[0-9]{3}-[0-9]{2}|[0-9]{2}\.[0-9]{3}\.[0-9]{3}/[0-9]{4}-[0-9]{2})$
          type: string
      required:
        - tax_id
        - bank_code
        - branch_code
        - account_number
        - account_type
      title: PixBankDetails
      type: object
    PixAccountType:
      description: |-
        PixAccountType

        The type of a Brazilian bank account.
      enum:
        - CHECKING
        - SAVINGS
        - SALARY
        - TRANSACTION
      type: string
  securitySchemes:
    ApiKeyAuth:
      description: API Key
      in: header
      name: X-API-Key
      type: apiKey

````