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

# Price a conversion, payout, or withdrawal

> Prices an asset pair with no resource ids and no recipient. Takes your own margin on a conversion or payout quote, so you can show your customer the price the redeeming order charges; a withdrawal quote refuses it. Returns one or more options and an expiry. A replay always reprices — this route carries no idempotency-key.



## OpenAPI

````yaml https://api.sandbox.conduit.financial/v2/api-docs/openapi.json post /quotes
openapi: 3.0.0
info:
  title: Conduit Sandbox API
  description: >-
    **Sandbox API** — clients integrate against this surface to exercise happy
    and unhappy paths without consuming real KYC/PSP credits or moving real
    money. Customer KYC, banking partners, and crypto custody are stubbed;
    org-level KYB runs against real providers. Simulation endpoints under
    `/v2/sandbox/*` drive specific scenarios.


    Internal and portal endpoints are excluded from this spec.
  version: '2.0'
  contact: {}
servers:
  - url: https://api.sandbox.conduit.financial/v2
    description: Sandbox
  - url: https://api.conduit.financial/v2
    description: Production
security:
  - api-key: []
tags:
  - name: Customers
  - name: Registered Addresses
  - name: Wallets
  - name: Wallet Signers
  - name: Signing Quorum
  - name: Virtual Accounts
  - name: Applications
  - name: RFIs
  - name: Documents
  - name: Verifications
  - name: Signing Requests
  - name: Transactions
  - name: Payouts
  - name: Whitelist Recipients
  - name: Orders
  - name: Asset Chain Pairs
  - name: Quotes
  - name: Webhook Endpoints
  - name: Webhook Deliveries
  - name: Webhook Event Types
  - name: Features
  - name: Customer Onboarding
  - name: Markup
  - name: Sandbox
