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

# Create an order

> Creates an order for a supported source and destination currency pair, including pricing and recipient validation. Returns 202 with the order in its pending state.



## OpenAPI

````yaml https://api.sandbox.conduit.financial/v2/api-docs/openapi.json post /orders
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: Documents
  - name: Verifications
  - name: Signing Requests
  - name: Transactions
  - name: Payouts
  - name: Whitelist Recipients
  - name: Orders
  - name: RFIs
  - name: Webhook Endpoints
  - name: Webhook Deliveries
  - name: Webhook Event Types
  - name: Features
  - name: Customer Onboarding
  - name: Sandbox
paths:
  /orders:
    post:
      tags:
        - Orders
      summary: Create an order
      description: >-
        Creates an order for a supported source and destination currency pair,
        including pricing and recipient validation. Returns 202 with the order
        in its pending state.
      operationId: OrdersController_create_v2
      parameters:
        - name: Idempotency-Key
          in: header
          description: >-
            Caller-generated unique key that lets the server safely replay this
            request. The cached response is returned for 5 minutes on any retry
            with the same key from the same API principal. Required on every
            state-changing money-moving or resource-creating POST.
          required: true
          schema:
            type: string
            pattern: ^[A-Za-z0-9_.:-]{1,128}$
            minLength: 1
            maxLength: 128
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/ExplicitSourceOrderDto'
                - $ref: '#/components/schemas/DepositFundedOrderDto'
      responses:
        '202':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderExternalResponseDto'
        '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. 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.


            **MALFORMED_JSON**: The request body could not be parsed as JSON.
            Bodies declared as 'application/json' — and bodies with no
            Content-Type header, which are assumed to be JSON — must contain
            syntactically valid JSON.


            **IDEMPOTENCY_KEY_REQUIRED**: This endpoint requires an
            Idempotency-Key header to prevent duplicate processing. Generate a
            unique key per logical request and resend the request.


            **IDEMPOTENCY_KEY_INVALID**: The Idempotency-Key header value did
            not match the required shape (1-128 characters, letters / digits /
            underscore / dot / colon / hyphen).


            **IDEMPOTENCY_BODY_TOO_NESTED**: The request body exceeds the
            maximum nesting depth allowed by the idempotency fingerprint hasher.
            Deeply-nested arrays or objects are rejected as a malformed payload.


            **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: req_a1b2c3d4
                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: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
        '403':
          description: >-
            **API_KEY_READ_ONLY**: This API key has read-only access and cannot
            perform write operations. Read-only keys may make read requests
            (GET, HEAD, OPTIONS) only.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: API_KEY_READ_ONLY
                title: API Key Is Read-Only
                status: 403
                detail: >-
                  This API key has read-only access and cannot perform write
                  operations. Read-only keys may make read requests (GET, HEAD,
                  OPTIONS) only.
                resolution: >-
                  Use a read-write API key for this request, or have an
                  organization admin mint one from the dashboard.
                docs: https://conduit-v2.mintlify.app/errors#api-key-read-only
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
        '404':
          description: >-
            **NO_PRICING_CONFIGURED**: No active pricing profile contains a base
            pricing rule for the requested asset pair.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: NO_PRICING_CONFIGURED
                title: No Pricing Configured
                status: 404
                detail: >-
                  No active pricing profile contains a base pricing rule for the
                  requested asset pair.
                resolution: >-
                  Configure a base pricing rule for the source/destination pair
                  before requesting an order.
                docs: https://conduit-v2.mintlify.app/errors#no-pricing-configured
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
        '409':
          description: >-
            **IDEMPOTENCY_KEY_CONFLICT**: The idempotency key was previously
            used with a different request body. Idempotency keys are bound to
            the exact request shape — replays must match the original.


            **IDEMPOTENCY_KEY_REQUEST_IN_PROGRESS**: A request with this
            idempotency key is already being processed and has not yet
            completed. Concurrent requests with the same key are rejected to
            prevent duplicate execution.


            **CONFLICT**: The request conflicts with the current state of the
            resource. This usually means a duplicate or a state transition that
            is not allowed.


            **DEPOSIT_ADDRESS_UNAVAILABLE**: A funding address for this customer
            is still being provisioned, so the order could not be given one.
            Nothing was created and no funds were moved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: IDEMPOTENCY_KEY_CONFLICT
                title: Idempotency Key Conflict
                status: 409
                detail: >-
                  The idempotency key was previously used with a different
                  request body. Idempotency keys are bound to the exact request
                  shape — replays must match the original.
                resolution: >-
                  Use a fresh idempotency key for the new request, or replay the
                  original request unchanged.
                docs: >-
                  https://conduit-v2.mintlify.app/errors#idempotency-key-conflict
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
        '415':
          description: >-
            **UNSUPPORTED_MEDIA_TYPE**: The request carries a body with a
            Content-Type this endpoint cannot parse. JSON endpoints accept
            'application/json'; a body with no Content-Type header at all is
            assumed to be JSON. File-upload endpoints accept only
            'multipart/form-data' — JSON or undeclared bodies are rejected
            there.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: UNSUPPORTED_MEDIA_TYPE
                title: Unsupported Media Type
                status: 415
                detail: >-
                  The request carries a body with a Content-Type this endpoint
                  cannot parse. JSON endpoints accept 'application/json'; a body
                  with no Content-Type header at all is assumed to be JSON.
                  File-upload endpoints accept only 'multipart/form-data' — JSON
                  or undeclared bodies are rejected there.
                resolution: >-
                  Send the request body with the 'Content-Type:
                  application/json' header. For file uploads, use 'Content-Type:
                  multipart/form-data' — upload endpoints accept no other body
                  type.
                docs: https://conduit-v2.mintlify.app/errors#unsupported-media-type
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
        '422':
          description: >-
            **UNSUPPORTED_PAIR**: The requested source and destination asset
            pair is not supported.


            **INVALID_ORDER_COMBO**: The requested order combination is not
            supported: same-asset same-chain moves, mismatched source and
            destination resources, or an autoPayout shape that does not match
            the order direction. OFFRAMP orders require a fiat autoPayout (`{
            rail, purpose, documents?, recipient }`); ONRAMP orders require a
            crypto autoPayout (`{ purpose, documents?, recipient: { rail:
            'crypto', chain, address, attestation } }`), self- or
            third-party-custody. `purpose` is required and drives the
            documentation / whitelist gate; `documents` are supporting-document
            ids. `recipient.chain` must match the destination wallet's chain.


            **NON_CUSTODIAL_SOURCE_NOT_SUPPORTED**: Non-custodial source wallets
            are supported on EVM chains only. On non-EVM chains (Tron, Solana,
            Stellar, Bitcoin) the order is rejected at creation.


            **MISSING_REQUIRED_FIELDS**: The order request is missing one or
            more fields required for the destination shape.


            **RECIPIENT_VALIDATION_FAILED**: The supplied recipient or
            destination details failed validation for the chosen rail, chain, or
            corridor.


            **AMOUNT_OUT_OF_RANGE**: The requested amount is below the minimum
            or above the maximum allowed for this order.


            **TRANSACTION_BLOCKED**: The transaction is blocked by policy. This
            decision is terminal.
          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.
                resolution: >-
                  Check the configured trading pairs and submit a supported
                  source/destination asset combination.
                docs: https://conduit-v2.mintlify.app/errors#unsupported-pair
                instance: /v2/...
                correlationId: req_a1b2c3d4
                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,
            X-RateLimit-Remaining, and X-RateLimit-Reset on rate-limited route
            responses.
          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, X-RateLimit-Remaining, and
                  X-RateLimit-Reset on rate-limited route responses.
                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: req_a1b2c3d4
                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: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
        '503':
          description: >-
            **RATE_UNAVAILABLE**: A live exchange rate could not be retrieved
            for the requested currency pair. The rate provider may be
            temporarily unavailable.


            **RATE_UNAVAILABLE_AFTER_HOURS**: The market for this currency pair
            is currently closed and no prior open-market rate is available to
            freeze, so a quote cannot be produced.


            **POLICY_EVALUATION_UNAVAILABLE**: The documentation policy could
            not be evaluated because a policy lookup did not complete. No
            transaction was created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: RATE_UNAVAILABLE
                title: Rate Unavailable
                status: 503
                detail: >-
                  A live exchange rate could not be retrieved for the requested
                  currency pair. The rate provider may be temporarily
                  unavailable.
                resolution: >-
                  Retry the request after a short delay. If the error persists,
                  the rate provider for this currency pair may be experiencing
                  an outage.
                docs: https://conduit-v2.mintlify.app/errors/rate-unavailable
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
components:
  schemas:
    ExplicitSourceOrderDto:
      type: object
      properties:
        clientReferenceId:
          type: string
          pattern: ^[A-Za-z0-9_\-:.]{1,255}$
          description: >-
            Client-supplied reference, unique per resource within your
            organization. 1-255 characters from A-Za-z, 0-9, underscore, hyphen,
            colon, and period — no spaces.
        destination:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                id:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
                asset:
                  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
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                    chain:
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - arbitrum
                        - optimism
                        - avalanche
                        - tron
                        - stellar
                        - bsc
                        - bitcoin
                      nullable: true
                  required:
                    - code
              required:
                - type
                - id
                - asset
              additionalProperties: false
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                id:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
              required:
                - type
                - id
              additionalProperties: false
        autoPayout:
          anyOf:
            - type: object
              properties:
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - swift
                recipient:
                  oneOf:
                    - oneOf:
                        - type: object
                          properties:
                            rail:
                              type: string
                              enum:
                                - us
                            accountNumber:
                              type: string
                              minLength: 4
                              maxLength: 64
                            routingNumber:
                              type: string
                            accountType:
                              type: string
                              enum:
                                - checking
                                - savings
                            bankName:
                              type: string
                              maxLength: 140
                            bankAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                            phone:
                              description: >-
                                Recipient contact phone. Optional; forwarded to
                                the banking partner when provided.
                              type: string
                              maxLength: 40
                            type:
                              type: string
                              enum:
                                - individual
                            firstName:
                              type: string
                              maxLength: 70
                            lastName:
                              type: string
                              maxLength: 70
                            dateOfBirth:
                              type: string
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                            countryOfCitizenship:
                              type: string
                            postalAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                          required:
                            - rail
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                          additionalProperties: false
                        - type: object
                          properties:
                            rail:
                              type: string
                              enum:
                                - us
                            accountNumber:
                              type: string
                              minLength: 4
                              maxLength: 64
                            routingNumber:
                              type: string
                            accountType:
                              type: string
                              enum:
                                - checking
                                - savings
                            bankName:
                              type: string
                              maxLength: 140
                            bankAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                            phone:
                              description: >-
                                Recipient contact phone. Optional; forwarded to
                                the banking partner when provided.
                              type: string
                              maxLength: 40
                            type:
                              type: string
                              enum:
                                - business
                            legalName:
                              type: string
                              maxLength: 140
                            countryOfRegistration:
                              type: string
                            postalAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                          required:
                            - rail
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - type
                            - legalName
                            - postalAddress
                          additionalProperties: false
                    - oneOf:
                        - type: object
                          properties:
                            rail:
                              type: string
                              enum:
                                - swift
                            accountNumber:
                              type: string
                              minLength: 4
                              maxLength: 64
                            iban:
                              type: string
                            bic:
                              type: string
                            bankName:
                              type: string
                              maxLength: 140
                            bankAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                            phone:
                              description: >-
                                Recipient contact phone. Optional; forwarded to
                                the banking partner when provided.
                              type: string
                              maxLength: 40
                            type:
                              type: string
                              enum:
                                - individual
                            firstName:
                              type: string
                              maxLength: 70
                            lastName:
                              type: string
                              maxLength: 70
                            dateOfBirth:
                              type: string
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                            countryOfCitizenship:
                              type: string
                            postalAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                          required:
                            - rail
                            - bic
                            - bankAddress
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                          additionalProperties: false
                        - type: object
                          properties:
                            rail:
                              type: string
                              enum:
                                - swift
                            accountNumber:
                              type: string
                              minLength: 4
                              maxLength: 64
                            iban:
                              type: string
                            bic:
                              type: string
                            bankName:
                              type: string
                              maxLength: 140
                            bankAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                            phone:
                              description: >-
                                Recipient contact phone. Optional; forwarded to
                                the banking partner when provided.
                              type: string
                              maxLength: 40
                            type:
                              type: string
                              enum:
                                - business
                            legalName:
                              type: string
                              maxLength: 140
                            countryOfRegistration:
                              type: string
                            postalAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                          required:
                            - rail
                            - bic
                            - bankAddress
                            - type
                            - legalName
                            - postalAddress
                          additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - crypto
                        chain:
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - arbitrum
                            - optimism
                            - avalanche
                            - tron
                            - stellar
                            - bsc
                            - bitcoin
                        address:
                          type: string
                          minLength: 1
                          maxLength: 255
                        attestation:
                          type: object
                          properties:
                            custody:
                              type: string
                              enum:
                                - self
                                - third_party
                          required:
                            - custody
                          additionalProperties: false
                        type:
                          type: string
                          enum:
                            - individual
                            - business
                        firstName:
                          type: string
                          maxLength: 70
                        lastName:
                          type: string
                          maxLength: 70
                        legalName:
                          type: string
                          maxLength: 140
                        dateOfBirth:
                          type: string
                          format: date
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                        countryOfCitizenship:
                          type: string
                        countryOfRegistration:
                          type: string
                        postalAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                        phone:
                          type: string
                          maxLength: 40
                      required:
                        - rail
                        - chain
                        - address
                        - attestation
                      additionalProperties: false
                ach:
                  type: object
                  properties:
                    authorizationType:
                      type: string
                      enum:
                        - corporate_agreement
                        - written
                        - web
                  required:
                    - authorizationType
                swift:
                  type: object
                  properties:
                    purposeOfPayment:
                      type: string
                      maxLength: 140
                instant:
                  type: object
                  properties:
                    receiverNetworkPreference:
                      type: string
                      enum:
                        - tch
                        - fednow
                remittance:
                  type: object
                  properties:
                    reference:
                      type: string
                      maxLength: 140
                    description:
                      type: string
                      maxLength: 280
                purpose:
                  type: string
                  enum:
                    - intercompany
                    - treasury_management
                    - payment_for_goods_or_services
                    - payroll
                    - investments
                    - other
                    - prefunding
                  description: >-
                    Declared business purpose of the chained auto-payout. Drives
                    documentation requirements and whitelist policy.
                documents:
                  description: >-
                    IDs of previously uploaded supporting documents (doc_*),
                    must be uploaded with purpose transaction_support. Maximum
                    10.
                  maxItems: 10
                  type: array
                  items:
                    type: string
                    pattern: ^doc_[0-9A-Za-z]{22}$
              required:
                - rail
                - recipient
                - purpose
              additionalProperties: false
            - type: object
              properties:
                recipient:
                  oneOf:
                    - oneOf:
                        - type: object
                          properties:
                            rail:
                              type: string
                              enum:
                                - us
                            accountNumber:
                              type: string
                              minLength: 4
                              maxLength: 64
                            routingNumber:
                              type: string
                            accountType:
                              type: string
                              enum:
                                - checking
                                - savings
                            bankName:
                              type: string
                              maxLength: 140
                            bankAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                            phone:
                              description: >-
                                Recipient contact phone. Optional; forwarded to
                                the banking partner when provided.
                              type: string
                              maxLength: 40
                            type:
                              type: string
                              enum:
                                - individual
                            firstName:
                              type: string
                              maxLength: 70
                            lastName:
                              type: string
                              maxLength: 70
                            dateOfBirth:
                              type: string
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                            countryOfCitizenship:
                              type: string
                            postalAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                          required:
                            - rail
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                          additionalProperties: false
                        - type: object
                          properties:
                            rail:
                              type: string
                              enum:
                                - us
                            accountNumber:
                              type: string
                              minLength: 4
                              maxLength: 64
                            routingNumber:
                              type: string
                            accountType:
                              type: string
                              enum:
                                - checking
                                - savings
                            bankName:
                              type: string
                              maxLength: 140
                            bankAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                            phone:
                              description: >-
                                Recipient contact phone. Optional; forwarded to
                                the banking partner when provided.
                              type: string
                              maxLength: 40
                            type:
                              type: string
                              enum:
                                - business
                            legalName:
                              type: string
                              maxLength: 140
                            countryOfRegistration:
                              type: string
                            postalAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                          required:
                            - rail
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - type
                            - legalName
                            - postalAddress
                          additionalProperties: false
                    - oneOf:
                        - type: object
                          properties:
                            rail:
                              type: string
                              enum:
                                - swift
                            accountNumber:
                              type: string
                              minLength: 4
                              maxLength: 64
                            iban:
                              type: string
                            bic:
                              type: string
                            bankName:
                              type: string
                              maxLength: 140
                            bankAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                            phone:
                              description: >-
                                Recipient contact phone. Optional; forwarded to
                                the banking partner when provided.
                              type: string
                              maxLength: 40
                            type:
                              type: string
                              enum:
                                - individual
                            firstName:
                              type: string
                              maxLength: 70
                            lastName:
                              type: string
                              maxLength: 70
                            dateOfBirth:
                              type: string
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                            countryOfCitizenship:
                              type: string
                            postalAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                          required:
                            - rail
                            - bic
                            - bankAddress
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                          additionalProperties: false
                        - type: object
                          properties:
                            rail:
                              type: string
                              enum:
                                - swift
                            accountNumber:
                              type: string
                              minLength: 4
                              maxLength: 64
                            iban:
                              type: string
                            bic:
                              type: string
                            bankName:
                              type: string
                              maxLength: 140
                            bankAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                            phone:
                              description: >-
                                Recipient contact phone. Optional; forwarded to
                                the banking partner when provided.
                              type: string
                              maxLength: 40
                            type:
                              type: string
                              enum:
                                - business
                            legalName:
                              type: string
                              maxLength: 140
                            countryOfRegistration:
                              type: string
                            postalAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                          required:
                            - rail
                            - bic
                            - bankAddress
                            - type
                            - legalName
                            - postalAddress
                          additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - crypto
                        chain:
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - arbitrum
                            - optimism
                            - avalanche
                            - tron
                            - stellar
                            - bsc
                            - bitcoin
                        address:
                          type: string
                          minLength: 1
                          maxLength: 255
                        attestation:
                          type: object
                          properties:
                            custody:
                              type: string
                              enum:
                                - self
                                - third_party
                          required:
                            - custody
                          additionalProperties: false
                        type:
                          type: string
                          enum:
                            - individual
                            - business
                        firstName:
                          type: string
                          maxLength: 70
                        lastName:
                          type: string
                          maxLength: 70
                        legalName:
                          type: string
                          maxLength: 140
                        dateOfBirth:
                          type: string
                          format: date
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                        countryOfCitizenship:
                          type: string
                        countryOfRegistration:
                          type: string
                        postalAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                        phone:
                          type: string
                          maxLength: 40
                      required:
                        - rail
                        - chain
                        - address
                        - attestation
                      additionalProperties: false
                purpose:
                  type: string
                  enum:
                    - intercompany
                    - treasury_management
                    - payment_for_goods_or_services
                    - payroll
                    - investments
                    - other
                    - prefunding
                  description: >-
                    Declared business purpose of the chained auto-payout. Drives
                    documentation requirements and whitelist policy.
                documents:
                  description: >-
                    IDs of previously uploaded supporting documents (doc_*),
                    must be uploaded with purpose transaction_support. Maximum
                    10.
                  maxItems: 10
                  type: array
                  items:
                    type: string
                    pattern: ^doc_[0-9A-Za-z]{22}$
              required:
                - recipient
                - purpose
              additionalProperties: false
        lockSide:
          type: string
          enum:
            - source
            - destination
        amount:
          type: string
        source:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                id:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
                asset:
                  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
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                    chain:
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - arbitrum
                        - optimism
                        - avalanche
                        - tron
                        - stellar
                        - bsc
                        - bitcoin
                      nullable: true
                  required:
                    - code
              required:
                - type
                - id
                - asset
              additionalProperties: false
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                id:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
              required:
                - type
                - id
              additionalProperties: false
        autoExecute:
          default: false
          type: boolean
      required:
        - destination
        - lockSide
        - amount
        - source
      additionalProperties: false
    DepositFundedOrderDto:
      type: object
      properties:
        clientReferenceId:
          type: string
          pattern: ^[A-Za-z0-9_\-:.]{1,255}$
          description: >-
            Client-supplied reference, unique per resource within your
            organization. 1-255 characters from A-Za-z, 0-9, underscore, hyphen,
            colon, and period — no spaces.
        destination:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                id:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
                asset:
                  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
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                    chain:
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - arbitrum
                        - optimism
                        - avalanche
                        - tron
                        - stellar
                        - bsc
                        - bitcoin
                      nullable: true
                  required:
                    - code
              required:
                - type
                - id
                - asset
              additionalProperties: false
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                id:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
              required:
                - type
                - id
              additionalProperties: false
        autoPayout:
          anyOf:
            - type: object
              properties:
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - swift
                recipient:
                  oneOf:
                    - oneOf:
                        - type: object
                          properties:
                            rail:
                              type: string
                              enum:
                                - us
                            accountNumber:
                              type: string
                              minLength: 4
                              maxLength: 64
                            routingNumber:
                              type: string
                            accountType:
                              type: string
                              enum:
                                - checking
                                - savings
                            bankName:
                              type: string
                              maxLength: 140
                            bankAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                            phone:
                              description: >-
                                Recipient contact phone. Optional; forwarded to
                                the banking partner when provided.
                              type: string
                              maxLength: 40
                            type:
                              type: string
                              enum:
                                - individual
                            firstName:
                              type: string
                              maxLength: 70
                            lastName:
                              type: string
                              maxLength: 70
                            dateOfBirth:
                              type: string
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                            countryOfCitizenship:
                              type: string
                            postalAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                          required:
                            - rail
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                          additionalProperties: false
                        - type: object
                          properties:
                            rail:
                              type: string
                              enum:
                                - us
                            accountNumber:
                              type: string
                              minLength: 4
                              maxLength: 64
                            routingNumber:
                              type: string
                            accountType:
                              type: string
                              enum:
                                - checking
                                - savings
                            bankName:
                              type: string
                              maxLength: 140
                            bankAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                            phone:
                              description: >-
                                Recipient contact phone. Optional; forwarded to
                                the banking partner when provided.
                              type: string
                              maxLength: 40
                            type:
                              type: string
                              enum:
                                - business
                            legalName:
                              type: string
                              maxLength: 140
                            countryOfRegistration:
                              type: string
                            postalAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                          required:
                            - rail
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - type
                            - legalName
                            - postalAddress
                          additionalProperties: false
                    - oneOf:
                        - type: object
                          properties:
                            rail:
                              type: string
                              enum:
                                - swift
                            accountNumber:
                              type: string
                              minLength: 4
                              maxLength: 64
                            iban:
                              type: string
                            bic:
                              type: string
                            bankName:
                              type: string
                              maxLength: 140
                            bankAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                            phone:
                              description: >-
                                Recipient contact phone. Optional; forwarded to
                                the banking partner when provided.
                              type: string
                              maxLength: 40
                            type:
                              type: string
                              enum:
                                - individual
                            firstName:
                              type: string
                              maxLength: 70
                            lastName:
                              type: string
                              maxLength: 70
                            dateOfBirth:
                              type: string
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                            countryOfCitizenship:
                              type: string
                            postalAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                          required:
                            - rail
                            - bic
                            - bankAddress
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                          additionalProperties: false
                        - type: object
                          properties:
                            rail:
                              type: string
                              enum:
                                - swift
                            accountNumber:
                              type: string
                              minLength: 4
                              maxLength: 64
                            iban:
                              type: string
                            bic:
                              type: string
                            bankName:
                              type: string
                              maxLength: 140
                            bankAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                            phone:
                              description: >-
                                Recipient contact phone. Optional; forwarded to
                                the banking partner when provided.
                              type: string
                              maxLength: 40
                            type:
                              type: string
                              enum:
                                - business
                            legalName:
                              type: string
                              maxLength: 140
                            countryOfRegistration:
                              type: string
                            postalAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                          required:
                            - rail
                            - bic
                            - bankAddress
                            - type
                            - legalName
                            - postalAddress
                          additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - crypto
                        chain:
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - arbitrum
                            - optimism
                            - avalanche
                            - tron
                            - stellar
                            - bsc
                            - bitcoin
                        address:
                          type: string
                          minLength: 1
                          maxLength: 255
                        attestation:
                          type: object
                          properties:
                            custody:
                              type: string
                              enum:
                                - self
                                - third_party
                          required:
                            - custody
                          additionalProperties: false
                        type:
                          type: string
                          enum:
                            - individual
                            - business
                        firstName:
                          type: string
                          maxLength: 70
                        lastName:
                          type: string
                          maxLength: 70
                        legalName:
                          type: string
                          maxLength: 140
                        dateOfBirth:
                          type: string
                          format: date
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                        countryOfCitizenship:
                          type: string
                        countryOfRegistration:
                          type: string
                        postalAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                        phone:
                          type: string
                          maxLength: 40
                      required:
                        - rail
                        - chain
                        - address
                        - attestation
                      additionalProperties: false
                ach:
                  type: object
                  properties:
                    authorizationType:
                      type: string
                      enum:
                        - corporate_agreement
                        - written
                        - web
                  required:
                    - authorizationType
                swift:
                  type: object
                  properties:
                    purposeOfPayment:
                      type: string
                      maxLength: 140
                instant:
                  type: object
                  properties:
                    receiverNetworkPreference:
                      type: string
                      enum:
                        - tch
                        - fednow
                remittance:
                  type: object
                  properties:
                    reference:
                      type: string
                      maxLength: 140
                    description:
                      type: string
                      maxLength: 280
                purpose:
                  type: string
                  enum:
                    - intercompany
                    - treasury_management
                    - payment_for_goods_or_services
                    - payroll
                    - investments
                    - other
                    - prefunding
                  description: >-
                    Declared business purpose of the chained auto-payout. Drives
                    documentation requirements and whitelist policy.
                documents:
                  description: >-
                    IDs of previously uploaded supporting documents (doc_*),
                    must be uploaded with purpose transaction_support. Maximum
                    10.
                  maxItems: 10
                  type: array
                  items:
                    type: string
                    pattern: ^doc_[0-9A-Za-z]{22}$
              required:
                - rail
                - recipient
                - purpose
              additionalProperties: false
            - type: object
              properties:
                recipient:
                  oneOf:
                    - oneOf:
                        - type: object
                          properties:
                            rail:
                              type: string
                              enum:
                                - us
                            accountNumber:
                              type: string
                              minLength: 4
                              maxLength: 64
                            routingNumber:
                              type: string
                            accountType:
                              type: string
                              enum:
                                - checking
                                - savings
                            bankName:
                              type: string
                              maxLength: 140
                            bankAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                            phone:
                              description: >-
                                Recipient contact phone. Optional; forwarded to
                                the banking partner when provided.
                              type: string
                              maxLength: 40
                            type:
                              type: string
                              enum:
                                - individual
                            firstName:
                              type: string
                              maxLength: 70
                            lastName:
                              type: string
                              maxLength: 70
                            dateOfBirth:
                              type: string
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                            countryOfCitizenship:
                              type: string
                            postalAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                          required:
                            - rail
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                          additionalProperties: false
                        - type: object
                          properties:
                            rail:
                              type: string
                              enum:
                                - us
                            accountNumber:
                              type: string
                              minLength: 4
                              maxLength: 64
                            routingNumber:
                              type: string
                            accountType:
                              type: string
                              enum:
                                - checking
                                - savings
                            bankName:
                              type: string
                              maxLength: 140
                            bankAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                            phone:
                              description: >-
                                Recipient contact phone. Optional; forwarded to
                                the banking partner when provided.
                              type: string
                              maxLength: 40
                            type:
                              type: string
                              enum:
                                - business
                            legalName:
                              type: string
                              maxLength: 140
                            countryOfRegistration:
                              type: string
                            postalAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                          required:
                            - rail
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - type
                            - legalName
                            - postalAddress
                          additionalProperties: false
                    - oneOf:
                        - type: object
                          properties:
                            rail:
                              type: string
                              enum:
                                - swift
                            accountNumber:
                              type: string
                              minLength: 4
                              maxLength: 64
                            iban:
                              type: string
                            bic:
                              type: string
                            bankName:
                              type: string
                              maxLength: 140
                            bankAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                            phone:
                              description: >-
                                Recipient contact phone. Optional; forwarded to
                                the banking partner when provided.
                              type: string
                              maxLength: 40
                            type:
                              type: string
                              enum:
                                - individual
                            firstName:
                              type: string
                              maxLength: 70
                            lastName:
                              type: string
                              maxLength: 70
                            dateOfBirth:
                              type: string
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                            countryOfCitizenship:
                              type: string
                            postalAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                          required:
                            - rail
                            - bic
                            - bankAddress
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                          additionalProperties: false
                        - type: object
                          properties:
                            rail:
                              type: string
                              enum:
                                - swift
                            accountNumber:
                              type: string
                              minLength: 4
                              maxLength: 64
                            iban:
                              type: string
                            bic:
                              type: string
                            bankName:
                              type: string
                              maxLength: 140
                            bankAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                            phone:
                              description: >-
                                Recipient contact phone. Optional; forwarded to
                                the banking partner when provided.
                              type: string
                              maxLength: 40
                            type:
                              type: string
                              enum:
                                - business
                            legalName:
                              type: string
                              maxLength: 140
                            countryOfRegistration:
                              type: string
                            postalAddress:
                              type: object
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 120
                                addressLine2:
                                  type: string
                                  maxLength: 120
                                city:
                                  type: string
                                  maxLength: 80
                                state:
                                  type: string
                                  maxLength: 80
                                postalCode:
                                  type: string
                                  maxLength: 32
                                country:
                                  type: string
                              required:
                                - addressLine1
                                - city
                                - country
                              additionalProperties: false
                          required:
                            - rail
                            - bic
                            - bankAddress
                            - type
                            - legalName
                            - postalAddress
                          additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - crypto
                        chain:
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - arbitrum
                            - optimism
                            - avalanche
                            - tron
                            - stellar
                            - bsc
                            - bitcoin
                        address:
                          type: string
                          minLength: 1
                          maxLength: 255
                        attestation:
                          type: object
                          properties:
                            custody:
                              type: string
                              enum:
                                - self
                                - third_party
                          required:
                            - custody
                          additionalProperties: false
                        type:
                          type: string
                          enum:
                            - individual
                            - business
                        firstName:
                          type: string
                          maxLength: 70
                        lastName:
                          type: string
                          maxLength: 70
                        legalName:
                          type: string
                          maxLength: 140
                        dateOfBirth:
                          type: string
                          format: date
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                        countryOfCitizenship:
                          type: string
                        countryOfRegistration:
                          type: string
                        postalAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                        phone:
                          type: string
                          maxLength: 40
                      required:
                        - rail
                        - chain
                        - address
                        - attestation
                      additionalProperties: false
                purpose:
                  type: string
                  enum:
                    - intercompany
                    - treasury_management
                    - payment_for_goods_or_services
                    - payroll
                    - investments
                    - other
                    - prefunding
                  description: >-
                    Declared business purpose of the chained auto-payout. Drives
                    documentation requirements and whitelist policy.
                documents:
                  description: >-
                    IDs of previously uploaded supporting documents (doc_*),
                    must be uploaded with purpose transaction_support. Maximum
                    10.
                  maxItems: 10
                  type: array
                  items:
                    type: string
                    pattern: ^doc_[0-9A-Za-z]{22}$
              required:
                - recipient
                - purpose
              additionalProperties: false
        lockSide:
          type: string
          enum:
            - source
            - destination
        amount:
          type: string
        sourceAsset:
          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
                - BTC
                - ETH
                - SOL
                - TRX
            chain:
              type: string
              enum:
                - ethereum
                - base
                - solana
                - polygon
                - arbitrum
                - optimism
                - avalanche
                - tron
                - stellar
                - bsc
                - bitcoin
              nullable: true
          required:
            - code
          description: >-
            The crypto asset (with chain) the order is funded in. Conduit
            resolves the customer's deposit wallet as the source; auto-execution
            is forced.
      required:
        - destination
        - lockSide
        - amount
        - sourceAsset
      additionalProperties: false
    OrderExternalResponseDto:
      type: object
      properties:
        id:
          type: string
          pattern: ^ord_[0-9A-Za-z]{22}$
        customerId:
          type: string
          pattern: ^cus_[0-9A-Za-z]{22}$
          nullable: true
        clientReferenceId:
          type: string
          pattern: ^[A-Za-z0-9_\-:.]{1,255}$
          description: >-
            Client-supplied reference, unique per resource within your
            organization. 1-255 characters from A-Za-z, 0-9, underscore, hyphen,
            colon, and period — no spaces.
        status:
          type: string
          enum:
            - pending
            - succeeded
            - failed
            - cancelled
        type:
          type: string
          enum:
            - onramp
            - offramp
            - conversion
        source:
          description: >-
            The funding resource, when the order named one. Omitted entirely on
            a deposit-funded order (created without a `source`): the funding
            wallet is Conduit-managed infrastructure with no client-resolvable
            id, and `depositInstructions` carries the address to fund at
            instead. The presence of `depositInstructions` is the discriminator.
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                id:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
              required:
                - type
                - id
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                id:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
              required:
                - type
                - id
        destination:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                id:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
              required:
                - type
                - id
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                id:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
              required:
                - type
                - id
        sourceAsset:
          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
                - BTC
                - ETH
                - SOL
                - TRX
              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
                - arbitrum
                - optimism
                - avalanche
                - tron
                - stellar
                - bsc
                - bitcoin
            amount:
              type: string
              description: Decimal string, asset-precision rounded
          required:
            - code
            - amount
          additionalProperties: false
        destinationAsset:
          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
                - BTC
                - ETH
                - SOL
                - TRX
              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
                - arbitrum
                - optimism
                - avalanche
                - tron
                - stellar
                - bsc
                - bitcoin
            amount:
              type: string
              description: Decimal string, asset-precision rounded
          required:
            - code
            - amount
          additionalProperties: false
        lockSide:
          type: string
          enum:
            - source
            - destination
        autoPayout:
          type: object
          properties:
            recipient:
              oneOf:
                - oneOf:
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - us
                        accountNumber:
                          type: string
                          minLength: 4
                          maxLength: 64
                        routingNumber:
                          type: string
                        accountType:
                          type: string
                          enum:
                            - checking
                            - savings
                        bankName:
                          type: string
                          maxLength: 140
                        bankAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                        phone:
                          description: >-
                            Recipient contact phone. Optional; forwarded to the
                            banking partner when provided.
                          type: string
                          maxLength: 40
                        type:
                          type: string
                          enum:
                            - individual
                        firstName:
                          type: string
                          maxLength: 70
                        lastName:
                          type: string
                          maxLength: 70
                        dateOfBirth:
                          type: string
                          format: date
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                        countryOfCitizenship:
                          type: string
                        postalAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                      required:
                        - rail
                        - accountNumber
                        - routingNumber
                        - accountType
                        - bankAddress
                        - type
                        - firstName
                        - lastName
                        - postalAddress
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - us
                        accountNumber:
                          type: string
                          minLength: 4
                          maxLength: 64
                        routingNumber:
                          type: string
                        accountType:
                          type: string
                          enum:
                            - checking
                            - savings
                        bankName:
                          type: string
                          maxLength: 140
                        bankAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                        phone:
                          description: >-
                            Recipient contact phone. Optional; forwarded to the
                            banking partner when provided.
                          type: string
                          maxLength: 40
                        type:
                          type: string
                          enum:
                            - business
                        legalName:
                          type: string
                          maxLength: 140
                        countryOfRegistration:
                          type: string
                        postalAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                      required:
                        - rail
                        - accountNumber
                        - routingNumber
                        - accountType
                        - bankAddress
                        - type
                        - legalName
                        - postalAddress
                - oneOf:
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - swift
                        accountNumber:
                          type: string
                          minLength: 4
                          maxLength: 64
                        iban:
                          type: string
                        bic:
                          type: string
                        bankName:
                          type: string
                          maxLength: 140
                        bankAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                        phone:
                          description: >-
                            Recipient contact phone. Optional; forwarded to the
                            banking partner when provided.
                          type: string
                          maxLength: 40
                        type:
                          type: string
                          enum:
                            - individual
                        firstName:
                          type: string
                          maxLength: 70
                        lastName:
                          type: string
                          maxLength: 70
                        dateOfBirth:
                          type: string
                          format: date
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                        countryOfCitizenship:
                          type: string
                        postalAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                      required:
                        - rail
                        - bic
                        - bankAddress
                        - type
                        - firstName
                        - lastName
                        - postalAddress
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - swift
                        accountNumber:
                          type: string
                          minLength: 4
                          maxLength: 64
                        iban:
                          type: string
                        bic:
                          type: string
                        bankName:
                          type: string
                          maxLength: 140
                        bankAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                        phone:
                          description: >-
                            Recipient contact phone. Optional; forwarded to the
                            banking partner when provided.
                          type: string
                          maxLength: 40
                        type:
                          type: string
                          enum:
                            - business
                        legalName:
                          type: string
                          maxLength: 140
                        countryOfRegistration:
                          type: string
                        postalAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                      required:
                        - rail
                        - bic
                        - bankAddress
                        - type
                        - legalName
                        - postalAddress
                - type: object
                  properties:
                    rail:
                      type: string
                      enum:
                        - crypto
                    chain:
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - arbitrum
                        - optimism
                        - avalanche
                        - tron
                        - stellar
                        - bsc
                        - bitcoin
                    address:
                      type: string
                    attestation:
                      type: object
                      properties:
                        custody:
                          type: string
                          enum:
                            - self
                            - third_party
                      required:
                        - custody
                      additionalProperties: false
                    type:
                      type: string
                      enum:
                        - individual
                        - business
                    firstName:
                      type: string
                    lastName:
                      type: string
                    legalName:
                      type: string
                    dateOfBirth:
                      type: string
                    countryOfCitizenship:
                      type: string
                    countryOfRegistration:
                      type: string
                    postalAddress:
                      type: object
                      properties:
                        addressLine1:
                          type: string
                          maxLength: 120
                        addressLine2:
                          type: string
                          maxLength: 120
                        city:
                          type: string
                          maxLength: 80
                        state:
                          type: string
                          maxLength: 80
                        postalCode:
                          type: string
                          maxLength: 32
                        country:
                          type: string
                      required:
                        - addressLine1
                        - city
                        - country
                      additionalProperties: false
                    phone:
                      type: string
                  required:
                    - rail
                    - chain
                    - address
                    - attestation
            rail:
              type: string
              enum:
                - rtp
                - fedwire
                - ach
                - swift
                - fednow
            ach:
              type: object
              properties:
                authorizationType:
                  type: string
                  enum:
                    - corporate_agreement
                    - written
                    - web
              required:
                - authorizationType
            swift:
              type: object
              properties:
                purposeOfPayment:
                  type: string
                  maxLength: 140
            instant:
              type: object
              properties:
                receiverNetworkPreference:
                  type: string
                  enum:
                    - tch
                    - fednow
            remittance:
              type: object
              properties:
                reference:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 280
          required:
            - recipient
          description: >-
            AutoPayout payload. Crypto recipients omit
            `rail`/`ach`/`swift`/`instant`/`remittance`; fiat (us|swift)
            recipients require `rail` and may carry the matching per-rail
            context block.
        rate:
          type: object
          properties:
            referenceRate:
              type: string
              description: Market reference rate at quote time
            totalSpreadBps:
              type: string
              description: >-
                Combined spread (FX markup + take rate) in basis points, integer
                as string
            endUserRate:
              type: string
              description: Effective rate the customer is transacting at
          required:
            - referenceRate
            - totalSpreadBps
            - endUserRate
        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
                      - BTC
                      - ETH
                      - SOL
                      - TRX
                    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
                      - arbitrum
                      - optimism
                      - avalanche
                      - tron
                      - stellar
                      - bsc
                      - bitcoin
                  amount:
                    type: string
                    description: Decimal string, asset-precision rounded
                required:
                  - code
                  - amount
                additionalProperties: false
            required:
              - type
              - assetAmount
        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
                - BTC
                - ETH
                - SOL
                - TRX
              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
                - arbitrum
                - optimism
                - avalanche
                - tron
                - stellar
                - bsc
                - bitcoin
            amount:
              type: string
              description: Decimal string, asset-precision rounded
          required:
            - code
            - amount
          additionalProperties: false
        lockExpiresAt:
          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'
        autoExecute:
          type: boolean
        executedAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        executionTrigger:
          type: string
          enum:
            - client
            - auto
        cancelledAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        cancellationReason:
          type: string
          enum:
            - expired
            - client_cancelled
        failureCode:
          type: string
          enum:
            - insufficient_funds
            - provider_unavailable
            - provider_rejected
            - internal_error
            - cancelled
        failureMessage:
          type: string
        linkedTransactionIds:
          type: array
          items:
            type: string
            pattern: ^txn_[0-9A-Za-z]{22}$
        depositInstructions:
          minItems: 1
          maxItems: 1
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                description: >-
                  Discriminator for this deposit block: send crypto to an
                  on-chain address.
                enum:
                  - crypto_address
              address:
                type: string
                description: Conduit-managed deposit address for funding this order.
              chain:
                type: string
                enum:
                  - ethereum
                  - base
                  - solana
                  - polygon
                  - arbitrum
                  - optimism
                  - avalanche
                  - tron
                  - stellar
                  - bsc
                  - bitcoin
                description: >-
                  Blockchain network to send the funding deposit on. Sending on
                  any other chain will not fund the order.
              asset:
                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
                  - BTC
                  - ETH
                  - SOL
                  - TRX
                description: Asset code to send.
              expiresAt:
                type: string
                format: date-time
                description: >-
                  Funding deadline; the order is cancelled if unfunded by this
                  time.
                example: '2026-01-15T09:30:00.000Z'
            required:
              - type
              - address
              - chain
              - asset
              - expiresAt
          description: >-
            Where to send funds to fund this order. Exactly one `crypto_address`
            block.
        fundedBy:
          description: >-
            Transfers that funded this order, with how much of each it draws.
            Present on the order detail read for an order funded at a Conduit
            funding address; omitted on the list read and on an order that names
            its own source.
          type: array
          items:
            type: object
            properties:
              transactionId:
                type: string
                pattern: ^txn_[0-9A-Za-z]{22}$
              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
                      - BTC
                      - ETH
                      - SOL
                      - TRX
                    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
                      - arbitrum
                      - optimism
                      - avalanche
                      - tron
                      - stellar
                      - bsc
                      - bitcoin
                  amount:
                    type: string
                    description: Decimal string, asset-precision rounded
                required:
                  - code
                  - amount
                additionalProperties: false
            required:
              - transactionId
              - amount
      required:
        - id
        - customerId
        - status
        - type
        - destination
        - sourceAsset
        - destinationAsset
        - lockSide
        - rate
        - fees
        - totalDebit
        - lockExpiresAt
        - createdAt
        - autoExecute
        - linkedTransactionIds
    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_abc123 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_abc123
        correlationId:
          description: Request correlation ID
          example: req_a1b2c3d4
          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_abc123 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_abc123
        correlationId:
          description: Request correlation ID
          example: req_a1b2c3d4
          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_abc123 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_abc123
        correlationId:
          description: Request correlation ID
          example: req_a1b2c3d4
          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

````