paths:
  /quotes:
    post:
      tags:
        - Quotes
      summary: Price a conversion, payout, or withdrawal
      description: >-
        Prices an asset pair with no resource ids and no recipient. Takes your
        own margin on a conversion or payout quote, so you can show your
        customer the price the redeeming order charges; a withdrawal quote
        refuses it. Returns one or more options and an expiry. A replay always
        reprices — this route carries no idempotency-key.
      operationId: QuotesController_create_v2
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateQuoteRequestDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponseDto'
        '400':
          description: >-
            **INVALID_OID_FORMAT**: A path or query parameter expected a valid
            object identifier but received a value that does not match the
            expected format.


            **VALIDATION_ERROR**: The request body or query parameters failed
            validation. One or more fields have invalid values, missing required
            properties, or incorrect types. A required text field that holds
            only spaces counts as missing. Multipart file uploads that fail at
            the multipart-parser layer (unexpected form-field name, too many
            parts) carry an extra 'field' member naming the offending
            form-field.


            **UNSUPPORTED_ASSET**: The requested asset and chain combination is
            not supported for this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorDto'
              example:
                type: INVALID_OID_FORMAT
                title: Invalid Object ID Format
                status: 400
                detail: >-
                  A path or query parameter expected a valid object identifier
                  but received a value that does not match the expected format.
                resolution: >-
                  Verify that all IDs in the request URL and query parameters
                  are correctly formatted. IDs are typically prefixed strings
                  like 'cus_...', 'app_...', or 'doc_...'.
                docs: https://conduit-v2.mintlify.app/errors#invalid-oid-format
                instance: /v2/...
                correlationId: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
                timestamp: '2026-01-15T09:30:00.000Z'
        '401':
          description: >-
            **API_KEY_MISSING**: The request did not include an API key. All API
            requests must be authenticated.


            **API_KEY_INVALID**: The provided API key is not recognized or has
            been revoked.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: API_KEY_MISSING
                title: API Key Missing
                status: 401
                detail: >-
                  The request did not include an API key. All API requests must
                  be authenticated.
                resolution: >-
                  Include your API key in the 'x-api-key' header with every
                  request.
                docs: https://conduit-v2.mintlify.app/errors#api-key-missing
                instance: /v2/...
                correlationId: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
                timestamp: '2026-01-15T09:30:00.000Z'
        '403':
          description: >-
            **ORGANIZATION_ACCESS_SUSPENDED**: Conduit has suspended this
            organization's access. Requests with the organization's API keys and
            from its users are refused until Conduit restores access.


            **FEATURE_NOT_ENABLED**: Your account does not have access to this
            feature. Features are enabled on a per-account basis.


            **CLIENT_MARKUP_NOT_ENABLED**: This request declares your own
            margin, but client markup is not enabled for your organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: ORGANIZATION_ACCESS_SUSPENDED
                title: Organization Access Suspended
                status: 403
                detail: >-
                  Conduit has suspended this organization's access. Requests
                  with the organization's API keys and from its users are
                  refused until Conduit restores access.
                resolution: Contact Conduit support.
                docs: >-
                  https://conduit-v2.mintlify.app/errors#organization-access-suspended
                instance: /v2/...
                correlationId: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
                timestamp: '2026-01-15T09:30:00.000Z'
        '422':
          description: >-
            **UNSUPPORTED_PAIR**: The requested source and destination asset
            pair is not supported. `details` carries `sourceChain` and
            `destinationChain` alongside `sourceAsset` and `destinationAsset` —
            `null` for a fiat asset, which carries no chain — so you can tell a
            chain-specific refusal from an asset-wide one.


            **AMOUNT_OUT_OF_RANGE**: The requested amount is below the minimum
            or above the maximum allowed, or the amount you send rounds to zero
            at its supported precision.


            **CHAIN_NOT_SUPPORTED**: This environment does not serve that chain,
            or that asset on that chain, so it cannot carry out this request.
            Other chains and assets this environment serves are unaffected, and
            the same request on one of them is accepted.


            **CLIENT_MARKUP_SPREAD_EXCEEDED**: The margin you declared, added to
            Conduit's own spread terms for the pair, reaches the point at which
            the quoted rate would fall to zero. It is raised on the order or the
            quote that declares the margin. The margin itself has no fixed
            maximum; what is left for it depends on the pair.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: UNSUPPORTED_PAIR
                title: Unsupported Pair
                status: 422
                detail: >-
                  The requested source and destination asset pair is not
                  supported. `details` carries `sourceChain` and
                  `destinationChain` alongside `sourceAsset` and
                  `destinationAsset` — `null` for a fiat asset, which carries no
                  chain — so you can tell a chain-specific refusal from an
                  asset-wide one.
                resolution: >-
                  Submit a supported source/destination asset combination and
                  chain, or contact Conduit if this pair should be available.
                docs: https://conduit-v2.mintlify.app/errors#unsupported-pair
                instance: /v2/...
                correlationId: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
                timestamp: '2026-01-15T09:30:00.000Z'
        '429':
          description: >-
            **RATE_LIMITED**: Too many requests. This error is returned by three
            independent checks: the per-organization bucket applied to every
            authenticated API request; the per-IP bucket applied to
            unauthenticated traffic before an API key is validated; and the
            per-IP bucket applied when repeated invalid API keys are submitted
            from the same address. Honor the Retry-After header (also exposed as
            retryAfterSeconds in the body) before retrying. Current limits and
            remaining budget are visible in X-RateLimit-Limit (the bucket size),
            X-RateLimit-Remaining, and X-RateLimit-Reset (seconds until the
            bucket refills) on every response once your API key is accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitedErrorDto'
              example:
                type: RATE_LIMITED
                title: Rate Limited
                status: 429
                detail: >-
                  Too many requests. This error is returned by three independent
                  checks: the per-organization bucket applied to every
                  authenticated API request; the per-IP bucket applied to
                  unauthenticated traffic before an API key is validated; and
                  the per-IP bucket applied when repeated invalid API keys are
                  submitted from the same address. Honor the Retry-After header
                  (also exposed as retryAfterSeconds in the body) before
                  retrying. Current limits and remaining budget are visible in
                  X-RateLimit-Limit (the bucket size), X-RateLimit-Remaining,
                  and X-RateLimit-Reset (seconds until the bucket refills) on
                  every response once your API key is accepted.
                resolution: >-
                  Sleep until Retry-After seconds have elapsed, then retry. For
                  sustained workloads exceeding the per-organization defaults,
                  request a rate-limit increase through your support contact.
                docs: https://conduit-v2.mintlify.app/errors#rate-limited
                instance: /v2/...
                correlationId: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
                timestamp: '2026-01-15T09:30:00.000Z'
                retryAfterSeconds: 3
        '500':
          description: >-
            **INTERNAL_ERROR**: An unexpected error occurred while processing
            your request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: INTERNAL_ERROR
                title: Internal Error
                status: 500
                detail: An unexpected error occurred while processing your request.
                resolution: >-
                  Retry the request after a brief delay. If the error persists,
                  contact support and include the correlationId from the error
                  response for investigation.
                docs: https://conduit-v2.mintlify.app/errors#internal-error
                instance: /v2/...
                correlationId: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
                timestamp: '2026-01-15T09:30:00.000Z'
        '503':
          description: >-
            **ASSET_CHAIN_PAUSED**: Conduit has temporarily paused this asset on
            this chain, or the whole chain, so it cannot accept this request
            now. Asset and chain pairs that are not paused stay available.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: ASSET_CHAIN_PAUSED
                title: Asset Chain Paused
                status: 503
                detail: >-
                  Conduit has temporarily paused this asset on this chain, or
                  the whole chain, so it cannot accept this request now. Asset
                  and chain pairs that are not paused stay available.
                resolution: >-
                  Retry the same request later; it succeeds once Conduit lifts
                  the pause. Use an asset and chain pair that is not paused if
                  you cannot wait.
                docs: https://conduit-v2.mintlify.app/errors#asset-chain-paused
                instance: /v2/...
                correlationId: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
                timestamp: '2026-01-15T09:30:00.000Z'
components:
  schemas:
    CreateQuoteRequestDto:
      type: object
      properties:
        source:
          type: object
          properties:
            code:
              type: string
              enum:
                - USD
                - EUR
                - GBP
                - CHF
                - JPY
                - CAD
                - AUD
                - NZD
                - SGD
                - HKD
                - CNY
                - KRW
                - INR
                - BRL
                - MXN
                - ARS
                - CLP
                - COP
                - PEN
                - ZAR
                - NGN
                - KES
                - GHS
                - EGP
                - AED
                - SAR
                - ILS
                - TRY
                - PLN
                - CZK
                - HUF
                - SEK
                - NOK
                - DKK
                - THB
                - IDR
                - MYR
                - PHP
                - VND
                - TWD
                - USDC
                - USDT
                - DAI
                - EURC
                - PYUSD
                - OUSD
                - BTC
                - ETH
                - SOL
                - TRX
                - XLM
                - POL
            chain:
              type: string
              enum:
                - ethereum
                - base
                - solana
                - polygon
                - tron
                - stellar
                - tempo
                - null
              nullable: true
          required:
            - code
        destination:
          type: object
          properties:
            code:
              type: string
              enum:
                - USD
                - EUR
                - GBP
                - CHF
                - JPY
                - CAD
                - AUD
                - NZD
                - SGD
                - HKD
                - CNY
                - KRW
                - INR
                - BRL
                - MXN
                - ARS
                - CLP
                - COP
                - PEN
                - ZAR
                - NGN
                - KES
                - GHS
                - EGP
                - AED
                - SAR
                - ILS
                - TRY
                - PLN
                - CZK
                - HUF
                - SEK
                - NOK
                - DKK
                - THB
                - IDR
                - MYR
                - PHP
                - VND
                - TWD
                - USDC
                - USDT
                - DAI
                - EURC
                - PYUSD
                - OUSD
                - BTC
                - ETH
                - SOL
                - TRX
                - XLM
                - POL
            chain:
              type: string
              enum:
                - ethereum
                - base
                - solana
                - polygon
                - tron
                - stellar
                - tempo
                - null
              nullable: true
          required:
            - code
        lockSide:
          type: string
          enum:
            - source
            - destination
        amount:
          type: string
        markupBps:
          description: >-
            Your own margin on the order this quote prices, in basis points, to
            two decimal places. Conduit folds it into every option's rate, so
            `endUserRate` is the marked-up rate your customer receives and
            `totalSpreadBps` includes it. The order that redeems the option
            charges the same margin and accrues it to you, and it must not
            declare a margin of its own. Not available on a withdrawal quote,
            which nothing redeems; declare the margin on `POST /v2/payouts`
            instead. Requires markup to be enabled for your organization.
          type: number
          minimum: 0.01
          maximum: 99999.99
          multipleOf: 0.01
        markupAmount:
          description: >-
            Your own margin on the order this quote prices, as a flat amount per
            transaction, in the quote's source asset. A value finer than that
            asset's precision is refused. A flat amount cannot sit inside a
            rate, so it behaves exactly as Conduit's own fixed fee, and which
            side it moves depends on `lockSide`. On a SOURCE-locked quote it is
            carved out of the principal, so your customer receives less and
            `totalDebit` is unchanged. On a DESTINATION-locked quote it is
            added, so `totalDebit` rises and your customer pays more. Either way
            it appears in every option's `fees` as an entry owned by you. The
            order that redeems the option charges the same margin and accrues it
            to you, and it must not declare a margin of its own. Not available
            on a withdrawal quote, which nothing redeems; declare the margin on
            `POST /v2/payouts` instead. Requires markup to be enabled for your
            organization.
          type: string
        destinationCountry:
          description: >-
            Presence discriminates the quote mode alongside whether
            source/destination share the same asset: different assets + no
            country prices a conversion; different assets + a country prices a
            conversion and a payout, unless both sides are fiat, which is
            refused; the same asset + a country prices a withdrawal; the same
            asset with no country is refused.
          type: string
      required:
        - source
        - destination
        - lockSide
        - amount
      additionalProperties: false
    QuoteResponseDto:
      type: object
      properties:
        id:
          type: string
          pattern: ^qte_[0-9A-Za-z]{22}$
        sourceAssetRef:
          type: object
          properties:
            code:
              type: string
              enum:
                - USD
                - EUR
                - GBP
                - CHF
                - JPY
                - CAD
                - AUD
                - NZD
                - SGD
                - HKD
                - CNY
                - KRW
                - INR
                - BRL
                - MXN
                - ARS
                - CLP
                - COP
                - PEN
                - ZAR
                - NGN
                - KES
                - GHS
                - EGP
                - AED
                - SAR
                - ILS
                - TRY
                - PLN
                - CZK
                - HUF
                - SEK
                - NOK
                - DKK
                - THB
                - IDR
                - MYR
                - PHP
                - VND
                - TWD
                - USDC
                - USDT
                - DAI
                - EURC
                - PYUSD
                - OUSD
                - BTC
                - ETH
                - SOL
                - TRX
                - XLM
                - POL
              description: Asset code identifier
              example: USD
            chain:
              type: string
              enum:
                - ethereum
                - base
                - solana
                - polygon
                - tron
                - stellar
                - tempo
                - null
              description: Blockchain network. `null`/omitted for fiat assets.
              nullable: true
          required:
            - code
        destinationAssetRef:
          type: object
          properties:
            code:
              type: string
              enum:
                - USD
                - EUR
                - GBP
                - CHF
                - JPY
                - CAD
                - AUD
                - NZD
                - SGD
                - HKD
                - CNY
                - KRW
                - INR
                - BRL
                - MXN
                - ARS
                - CLP
                - COP
                - PEN
                - ZAR
                - NGN
                - KES
                - GHS
                - EGP
                - AED
                - SAR
                - ILS
                - TRY
                - PLN
                - CZK
                - HUF
                - SEK
                - NOK
                - DKK
                - THB
                - IDR
                - MYR
                - PHP
                - VND
                - TWD
                - USDC
                - USDT
                - DAI
                - EURC
                - PYUSD
                - OUSD
                - BTC
                - ETH
                - SOL
                - TRX
                - XLM
                - POL
              description: Asset code identifier
              example: USD
            chain:
              type: string
              enum:
                - ethereum
                - base
                - solana
                - polygon
                - tron
                - stellar
                - tempo
                - null
              description: Blockchain network. `null`/omitted for fiat assets.
              nullable: true
          required:
            - code
        lockSide:
          type: string
          enum:
            - source
            - destination
        amount:
          type: object
          properties:
            code:
              type: string
              enum:
                - USD
                - EUR
                - GBP
                - CHF
                - JPY
                - CAD
                - AUD
                - NZD
                - SGD
                - HKD
                - CNY
                - KRW
                - INR
                - BRL
                - MXN
                - ARS
                - CLP
                - COP
                - PEN
                - ZAR
                - NGN
                - KES
                - GHS
                - EGP
                - AED
                - SAR
                - ILS
                - TRY
                - PLN
                - CZK
                - HUF
                - SEK
                - NOK
                - DKK
                - THB
                - IDR
                - MYR
                - PHP
                - VND
                - TWD
                - USDC
                - USDT
                - DAI
                - EURC
                - PYUSD
                - OUSD
                - BTC
                - ETH
                - SOL
                - TRX
                - XLM
                - POL
              description: Asset code (USDC, USD, etc.)
            chain:
              description: Chain when the asset is on-chain; omitted for fiat.
              type: string
              enum:
                - ethereum
                - base
                - solana
                - polygon
                - tron
                - stellar
                - tempo
            amount:
              type: string
              description: Decimal string, asset-precision rounded
          required:
            - code
            - amount
          additionalProperties: false
          description: >-
            The amount this quote locked, in the asset of the side named by
            lockSide.
        options:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                pattern: ^qop_[0-9A-Za-z]{22}$
              rail:
                type: string
                enum:
                  - rtp
                  - fedwire
                  - ach
                  - ach_same_day
                  - swift
                  - fednow
                  - sepa
                  - faster_payments
                  - chaps
                  - null
                nullable: true
              rate:
                type: object
                properties:
                  referenceRate:
                    type: string
                    description: Market reference rate at quote time
                  totalSpreadBps:
                    type: string
                    description: >-
                      Combined spread (FX markup + take rate, plus your own
                      markupBps when the order or the quote declared one) in
                      basis points, as a string with up to two decimal places.
                      When Conduit invoices its conversion fee to you monthly,
                      the take rate is not in this spread
                  endUserRate:
                    type: string
                    description: Effective rate the customer is transacting at
                required:
                  - referenceRate
                  - totalSpreadBps
                  - endUserRate
                nullable: true
              fees:
                type: array
                items:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - fixed
                    assetAmount:
                      type: object
                      properties:
                        code:
                          type: string
                          enum:
                            - USD
                            - EUR
                            - GBP
                            - CHF
                            - JPY
                            - CAD
                            - AUD
                            - NZD
                            - SGD
                            - HKD
                            - CNY
                            - KRW
                            - INR
                            - BRL
                            - MXN
                            - ARS
                            - CLP
                            - COP
                            - PEN
                            - ZAR
                            - NGN
                            - KES
                            - GHS
                            - EGP
                            - AED
                            - SAR
                            - ILS
                            - TRY
                            - PLN
                            - CZK
                            - HUF
                            - SEK
                            - NOK
                            - DKK
                            - THB
                            - IDR
                            - MYR
                            - PHP
                            - VND
                            - TWD
                            - USDC
                            - USDT
                            - DAI
                            - EURC
                            - PYUSD
                            - OUSD
                            - BTC
                            - ETH
                            - SOL
                            - TRX
                            - XLM
                            - POL
                          description: Asset code (USDC, USD, etc.)
                        chain:
                          description: Chain when the asset is on-chain; omitted for fiat.
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - tron
                            - stellar
                            - tempo
                        amount:
                          type: string
                          description: Decimal string, asset-precision rounded
                      required:
                        - code
                        - amount
                      additionalProperties: false
                    owner:
                      type: string
                      enum:
                        - conduit
                        - you
                      description: >-
                        `conduit` for Conduit's own fee, or `you` for a flat
                        margin you declared with `markupAmount`. A percentage
                        margin sits inside the rate and never appears here.
                    charge:
                      type: string
                      enum:
                        - conversion
                        - payout
                      description: >-
                        Which leg this fee prices: `conversion` (the FX leg, in
                        the source asset) or `payout` (the rail withdrawal, in
                        the destination asset). A payout-mode option prices both
                        legs at once; a conversion-only or withdrawal-only
                        option carries one kind.
                  required:
                    - type
                    - assetAmount
                    - owner
                    - charge
              sourceAmount:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - USD
                      - EUR
                      - GBP
                      - CHF
                      - JPY
                      - CAD
                      - AUD
                      - NZD
                      - SGD
                      - HKD
                      - CNY
                      - KRW
                      - INR
                      - BRL
                      - MXN
                      - ARS
                      - CLP
                      - COP
                      - PEN
                      - ZAR
                      - NGN
                      - KES
                      - GHS
                      - EGP
                      - AED
                      - SAR
                      - ILS
                      - TRY
                      - PLN
                      - CZK
                      - HUF
                      - SEK
                      - NOK
                      - DKK
                      - THB
                      - IDR
                      - MYR
                      - PHP
                      - VND
                      - TWD
                      - USDC
                      - USDT
                      - DAI
                      - EURC
                      - PYUSD
                      - OUSD
                      - BTC
                      - ETH
                      - SOL
                      - TRX
                      - XLM
                      - POL
                    description: Asset code (USDC, USD, etc.)
                  chain:
                    description: Chain when the asset is on-chain; omitted for fiat.
                    type: string
                    enum:
                      - ethereum
                      - base
                      - solana
                      - polygon
                      - tron
                      - stellar
                      - tempo
                  amount:
                    type: string
                    description: Decimal string, asset-precision rounded
                required:
                  - code
                  - amount
                additionalProperties: false
              destinationAmount:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - USD
                      - EUR
                      - GBP
                      - CHF
                      - JPY
                      - CAD
                      - AUD
                      - NZD
                      - SGD
                      - HKD
                      - CNY
                      - KRW
                      - INR
                      - BRL
                      - MXN
                      - ARS
                      - CLP
                      - COP
                      - PEN
                      - ZAR
                      - NGN
                      - KES
                      - GHS
                      - EGP
                      - AED
                      - SAR
                      - ILS
                      - TRY
                      - PLN
                      - CZK
                      - HUF
                      - SEK
                      - NOK
                      - DKK
                      - THB
                      - IDR
                      - MYR
                      - PHP
                      - VND
                      - TWD
                      - USDC
                      - USDT
                      - DAI
                      - EURC
                      - PYUSD
                      - OUSD
                      - BTC
                      - ETH
                      - SOL
                      - TRX
                      - XLM
                      - POL
                    description: Asset code (USDC, USD, etc.)
                  chain:
                    description: Chain when the asset is on-chain; omitted for fiat.
                    type: string
                    enum:
                      - ethereum
                      - base
                      - solana
                      - polygon
                      - tron
                      - stellar
                      - tempo
                  amount:
                    type: string
                    description: Decimal string, asset-precision rounded
                required:
                  - code
                  - amount
                additionalProperties: false
              recipientAmount:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - USD
                      - EUR
                      - GBP
                      - CHF
                      - JPY
                      - CAD
                      - AUD
                      - NZD
                      - SGD
                      - HKD
                      - CNY
                      - KRW
                      - INR
                      - BRL
                      - MXN
                      - ARS
                      - CLP
                      - COP
                      - PEN
                      - ZAR
                      - NGN
                      - KES
                      - GHS
                      - EGP
                      - AED
                      - SAR
                      - ILS
                      - TRY
                      - PLN
                      - CZK
                      - HUF
                      - SEK
                      - NOK
                      - DKK
                      - THB
                      - IDR
                      - MYR
                      - PHP
                      - VND
                      - TWD
                      - USDC
                      - USDT
                      - DAI
                      - EURC
                      - PYUSD
                      - OUSD
                      - BTC
                      - ETH
                      - SOL
                      - TRX
                      - XLM
                      - POL
                    description: Asset code (USDC, USD, etc.)
                  chain:
                    description: Chain when the asset is on-chain; omitted for fiat.
                    type: string
                    enum:
                      - ethereum
                      - base
                      - solana
                      - polygon
                      - tron
                      - stellar
                      - tempo
                  amount:
                    type: string
                    description: Decimal string, asset-precision rounded
                required:
                  - code
                  - amount
                additionalProperties: false
              totalDebit:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - USD
                      - EUR
                      - GBP
                      - CHF
                      - JPY
                      - CAD
                      - AUD
                      - NZD
                      - SGD
                      - HKD
                      - CNY
                      - KRW
                      - INR
                      - BRL
                      - MXN
                      - ARS
                      - CLP
                      - COP
                      - PEN
                      - ZAR
                      - NGN
                      - KES
                      - GHS
                      - EGP
                      - AED
                      - SAR
                      - ILS
                      - TRY
                      - PLN
                      - CZK
                      - HUF
                      - SEK
                      - NOK
                      - DKK
                      - THB
                      - IDR
                      - MYR
                      - PHP
                      - VND
                      - TWD
                      - USDC
                      - USDT
                      - DAI
                      - EURC
                      - PYUSD
                      - OUSD
                      - BTC
                      - ETH
                      - SOL
                      - TRX
                      - XLM
                      - POL
                    description: Asset code (USDC, USD, etc.)
                  chain:
                    description: Chain when the asset is on-chain; omitted for fiat.
                    type: string
                    enum:
                      - ethereum
                      - base
                      - solana
                      - polygon
                      - tron
                      - stellar
                      - tempo
                  amount:
                    type: string
                    description: Decimal string, asset-precision rounded
                required:
                  - code
                  - amount
                additionalProperties: false
            required:
              - id
              - rail
              - rate
              - fees
              - sourceAmount
              - destinationAmount
              - recipientAmount
              - totalDebit
        expiresAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        createdAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
      required:
        - id
        - sourceAssetRef
        - destinationAssetRef
        - lockSide
        - amount
        - options
        - expiresAt
        - createdAt
    ValidationErrorDto:
      type: object
      properties:
        type:
          type: string
          description: Machine-readable error code
          example: CUSTOMER_NOT_FOUND
        title:
          type: string
          description: Human-readable error type label
          example: Customer Not Found
        status:
          type: number
          description: HTTP status code
          example: 404
        detail:
          type: string
          description: Human-readable explanation of this occurrence
          example: Customer with id cus_034A0gCCVsxdV2PjHLx9k1 not found
        resolution:
          type: string
          description: What the developer should do to resolve this error
          example: >-
            Verify the customer ID. Check you are using the correct API key for
            this organization.
        docs:
          type: string
          description: URL to error documentation
          example: https://conduit-v2.mintlify.app/errors#customer-not-found
        instance:
          type: string
          description: Request path that produced the error
          example: /v2/customers/cus_034A0gCCVsxdV2PjHLx9k1
        correlationId:
          description: Request correlation ID
          example: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
          type: string
        timestamp:
          type: string
          description: ISO 8601 UTC timestamp
          example: '2026-04-27T20:00:00.000Z'
        details:
          description: >-
            Additional structured data for domain-specific errors (e.g. missing
            field lists, pair info)
        errors:
          type: array
          items:
            type: object
            properties:
              pointer:
                type: string
                description: JSON pointer to the invalid field
                example: /email
              detail:
                type: string
                description: What is wrong with this field
                example: Invalid email format
              allowedValues:
                description: The values this field accepts, when it is a closed set
                example:
                  - ach
                  - fedwire
                  - rtp
                type: array
                items:
                  type: string
              category:
                description: >-
                  Class of blocker (requirements-validator output only). 'field'
                  = form-field gap, 'document' = missing or insufficient
                  document (including per-UBO document slots), 'individual' =
                  required person missing.
                example: field
                type: string
                enum:
                  - field
                  - document
                  - individual
            required:
              - pointer
              - detail
      required:
        - type
        - title
        - status
        - detail
        - resolution
        - docs
        - instance
        - timestamp
    ProblemDetailDto:
      type: object
      properties:
        type:
          type: string
          description: Machine-readable error code
          example: CUSTOMER_NOT_FOUND
        title:
          type: string
          description: Human-readable error type label
          example: Customer Not Found
        status:
          type: number
          description: HTTP status code
          example: 404
        detail:
          type: string
          description: Human-readable explanation of this occurrence
          example: Customer with id cus_034A0gCCVsxdV2PjHLx9k1 not found
        resolution:
          type: string
          description: What the developer should do to resolve this error
          example: >-
            Verify the customer ID. Check you are using the correct API key for
            this organization.
        docs:
          type: string
          description: URL to error documentation
          example: https://conduit-v2.mintlify.app/errors#customer-not-found
        instance:
          type: string
          description: Request path that produced the error
          example: /v2/customers/cus_034A0gCCVsxdV2PjHLx9k1
        correlationId:
          description: Request correlation ID
          example: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
          type: string
        timestamp:
          type: string
          description: ISO 8601 UTC timestamp
          example: '2026-04-27T20:00:00.000Z'
        details:
          description: >-
            Additional structured data for domain-specific errors (e.g. missing
            field lists, pair info)
      required:
        - type
        - title
        - status
        - detail
        - resolution
        - docs
        - instance
        - timestamp
    RateLimitedErrorDto:
      type: object
      properties:
        type:
          type: string
          description: Machine-readable error code
          example: CUSTOMER_NOT_FOUND
        title:
          type: string
          description: Human-readable error type label
          example: Customer Not Found
        status:
          type: number
          description: HTTP status code
          example: 404
        detail:
          type: string
          description: Human-readable explanation of this occurrence
          example: Customer with id cus_034A0gCCVsxdV2PjHLx9k1 not found
        resolution:
          type: string
          description: What the developer should do to resolve this error
          example: >-
            Verify the customer ID. Check you are using the correct API key for
            this organization.
        docs:
          type: string
          description: URL to error documentation
          example: https://conduit-v2.mintlify.app/errors#customer-not-found
        instance:
          type: string
          description: Request path that produced the error
          example: /v2/customers/cus_034A0gCCVsxdV2PjHLx9k1
        correlationId:
          description: Request correlation ID
          example: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
          type: string
        timestamp:
          type: string
          description: ISO 8601 UTC timestamp
          example: '2026-04-27T20:00:00.000Z'
        details:
          description: >-
            Additional structured data for domain-specific errors (e.g. missing
            field lists, pair info)
        retryAfterSeconds:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          maximum: 9007199254740991
          description: Seconds to wait before retrying
          example: 3
      required:
        - type
        - title
        - status
        - detail
        - resolution
        - docs
        - instance
        - timestamp
        - retryAfterSeconds
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: x-api-key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.