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

# Get a transaction by ID

> Returns a single transaction owned by the caller's organization. Response shape matches one row of the list endpoint's `data[]`, discriminated by `type`.



## OpenAPI

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


    Internal and portal endpoints are excluded from this spec.
  version: '2.0'
  contact: {}
servers:
  - url: https://api.sandbox.conduit.financial/v2
    description: Sandbox
  - url: https://api.conduit.financial/v2
    description: Production
security:
  - api-key: []
tags:
  - name: Customers
  - name: Registered Addresses
  - name: Wallets
  - name: Wallet Signers
  - name: Signing Quorum
  - name: Virtual Accounts
  - name: Applications
  - name: RFIs
  - name: Documents
  - name: Verifications
  - name: Signing Requests
  - name: Transactions
  - name: Payouts
  - name: Whitelist Recipients
  - name: Orders
  - name: Asset Chain Pairs
  - name: Quotes
  - name: Webhook Endpoints
  - name: Webhook Deliveries
  - name: Webhook Event Types
  - name: Features
  - name: Customer Onboarding
  - name: Markup
  - name: Sandbox
paths:
  /transactions/{id}:
    get:
      tags:
        - Transactions
      summary: Get a transaction by ID
      description: >-
        Returns a single transaction owned by the caller's organization.
        Response shape matches one row of the list endpoint's `data[]`,
        discriminated by `type`.
      operationId: TransactionsController_getById_v2
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
            example: txn_1A2b3C4d5E6f7G8h9I0jKl
      responses:
        '200':
          description: The requested transaction
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/PublicDepositViewDto'
                  - $ref: '#/components/schemas/PublicDepositReturnViewDto'
                  - $ref: '#/components/schemas/PublicWithdrawalViewDto'
                  - $ref: '#/components/schemas/PublicOnrampViewDto'
                  - $ref: '#/components/schemas/PublicOfframpViewDto'
                  - $ref: '#/components/schemas/PublicCryptoConversionViewDto'
                  - $ref: '#/components/schemas/PublicFiatConversionViewDto'
                discriminator:
                  propertyName: type
                  mapping:
                    deposit: '#/components/schemas/PublicDepositViewDto'
                    deposit_return: '#/components/schemas/PublicDepositReturnViewDto'
                    withdrawal: '#/components/schemas/PublicWithdrawalViewDto'
                    onramp: '#/components/schemas/PublicOnrampViewDto'
                    offramp: '#/components/schemas/PublicOfframpViewDto'
                    conversion: '#/components/schemas/PublicCryptoConversionViewDto'
                    fiat_conversion: '#/components/schemas/PublicFiatConversionViewDto'
        '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.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorDto'
              example:
                type: INVALID_OID_FORMAT
                title: Invalid Object ID Format
                status: 400
                detail: >-
                  A path or query parameter expected a valid object identifier
                  but received a value that does not match the expected format.
                resolution: >-
                  Verify that all IDs in the request URL and query parameters
                  are correctly formatted. IDs are typically prefixed strings
                  like 'cus_...', 'app_...', or 'doc_...'.
                docs: https://conduit-v2.mintlify.app/errors#invalid-oid-format
                instance: /v2/...
                correlationId: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
                timestamp: '2026-01-15T09:30:00.000Z'
        '401':
          description: >-
            **API_KEY_MISSING**: The request did not include an API key. All API
            requests must be authenticated.


            **API_KEY_INVALID**: The provided API key is not recognized or has
            been revoked.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: API_KEY_MISSING
                title: API Key Missing
                status: 401
                detail: >-
                  The request did not include an API key. All API requests must
                  be authenticated.
                resolution: >-
                  Include your API key in the 'x-api-key' header with every
                  request.
                docs: https://conduit-v2.mintlify.app/errors#api-key-missing
                instance: /v2/...
                correlationId: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
                timestamp: '2026-01-15T09:30:00.000Z'
        '403':
          description: >-
            **ORGANIZATION_ACCESS_SUSPENDED**: Conduit has suspended this
            organization's access. Requests with the organization's API keys and
            from its users are refused until Conduit restores access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: ORGANIZATION_ACCESS_SUSPENDED
                title: Organization Access Suspended
                status: 403
                detail: >-
                  Conduit has suspended this organization's access. Requests
                  with the organization's API keys and from its users are
                  refused until Conduit restores access.
                resolution: Contact Conduit support.
                docs: >-
                  https://conduit-v2.mintlify.app/errors#organization-access-suspended
                instance: /v2/...
                correlationId: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
                timestamp: '2026-01-15T09:30:00.000Z'
        '404':
          description: >-
            **TRANSACTION_NOT_FOUND**: No transaction exists with the specified
            ID, or the transaction belongs to a different organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: TRANSACTION_NOT_FOUND
                title: Transaction Not Found
                status: 404
                detail: >-
                  No transaction exists with the specified ID, or the
                  transaction belongs to a different organization.
                resolution: >-
                  Verify the transaction ID is correct. Use the list
                  transactions endpoint to find valid IDs for your organization.
                docs: https://conduit-v2.mintlify.app/errors#transaction-not-found
                instance: /v2/...
                correlationId: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
                timestamp: '2026-01-15T09:30:00.000Z'
        '429':
          description: >-
            **RATE_LIMITED**: Too many requests. This error is returned by three
            independent checks: the per-organization bucket applied to every
            authenticated API request; the per-IP bucket applied to
            unauthenticated traffic before an API key is validated; and the
            per-IP bucket applied when repeated invalid API keys are submitted
            from the same address. Honor the Retry-After header (also exposed as
            retryAfterSeconds in the body) before retrying. Current limits and
            remaining budget are visible in X-RateLimit-Limit (the bucket size),
            X-RateLimit-Remaining, and X-RateLimit-Reset (seconds until the
            bucket refills) on every response once your API key is accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitedErrorDto'
              example:
                type: RATE_LIMITED
                title: Rate Limited
                status: 429
                detail: >-
                  Too many requests. This error is returned by three independent
                  checks: the per-organization bucket applied to every
                  authenticated API request; the per-IP bucket applied to
                  unauthenticated traffic before an API key is validated; and
                  the per-IP bucket applied when repeated invalid API keys are
                  submitted from the same address. Honor the Retry-After header
                  (also exposed as retryAfterSeconds in the body) before
                  retrying. Current limits and remaining budget are visible in
                  X-RateLimit-Limit (the bucket size), X-RateLimit-Remaining,
                  and X-RateLimit-Reset (seconds until the bucket refills) on
                  every response once your API key is accepted.
                resolution: >-
                  Sleep until Retry-After seconds have elapsed, then retry. For
                  sustained workloads exceeding the per-organization defaults,
                  request a rate-limit increase through your support contact.
                docs: https://conduit-v2.mintlify.app/errors#rate-limited
                instance: /v2/...
                correlationId: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
                timestamp: '2026-01-15T09:30:00.000Z'
                retryAfterSeconds: 3
        '500':
          description: >-
            **INTERNAL_ERROR**: An unexpected error occurred while processing
            your request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: INTERNAL_ERROR
                title: Internal Error
                status: 500
                detail: An unexpected error occurred while processing your request.
                resolution: >-
                  Retry the request after a brief delay. If the error persists,
                  contact support and include the correlationId from the error
                  response for investigation.
                docs: https://conduit-v2.mintlify.app/errors#internal-error
                instance: /v2/...
                correlationId: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
                timestamp: '2026-01-15T09:30:00.000Z'
components:
  schemas:
    PublicDepositViewDto:
      type: object
      properties:
        id:
          type: string
          pattern: ^txn_[0-9A-Za-z]{22}$
        customerId:
          type: string
          pattern: ^cus_[0-9A-Za-z]{22}$
        customerName:
          description: >-
            Display name of the customer that owns the transaction: business
            legal name or individual full name. Same value on the transactions
            and payouts reads for the same row. Omitted when the customer's
            identity record hasn't resolved a name yet; per the public
            omit-don't-null convention, absence is never surfaced as `null`.
          type: string
        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
            - processing
            - completed
            - failed
            - cancelled
        stage:
          description: >-
            Progress signal for a non-terminal transaction, informational only —
            it does not replace `requiresUserSignature`, `hasRfi`, or
            `failureCode` for deciding whether your integration needs to act.
            `awaiting_signature`: waiting on the required transaction signature
            (see `requiresUserSignature`). `awaiting_customer_action`: further
            input is needed before the transaction can go on. Read `hasRfi` to
            learn where the ask is: `true` means a request for information holds
            the answer — `rfiId` names it, and `GET /v2/rfis/{id}` carries what
            to send; `false` means the matching event carries the detail (e.g.
            `transaction.awaiting_sender_information`). `under_review`:
            compliance, document, or verification review of something already
            submitted is in progress — usually no action needed; check `hasRfi`
            if unsure. `settling`: funds movement or settlement is in progress,
            no customer action required — covers long-lived fiat rails like
            SWIFT that legitimately take days as well as any other non-blocked
            in-flight state. Omitted once `status` reaches a terminal value
            (`completed` / `failed` / `cancelled`). The set of values may grow
            over time — treat unrecognized values the same as `processing`.
          type: string
          enum:
            - awaiting_signature
            - awaiting_customer_action
            - under_review
            - settling
        source:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                walletId:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                txHash:
                  type: string
              required:
                - type
                - walletId
                - address
                - assetAmount
              additionalProperties: false
              description: A Conduit-custodied crypto wallet on one side of a transaction.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - deposit_address
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit-provided funding address — the address a
                deposit-funded order was funded at. Conduit owns and may rotate
                the wallet behind it without notice, so the side carries no
                wallet id and the address is the only thing to reconcile
                against. Chain travels with the asset inside `assetAmount`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                virtualAccountId:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
                wireReceive:
                  oneOf:
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - us
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        routingNumber:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - routingNumber
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - swift
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - sepa
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - uk
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        sortCode:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - sortCode
                      additionalProperties: false
                  description: >-
                    Receiving wire-instruction context: which Conduit bank
                    account + rail the inbound deposit landed in. Captured at
                    deposit-detect time.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - virtualAccountId
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit virtual account on one side of a transaction.
                `wireReceive` is destination-only — it carries the receiving
                wire instructions on fiat inbound deposits where the VA received
                the wire. Always absent when the VA is a source (conversions /
                fiat withdrawals).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_crypto
                address:
                  type: string
                txHash:
                  type: string
                memo:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - text
                        value:
                          type: string
                          minLength: 1
                      required:
                        - type
                        - value
                      additionalProperties: false
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - id
                        value:
                          type: string
                      required:
                        - type
                        - value
                      additionalProperties: false
                  description: >-
                    Destination memo (destination tag) for the receiving
                    account. Required by shared custodial addresses such as
                    exchanges. Only accepted on chains whose payments carry a
                    memo.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                An external on-chain counterparty: address plus optional
                settlement tx hash. Chain travels with the asset inside
                `assetAmount`. `memo` is the destination memo the payout was
                created with, when it carried one.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank
                rail:
                  description: >-
                    The payment network the payout was created with, as sent on
                    the request's `rail`. `recipient.rail` names the account
                    family the coordinates belong to (`us`, `swift`, `sepa`,
                    `uk_domestic`), not the network.
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                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
                recipient:
                  oneOf:
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - crypto
                        chain:
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - tron
                            - stellar
                            - tempo
                        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
                        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
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
                bankScheduledFor:
                  description: >-
                    The settlement date the sending bank last reported for this
                    payout, as a calendar date in the bank's own time zone.
                    Present only when the bank reports one, as on ACH. A date
                    later than the payout date means the bank moved the entry to
                    a later window; the payout, its rail and its obligation do
                    not change, so do not send it again.
                  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])))$
              required:
                - type
                - rail
                - recipient
                - assetAmount
              additionalProperties: false
              description: >-
                An external bank counterparty: the payment rail and rail context
                the payout was created with (`rail`, `ach`, `swift`, `instant`),
                the recipient details, plus any real wire settlement references
                (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace, RTP, FedNow).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_inbound
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the deposit arrived on (fedwire, ach,
                    rtp, fednow, swift, sepa, faster_payments, chaps), or null
                    when not known. Always present. Independent of the wire
                    reference fields, which may be absent.
                  nullable: true
                sender:
                  type: object
                  properties:
                    name:
                      description: Name of the sending account holder.
                      type: string
                    country:
                      description: >-
                        Country of the sending account holder, ISO 3166-1
                        alpha-2.
                      type: string
                      enum:
                        - AF
                        - AL
                        - DZ
                        - AS
                        - AD
                        - AO
                        - AI
                        - AQ
                        - AG
                        - AR
                        - AM
                        - AW
                        - AU
                        - AT
                        - AZ
                        - BS
                        - BH
                        - BD
                        - BB
                        - BY
                        - BE
                        - BZ
                        - BJ
                        - BM
                        - BT
                        - BO
                        - BQ
                        - BA
                        - BW
                        - BV
                        - BR
                        - IO
                        - BN
                        - BG
                        - BF
                        - BI
                        - CV
                        - KH
                        - CM
                        - CA
                        - KY
                        - CF
                        - TD
                        - CL
                        - CN
                        - CX
                        - CC
                        - CO
                        - KM
                        - CG
                        - CD
                        - CK
                        - CR
                        - CI
                        - HR
                        - CU
                        - CW
                        - CY
                        - CZ
                        - DK
                        - DJ
                        - DM
                        - DO
                        - EC
                        - EG
                        - SV
                        - GQ
                        - ER
                        - EE
                        - SZ
                        - ET
                        - FK
                        - FO
                        - FJ
                        - FI
                        - FR
                        - GF
                        - PF
                        - TF
                        - GA
                        - GM
                        - GE
                        - DE
                        - GH
                        - GI
                        - GR
                        - GL
                        - GD
                        - GP
                        - GU
                        - GT
                        - GG
                        - GN
                        - GW
                        - GY
                        - HT
                        - HM
                        - VA
                        - HN
                        - HK
                        - HU
                        - IS
                        - IN
                        - ID
                        - IR
                        - IQ
                        - IE
                        - IM
                        - IL
                        - IT
                        - JM
                        - JP
                        - JE
                        - JO
                        - KZ
                        - KE
                        - KI
                        - KP
                        - KR
                        - KW
                        - KG
                        - LA
                        - LV
                        - LB
                        - LS
                        - LR
                        - LY
                        - LI
                        - LT
                        - LU
                        - MO
                        - MG
                        - MW
                        - MY
                        - MV
                        - ML
                        - MT
                        - MH
                        - MQ
                        - MR
                        - MU
                        - YT
                        - MX
                        - FM
                        - MD
                        - MC
                        - MN
                        - ME
                        - MS
                        - MA
                        - MZ
                        - MM
                        - NA
                        - NR
                        - NP
                        - NL
                        - NC
                        - NZ
                        - NI
                        - NE
                        - NG
                        - NU
                        - NF
                        - MK
                        - MP
                        - 'NO'
                        - OM
                        - PK
                        - PW
                        - PS
                        - PA
                        - PG
                        - PY
                        - PE
                        - PH
                        - PN
                        - PL
                        - PT
                        - PR
                        - QA
                        - RE
                        - RO
                        - RU
                        - RW
                        - BL
                        - SH
                        - KN
                        - LC
                        - MF
                        - PM
                        - VC
                        - WS
                        - SM
                        - ST
                        - SA
                        - SN
                        - RS
                        - SC
                        - SL
                        - SG
                        - SX
                        - SK
                        - SI
                        - SB
                        - SO
                        - ZA
                        - GS
                        - SS
                        - ES
                        - LK
                        - SD
                        - SR
                        - SJ
                        - SE
                        - CH
                        - SY
                        - TW
                        - TJ
                        - TZ
                        - TH
                        - TL
                        - TG
                        - TK
                        - TO
                        - TT
                        - TN
                        - TR
                        - TM
                        - TC
                        - TV
                        - UG
                        - UA
                        - AE
                        - GB
                        - US
                        - UM
                        - UY
                        - UZ
                        - VU
                        - VE
                        - VN
                        - VG
                        - VI
                        - WF
                        - EH
                        - YE
                        - ZM
                        - ZW
                    accountNumber:
                      description: Sending account number, when transmitted.
                      type: string
                    routingNumber:
                      description: US ABA routing number of the sending bank.
                      type: string
                    sortCode:
                      description: >-
                        UK sort code of the sending bank, as the sending bank
                        transmitted it, with spaces and hyphens stripped.
                      type: string
                    iban:
                      description: Sender IBAN, when transmitted.
                      type: string
                    bic:
                      description: BIC of the sending bank (ISO 9362).
                      type: string
                  additionalProperties: false
                  description: >-
                    Originator details on an inbound fiat deposit — what the
                    sending bank transmitted with the payment. Each field is
                    present only when provided.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - sender
                - assetAmount
              additionalProperties: false
              description: >-
                Inbound fiat deposit source: the external bank that originated
                the wire, with the originator details as provided by the sender
                bank, plus the payment network the deposit arrived on (`rail`,
                null when unknown) and any real settlement references the
                network exposed (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace). The
                wire reference fields are independent of `rail` and may be
                absent. The variant is emitted once any sender field is
                populated; before that, the source surfaces as
                `external_unknown`. A deposit delivered on-us from another
                account in the same organization is `internal_transfer` instead,
                even when the partner bank supplied sender details — there is no
                external originator to report.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_debit
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the bank pulled the money over (ach,
                    fedwire, ...), or null when not known. Always present.
                  nullable: true
                originator:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the party that pulled the money.
                    id:
                      description: The originator's identifier on the network, when sent.
                      type: string
                  required:
                    - name
                  additionalProperties: false
                secCode:
                  description: ACH Standard Entry Class code of the entry, e.g. CCD or WEB.
                  type: string
                description:
                  description: Entry description the originator sent with the debit.
                  type: string
                effectiveDate:
                  description: Date the originator asked the bank to settle the debit.
                  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])))$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - originator
                - assetAmount
              additionalProperties: false
              description: >-
                Destination of a withdrawal that Conduit did not start: a third
                party pulled the money from the customer's bank account, such as
                an ACH debit. It names the party that pulled it (`originator`)
                and the payment network (`rail`, null when unknown), plus any
                settlement reference the network exposed. Without an originator
                name the destination is `external_unknown`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - internal_transfer
                originatingTransactionId:
                  type: string
                  pattern: ^txn_[0-9A-Za-z]{22}$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - originatingTransactionId
                - assetAmount
              additionalProperties: false
              description: >-
                Source of a deposit that was delivered on-us from another
                Conduit account in the SAME organization — no external bank was
                involved. `originatingTransactionId` is the withdrawal
                transaction that sent it; fetch it for the sending side's own
                details. Emitted only when the organization owns both sides: an
                on-us delivery from another organization keeps the source it
                would otherwise have. Like `external_bank_inbound`, this variant
                resolves as the deposit is detected, which happens after the
                transaction is created — so on a first-pass run
                `transaction.created` carries `external_unknown`, while
                `transaction.completed` and every read carry the resolved
                source.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_unknown
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - assetAmount
              additionalProperties: false
              description: >-
                External counterparty whose details are not yet known (e.g.
                detected fiat deposit before sender info has been resolved).
          description: >-
            One side (source or destination) of a transaction. Discriminated by
            `type`.
        destination:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                walletId:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                txHash:
                  type: string
              required:
                - type
                - walletId
                - address
                - assetAmount
              additionalProperties: false
              description: A Conduit-custodied crypto wallet on one side of a transaction.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - deposit_address
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit-provided funding address — the address a
                deposit-funded order was funded at. Conduit owns and may rotate
                the wallet behind it without notice, so the side carries no
                wallet id and the address is the only thing to reconcile
                against. Chain travels with the asset inside `assetAmount`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                virtualAccountId:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
                wireReceive:
                  oneOf:
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - us
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        routingNumber:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - routingNumber
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - swift
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - sepa
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - uk
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        sortCode:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - sortCode
                      additionalProperties: false
                  description: >-
                    Receiving wire-instruction context: which Conduit bank
                    account + rail the inbound deposit landed in. Captured at
                    deposit-detect time.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - virtualAccountId
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit virtual account on one side of a transaction.
                `wireReceive` is destination-only — it carries the receiving
                wire instructions on fiat inbound deposits where the VA received
                the wire. Always absent when the VA is a source (conversions /
                fiat withdrawals).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_crypto
                address:
                  type: string
                txHash:
                  type: string
                memo:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - text
                        value:
                          type: string
                          minLength: 1
                      required:
                        - type
                        - value
                      additionalProperties: false
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - id
                        value:
                          type: string
                      required:
                        - type
                        - value
                      additionalProperties: false
                  description: >-
                    Destination memo (destination tag) for the receiving
                    account. Required by shared custodial addresses such as
                    exchanges. Only accepted on chains whose payments carry a
                    memo.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                An external on-chain counterparty: address plus optional
                settlement tx hash. Chain travels with the asset inside
                `assetAmount`. `memo` is the destination memo the payout was
                created with, when it carried one.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank
                rail:
                  description: >-
                    The payment network the payout was created with, as sent on
                    the request's `rail`. `recipient.rail` names the account
                    family the coordinates belong to (`us`, `swift`, `sepa`,
                    `uk_domestic`), not the network.
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                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
                recipient:
                  oneOf:
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - crypto
                        chain:
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - tron
                            - stellar
                            - tempo
                        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
                        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
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
                bankScheduledFor:
                  description: >-
                    The settlement date the sending bank last reported for this
                    payout, as a calendar date in the bank's own time zone.
                    Present only when the bank reports one, as on ACH. A date
                    later than the payout date means the bank moved the entry to
                    a later window; the payout, its rail and its obligation do
                    not change, so do not send it again.
                  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])))$
              required:
                - type
                - rail
                - recipient
                - assetAmount
              additionalProperties: false
              description: >-
                An external bank counterparty: the payment rail and rail context
                the payout was created with (`rail`, `ach`, `swift`, `instant`),
                the recipient details, plus any real wire settlement references
                (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace, RTP, FedNow).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_inbound
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the deposit arrived on (fedwire, ach,
                    rtp, fednow, swift, sepa, faster_payments, chaps), or null
                    when not known. Always present. Independent of the wire
                    reference fields, which may be absent.
                  nullable: true
                sender:
                  type: object
                  properties:
                    name:
                      description: Name of the sending account holder.
                      type: string
                    country:
                      description: >-
                        Country of the sending account holder, ISO 3166-1
                        alpha-2.
                      type: string
                      enum:
                        - AF
                        - AL
                        - DZ
                        - AS
                        - AD
                        - AO
                        - AI
                        - AQ
                        - AG
                        - AR
                        - AM
                        - AW
                        - AU
                        - AT
                        - AZ
                        - BS
                        - BH
                        - BD
                        - BB
                        - BY
                        - BE
                        - BZ
                        - BJ
                        - BM
                        - BT
                        - BO
                        - BQ
                        - BA
                        - BW
                        - BV
                        - BR
                        - IO
                        - BN
                        - BG
                        - BF
                        - BI
                        - CV
                        - KH
                        - CM
                        - CA
                        - KY
                        - CF
                        - TD
                        - CL
                        - CN
                        - CX
                        - CC
                        - CO
                        - KM
                        - CG
                        - CD
                        - CK
                        - CR
                        - CI
                        - HR
                        - CU
                        - CW
                        - CY
                        - CZ
                        - DK
                        - DJ
                        - DM
                        - DO
                        - EC
                        - EG
                        - SV
                        - GQ
                        - ER
                        - EE
                        - SZ
                        - ET
                        - FK
                        - FO
                        - FJ
                        - FI
                        - FR
                        - GF
                        - PF
                        - TF
                        - GA
                        - GM
                        - GE
                        - DE
                        - GH
                        - GI
                        - GR
                        - GL
                        - GD
                        - GP
                        - GU
                        - GT
                        - GG
                        - GN
                        - GW
                        - GY
                        - HT
                        - HM
                        - VA
                        - HN
                        - HK
                        - HU
                        - IS
                        - IN
                        - ID
                        - IR
                        - IQ
                        - IE
                        - IM
                        - IL
                        - IT
                        - JM
                        - JP
                        - JE
                        - JO
                        - KZ
                        - KE
                        - KI
                        - KP
                        - KR
                        - KW
                        - KG
                        - LA
                        - LV
                        - LB
                        - LS
                        - LR
                        - LY
                        - LI
                        - LT
                        - LU
                        - MO
                        - MG
                        - MW
                        - MY
                        - MV
                        - ML
                        - MT
                        - MH
                        - MQ
                        - MR
                        - MU
                        - YT
                        - MX
                        - FM
                        - MD
                        - MC
                        - MN
                        - ME
                        - MS
                        - MA
                        - MZ
                        - MM
                        - NA
                        - NR
                        - NP
                        - NL
                        - NC
                        - NZ
                        - NI
                        - NE
                        - NG
                        - NU
                        - NF
                        - MK
                        - MP
                        - 'NO'
                        - OM
                        - PK
                        - PW
                        - PS
                        - PA
                        - PG
                        - PY
                        - PE
                        - PH
                        - PN
                        - PL
                        - PT
                        - PR
                        - QA
                        - RE
                        - RO
                        - RU
                        - RW
                        - BL
                        - SH
                        - KN
                        - LC
                        - MF
                        - PM
                        - VC
                        - WS
                        - SM
                        - ST
                        - SA
                        - SN
                        - RS
                        - SC
                        - SL
                        - SG
                        - SX
                        - SK
                        - SI
                        - SB
                        - SO
                        - ZA
                        - GS
                        - SS
                        - ES
                        - LK
                        - SD
                        - SR
                        - SJ
                        - SE
                        - CH
                        - SY
                        - TW
                        - TJ
                        - TZ
                        - TH
                        - TL
                        - TG
                        - TK
                        - TO
                        - TT
                        - TN
                        - TR
                        - TM
                        - TC
                        - TV
                        - UG
                        - UA
                        - AE
                        - GB
                        - US
                        - UM
                        - UY
                        - UZ
                        - VU
                        - VE
                        - VN
                        - VG
                        - VI
                        - WF
                        - EH
                        - YE
                        - ZM
                        - ZW
                    accountNumber:
                      description: Sending account number, when transmitted.
                      type: string
                    routingNumber:
                      description: US ABA routing number of the sending bank.
                      type: string
                    sortCode:
                      description: >-
                        UK sort code of the sending bank, as the sending bank
                        transmitted it, with spaces and hyphens stripped.
                      type: string
                    iban:
                      description: Sender IBAN, when transmitted.
                      type: string
                    bic:
                      description: BIC of the sending bank (ISO 9362).
                      type: string
                  additionalProperties: false
                  description: >-
                    Originator details on an inbound fiat deposit — what the
                    sending bank transmitted with the payment. Each field is
                    present only when provided.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - sender
                - assetAmount
              additionalProperties: false
              description: >-
                Inbound fiat deposit source: the external bank that originated
                the wire, with the originator details as provided by the sender
                bank, plus the payment network the deposit arrived on (`rail`,
                null when unknown) and any real settlement references the
                network exposed (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace). The
                wire reference fields are independent of `rail` and may be
                absent. The variant is emitted once any sender field is
                populated; before that, the source surfaces as
                `external_unknown`. A deposit delivered on-us from another
                account in the same organization is `internal_transfer` instead,
                even when the partner bank supplied sender details — there is no
                external originator to report.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_debit
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the bank pulled the money over (ach,
                    fedwire, ...), or null when not known. Always present.
                  nullable: true
                originator:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the party that pulled the money.
                    id:
                      description: The originator's identifier on the network, when sent.
                      type: string
                  required:
                    - name
                  additionalProperties: false
                secCode:
                  description: ACH Standard Entry Class code of the entry, e.g. CCD or WEB.
                  type: string
                description:
                  description: Entry description the originator sent with the debit.
                  type: string
                effectiveDate:
                  description: Date the originator asked the bank to settle the debit.
                  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])))$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - originator
                - assetAmount
              additionalProperties: false
              description: >-
                Destination of a withdrawal that Conduit did not start: a third
                party pulled the money from the customer's bank account, such as
                an ACH debit. It names the party that pulled it (`originator`)
                and the payment network (`rail`, null when unknown), plus any
                settlement reference the network exposed. Without an originator
                name the destination is `external_unknown`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - internal_transfer
                originatingTransactionId:
                  type: string
                  pattern: ^txn_[0-9A-Za-z]{22}$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - originatingTransactionId
                - assetAmount
              additionalProperties: false
              description: >-
                Source of a deposit that was delivered on-us from another
                Conduit account in the SAME organization — no external bank was
                involved. `originatingTransactionId` is the withdrawal
                transaction that sent it; fetch it for the sending side's own
                details. Emitted only when the organization owns both sides: an
                on-us delivery from another organization keeps the source it
                would otherwise have. Like `external_bank_inbound`, this variant
                resolves as the deposit is detected, which happens after the
                transaction is created — so on a first-pass run
                `transaction.created` carries `external_unknown`, while
                `transaction.completed` and every read carry the resolved
                source.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_unknown
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - assetAmount
              additionalProperties: false
              description: >-
                External counterparty whose details are not yet known (e.g.
                detected fiat deposit before sender info has been resolved).
          description: >-
            One side (source or destination) of a transaction. Discriminated by
            `type`.
        fees:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                  - fixed
              assetAmount:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - USD
                      - EUR
                      - GBP
                      - CHF
                      - JPY
                      - CAD
                      - AUD
                      - NZD
                      - SGD
                      - HKD
                      - CNY
                      - KRW
                      - INR
                      - BRL
                      - MXN
                      - ARS
                      - CLP
                      - COP
                      - PEN
                      - ZAR
                      - NGN
                      - KES
                      - GHS
                      - EGP
                      - AED
                      - SAR
                      - ILS
                      - TRY
                      - PLN
                      - CZK
                      - HUF
                      - SEK
                      - NOK
                      - DKK
                      - THB
                      - IDR
                      - MYR
                      - PHP
                      - VND
                      - TWD
                      - USDC
                      - USDT
                      - DAI
                      - EURC
                      - PYUSD
                      - OUSD
                      - BTC
                      - ETH
                      - SOL
                      - TRX
                      - XLM
                      - POL
                    description: Asset code (USDC, USD, etc.)
                  chain:
                    description: Chain when the asset is on-chain; omitted for fiat.
                    type: string
                    enum:
                      - ethereum
                      - base
                      - solana
                      - polygon
                      - tron
                      - stellar
                      - tempo
                  amount:
                    type: string
                    description: Decimal string, asset-precision rounded
                required:
                  - code
                  - amount
                additionalProperties: false
              owner:
                type: string
                enum:
                  - conduit
                  - you
                description: >-
                  Who this charge belongs to. `conduit` is Conduit's own fee.
                  `you` is the margin you declared on this transaction, which
                  Conduit collects from your customer and accrues to you; it is
                  your revenue, not a Conduit charge.
            required:
              - type
              - assetAmount
              - owner
        createdAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        completedAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        failureCode:
          type: string
          enum:
            - user_signature_timeout
            - user_signature_expired
            - user_signature_declined
            - user_signature_rejected_by_provider
            - crypto_wallet_misconfigured
            - compliance_hold
            - compliance_review_rejected
            - compliance_rejected
            - returned_by_sender
            - rail_policy_rejected
            - insufficient_funds
            - insufficient_funds_at_settle
            - rail_unavailable
            - sender_info_timeout
            - travel_rule_rejected
            - provider_rejected
            - chain_broadcast_failed
            - roster_changed
            - insufficient_onchain_balance
            - source_account_unavailable
        failureMessage:
          description: >-
            Conduit's own wording for `failureCode`: the public error catalog
            text for the code, or the generic failure text when there is no
            code. The same text as `failureMessage` on the `transaction.failed`
            webhook. It never carries text from a bank, a chain or a sandbox
            simulator `reason`.
          type: string
        cancelledAt:
          description: >-
            ISO-8601 timestamp when the transaction was cancelled. Present only
            on `status: cancelled`.
          type: string
          format: date-time
          example: '2026-01-15T09:30:00.000Z'
        cancellationReason:
          description: >-
            Machine-readable cancellation reason. `client_cancelled` when the
            client called `POST /v2/payouts/:id/cancel`; `expired` is reserved.
            Omitted on non-cancelled rows. Mirrors `orders.cancellationReason`.
          type: string
          enum:
            - expired
            - client_cancelled
        linkedOrderId:
          type: string
          pattern: ^ord_[0-9A-Za-z]{22}$
        purpose:
          description: >-
            The business purpose declared at payout creation. Drives compliance
            gating: intercompany requires a whitelisted recipient of the
            customer or its group; personal_transfer_of_funds requires the
            customer's own whitelisted account; prefunding requires a customer's
            issued account; other values require supporting documentation.
          type: string
          enum:
            - intercompany
            - treasury_management
            - payment_for_goods_or_services
            - payroll
            - investments
            - other
            - prefunding
            - purchase_of_goods
            - rent
            - loan_payment
            - personal_transfer_of_funds
            - gift
            - bill_payment
            - charity
            - tax_payment
            - person_to_person_transfer
        purposeDescription:
          description: >-
            The customer's own words for the payment. Omitted when none was
            sent, and on the transaction list: read the single transaction to
            get it.
          type: string
        hasRfi:
          type: boolean
          description: >-
            True when at least one published (non-draft, non-cancelled) RFI
            targets this transaction. Always present; derived at read time, no
            stored column.
        rfiId:
          description: >-
            The most recently published such RFI — usually the one `stage`
            refers to, but a later unrelated RFI on the same transaction takes
            this slot instead. Omitted (never `null`) when `hasRfi` is false.
          type: string
          pattern: ^rfi_[0-9A-Za-z]{22}$
        remittance:
          description: >-
            The free-text reference the payer supplied on the payout, fiat or
            crypto. On a transfer between two of the customer's own wallets the
            same value reads on both halves: the withdrawal that sent it and the
            deposit that credits it.
          type: object
          properties:
            reference:
              type: string
            description:
              type: string
        swiftUetr:
          description: >-
            The UETR of the fiat leg — the ISO 20022 unique end-to-end
            transaction reference. Present whenever the payment carried one,
            including on a deposit whose `source` is still `external_unknown`
            because the sender has not resolved. The side that carries wire
            references repeats it — `destination.swiftUetr` on a payout,
            `source.swiftUetr` on a deposit — but not every side does, which is
            why it reads here as well. A Fedwire message carries a UETR too, so
            its presence does not mean the payment travelled on SWIFT. Omitted
            (never `null`) when the rail supplied none.
          type: string
        returnCode:
          description: >-
            The return code the bank sent when it returned this transfer, for
            example the Nacha code `R01` on an ACH return. Present only with
            `failureCode: returned_by_sender`, and only when the bank sent a
            Nacha return code. The bank's free-text return reason is never
            returned.
          type: string
        returnedAt:
          description: >-
            ISO-8601 timestamp when Conduit recorded the bank's return of this
            transfer. Present with `failureCode: returned_by_sender` when the
            return is recorded, with or without `returnCode`.
          type: string
          format: date-time
          example: '2026-01-15T09:30:00.000Z'
        type:
          type: string
          enum:
            - deposit
        funded:
          description: >-
            Orders that hold a claim on this transfer, oldest first, with how
            much of it each draws. Present only on a transfer into a funding
            address that has not failed.
          type: array
          items:
            type: object
            properties:
              orderId:
                type: string
                pattern: ^ord_[0-9A-Za-z]{22}$
              orderStatus:
                description: >-
                  The order's status now. Funds leave the funding address when
                  the order draws them, which can be hours before it succeeds —
                  and they do not come back if it then fails.
                type: string
                enum:
                  - pending
                  - succeeded
                  - failed
                  - cancelled
              amount:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - USD
                      - EUR
                      - GBP
                      - CHF
                      - JPY
                      - CAD
                      - AUD
                      - NZD
                      - SGD
                      - HKD
                      - CNY
                      - KRW
                      - INR
                      - BRL
                      - MXN
                      - ARS
                      - CLP
                      - COP
                      - PEN
                      - ZAR
                      - NGN
                      - KES
                      - GHS
                      - EGP
                      - AED
                      - SAR
                      - ILS
                      - TRY
                      - PLN
                      - CZK
                      - HUF
                      - SEK
                      - NOK
                      - DKK
                      - THB
                      - IDR
                      - MYR
                      - PHP
                      - VND
                      - TWD
                      - USDC
                      - USDT
                      - DAI
                      - EURC
                      - PYUSD
                      - OUSD
                      - BTC
                      - ETH
                      - SOL
                      - TRX
                      - XLM
                      - POL
                    description: Asset code (USDC, USD, etc.)
                  chain:
                    description: Chain when the asset is on-chain; omitted for fiat.
                    type: string
                    enum:
                      - ethereum
                      - base
                      - solana
                      - polygon
                      - tron
                      - stellar
                      - tempo
                  amount:
                    type: string
                    description: Decimal string, asset-precision rounded
                required:
                  - code
                  - amount
                additionalProperties: false
            required:
              - orderId
              - orderStatus
              - amount
        returned:
          description: >-
            How much of this transfer has gone back, or is on its way back, to
            the address it came from. A return is counted from the moment it is
            dispatched, because the funds leave the funding address then — read
            the `deposit_return` transaction to see whether it has settled.
            Present under the same conditions as `funded`.
          type: object
          properties:
            code:
              type: string
              enum:
                - USD
                - EUR
                - GBP
                - CHF
                - JPY
                - CAD
                - AUD
                - NZD
                - SGD
                - HKD
                - CNY
                - KRW
                - INR
                - BRL
                - MXN
                - ARS
                - CLP
                - COP
                - PEN
                - ZAR
                - NGN
                - KES
                - GHS
                - EGP
                - AED
                - SAR
                - ILS
                - TRY
                - PLN
                - CZK
                - HUF
                - SEK
                - NOK
                - DKK
                - THB
                - IDR
                - MYR
                - PHP
                - VND
                - TWD
                - USDC
                - USDT
                - DAI
                - EURC
                - PYUSD
                - OUSD
                - BTC
                - ETH
                - SOL
                - TRX
                - XLM
                - POL
              description: Asset code (USDC, USD, etc.)
            chain:
              description: Chain when the asset is on-chain; omitted for fiat.
              type: string
              enum:
                - ethereum
                - base
                - solana
                - polygon
                - tron
                - stellar
                - tempo
            amount:
              type: string
              description: Decimal string, asset-precision rounded
          required:
            - code
            - amount
          additionalProperties: false
        available:
          description: >-
            How much of this transfer no order has claimed and no return has
            taken, so it is still available at the funding address to fund the
            next order. `source.assetAmount` always equals the sum of
            `funded[].amount` plus `returned` plus `available`. These three
            fields appear only on a transfer into a funding address, which is
            never charged a deposit fee, so on such a transfer
            `source.assetAmount` and `destination.assetAmount` are the same
            figure and the sum reconciles against either.
          type: object
          properties:
            code:
              type: string
              enum:
                - USD
                - EUR
                - GBP
                - CHF
                - JPY
                - CAD
                - AUD
                - NZD
                - SGD
                - HKD
                - CNY
                - KRW
                - INR
                - BRL
                - MXN
                - ARS
                - CLP
                - COP
                - PEN
                - ZAR
                - NGN
                - KES
                - GHS
                - EGP
                - AED
                - SAR
                - ILS
                - TRY
                - PLN
                - CZK
                - HUF
                - SEK
                - NOK
                - DKK
                - THB
                - IDR
                - MYR
                - PHP
                - VND
                - TWD
                - USDC
                - USDT
                - DAI
                - EURC
                - PYUSD
                - OUSD
                - BTC
                - ETH
                - SOL
                - TRX
                - XLM
                - POL
              description: Asset code (USDC, USD, etc.)
            chain:
              description: Chain when the asset is on-chain; omitted for fiat.
              type: string
              enum:
                - ethereum
                - base
                - solana
                - polygon
                - tron
                - stellar
                - tempo
            amount:
              type: string
              description: Decimal string, asset-precision rounded
          required:
            - code
            - amount
          additionalProperties: false
      required:
        - id
        - customerId
        - status
        - source
        - destination
        - fees
        - createdAt
        - hasRfi
        - type
      description: >-
        Client-facing view of an inbound deposit (fiat or crypto credit into a
        customer VA/wallet).
    PublicDepositReturnViewDto:
      type: object
      properties:
        id:
          type: string
          pattern: ^txn_[0-9A-Za-z]{22}$
        customerId:
          type: string
          pattern: ^cus_[0-9A-Za-z]{22}$
        customerName:
          description: >-
            Display name of the customer that owns the transaction: business
            legal name or individual full name. Same value on the transactions
            and payouts reads for the same row. Omitted when the customer's
            identity record hasn't resolved a name yet; per the public
            omit-don't-null convention, absence is never surfaced as `null`.
          type: string
        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
            - processing
            - completed
            - failed
            - cancelled
        stage:
          description: >-
            Progress signal for a non-terminal transaction, informational only —
            it does not replace `requiresUserSignature`, `hasRfi`, or
            `failureCode` for deciding whether your integration needs to act.
            `awaiting_signature`: waiting on the required transaction signature
            (see `requiresUserSignature`). `awaiting_customer_action`: further
            input is needed before the transaction can go on. Read `hasRfi` to
            learn where the ask is: `true` means a request for information holds
            the answer — `rfiId` names it, and `GET /v2/rfis/{id}` carries what
            to send; `false` means the matching event carries the detail (e.g.
            `transaction.awaiting_sender_information`). `under_review`:
            compliance, document, or verification review of something already
            submitted is in progress — usually no action needed; check `hasRfi`
            if unsure. `settling`: funds movement or settlement is in progress,
            no customer action required — covers long-lived fiat rails like
            SWIFT that legitimately take days as well as any other non-blocked
            in-flight state. Omitted once `status` reaches a terminal value
            (`completed` / `failed` / `cancelled`). The set of values may grow
            over time — treat unrecognized values the same as `processing`.
          type: string
          enum:
            - awaiting_signature
            - awaiting_customer_action
            - under_review
            - settling
        source:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                walletId:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                txHash:
                  type: string
              required:
                - type
                - walletId
                - address
                - assetAmount
              additionalProperties: false
              description: A Conduit-custodied crypto wallet on one side of a transaction.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - deposit_address
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit-provided funding address — the address a
                deposit-funded order was funded at. Conduit owns and may rotate
                the wallet behind it without notice, so the side carries no
                wallet id and the address is the only thing to reconcile
                against. Chain travels with the asset inside `assetAmount`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                virtualAccountId:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
                wireReceive:
                  oneOf:
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - us
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        routingNumber:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - routingNumber
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - swift
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - sepa
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - uk
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        sortCode:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - sortCode
                      additionalProperties: false
                  description: >-
                    Receiving wire-instruction context: which Conduit bank
                    account + rail the inbound deposit landed in. Captured at
                    deposit-detect time.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - virtualAccountId
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit virtual account on one side of a transaction.
                `wireReceive` is destination-only — it carries the receiving
                wire instructions on fiat inbound deposits where the VA received
                the wire. Always absent when the VA is a source (conversions /
                fiat withdrawals).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_crypto
                address:
                  type: string
                txHash:
                  type: string
                memo:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - text
                        value:
                          type: string
                          minLength: 1
                      required:
                        - type
                        - value
                      additionalProperties: false
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - id
                        value:
                          type: string
                      required:
                        - type
                        - value
                      additionalProperties: false
                  description: >-
                    Destination memo (destination tag) for the receiving
                    account. Required by shared custodial addresses such as
                    exchanges. Only accepted on chains whose payments carry a
                    memo.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                An external on-chain counterparty: address plus optional
                settlement tx hash. Chain travels with the asset inside
                `assetAmount`. `memo` is the destination memo the payout was
                created with, when it carried one.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank
                rail:
                  description: >-
                    The payment network the payout was created with, as sent on
                    the request's `rail`. `recipient.rail` names the account
                    family the coordinates belong to (`us`, `swift`, `sepa`,
                    `uk_domestic`), not the network.
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                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
                recipient:
                  oneOf:
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - crypto
                        chain:
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - tron
                            - stellar
                            - tempo
                        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
                        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
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
                bankScheduledFor:
                  description: >-
                    The settlement date the sending bank last reported for this
                    payout, as a calendar date in the bank's own time zone.
                    Present only when the bank reports one, as on ACH. A date
                    later than the payout date means the bank moved the entry to
                    a later window; the payout, its rail and its obligation do
                    not change, so do not send it again.
                  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])))$
              required:
                - type
                - rail
                - recipient
                - assetAmount
              additionalProperties: false
              description: >-
                An external bank counterparty: the payment rail and rail context
                the payout was created with (`rail`, `ach`, `swift`, `instant`),
                the recipient details, plus any real wire settlement references
                (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace, RTP, FedNow).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_inbound
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the deposit arrived on (fedwire, ach,
                    rtp, fednow, swift, sepa, faster_payments, chaps), or null
                    when not known. Always present. Independent of the wire
                    reference fields, which may be absent.
                  nullable: true
                sender:
                  type: object
                  properties:
                    name:
                      description: Name of the sending account holder.
                      type: string
                    country:
                      description: >-
                        Country of the sending account holder, ISO 3166-1
                        alpha-2.
                      type: string
                      enum:
                        - AF
                        - AL
                        - DZ
                        - AS
                        - AD
                        - AO
                        - AI
                        - AQ
                        - AG
                        - AR
                        - AM
                        - AW
                        - AU
                        - AT
                        - AZ
                        - BS
                        - BH
                        - BD
                        - BB
                        - BY
                        - BE
                        - BZ
                        - BJ
                        - BM
                        - BT
                        - BO
                        - BQ
                        - BA
                        - BW
                        - BV
                        - BR
                        - IO
                        - BN
                        - BG
                        - BF
                        - BI
                        - CV
                        - KH
                        - CM
                        - CA
                        - KY
                        - CF
                        - TD
                        - CL
                        - CN
                        - CX
                        - CC
                        - CO
                        - KM
                        - CG
                        - CD
                        - CK
                        - CR
                        - CI
                        - HR
                        - CU
                        - CW
                        - CY
                        - CZ
                        - DK
                        - DJ
                        - DM
                        - DO
                        - EC
                        - EG
                        - SV
                        - GQ
                        - ER
                        - EE
                        - SZ
                        - ET
                        - FK
                        - FO
                        - FJ
                        - FI
                        - FR
                        - GF
                        - PF
                        - TF
                        - GA
                        - GM
                        - GE
                        - DE
                        - GH
                        - GI
                        - GR
                        - GL
                        - GD
                        - GP
                        - GU
                        - GT
                        - GG
                        - GN
                        - GW
                        - GY
                        - HT
                        - HM
                        - VA
                        - HN
                        - HK
                        - HU
                        - IS
                        - IN
                        - ID
                        - IR
                        - IQ
                        - IE
                        - IM
                        - IL
                        - IT
                        - JM
                        - JP
                        - JE
                        - JO
                        - KZ
                        - KE
                        - KI
                        - KP
                        - KR
                        - KW
                        - KG
                        - LA
                        - LV
                        - LB
                        - LS
                        - LR
                        - LY
                        - LI
                        - LT
                        - LU
                        - MO
                        - MG
                        - MW
                        - MY
                        - MV
                        - ML
                        - MT
                        - MH
                        - MQ
                        - MR
                        - MU
                        - YT
                        - MX
                        - FM
                        - MD
                        - MC
                        - MN
                        - ME
                        - MS
                        - MA
                        - MZ
                        - MM
                        - NA
                        - NR
                        - NP
                        - NL
                        - NC
                        - NZ
                        - NI
                        - NE
                        - NG
                        - NU
                        - NF
                        - MK
                        - MP
                        - 'NO'
                        - OM
                        - PK
                        - PW
                        - PS
                        - PA
                        - PG
                        - PY
                        - PE
                        - PH
                        - PN
                        - PL
                        - PT
                        - PR
                        - QA
                        - RE
                        - RO
                        - RU
                        - RW
                        - BL
                        - SH
                        - KN
                        - LC
                        - MF
                        - PM
                        - VC
                        - WS
                        - SM
                        - ST
                        - SA
                        - SN
                        - RS
                        - SC
                        - SL
                        - SG
                        - SX
                        - SK
                        - SI
                        - SB
                        - SO
                        - ZA
                        - GS
                        - SS
                        - ES
                        - LK
                        - SD
                        - SR
                        - SJ
                        - SE
                        - CH
                        - SY
                        - TW
                        - TJ
                        - TZ
                        - TH
                        - TL
                        - TG
                        - TK
                        - TO
                        - TT
                        - TN
                        - TR
                        - TM
                        - TC
                        - TV
                        - UG
                        - UA
                        - AE
                        - GB
                        - US
                        - UM
                        - UY
                        - UZ
                        - VU
                        - VE
                        - VN
                        - VG
                        - VI
                        - WF
                        - EH
                        - YE
                        - ZM
                        - ZW
                    accountNumber:
                      description: Sending account number, when transmitted.
                      type: string
                    routingNumber:
                      description: US ABA routing number of the sending bank.
                      type: string
                    sortCode:
                      description: >-
                        UK sort code of the sending bank, as the sending bank
                        transmitted it, with spaces and hyphens stripped.
                      type: string
                    iban:
                      description: Sender IBAN, when transmitted.
                      type: string
                    bic:
                      description: BIC of the sending bank (ISO 9362).
                      type: string
                  additionalProperties: false
                  description: >-
                    Originator details on an inbound fiat deposit — what the
                    sending bank transmitted with the payment. Each field is
                    present only when provided.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - sender
                - assetAmount
              additionalProperties: false
              description: >-
                Inbound fiat deposit source: the external bank that originated
                the wire, with the originator details as provided by the sender
                bank, plus the payment network the deposit arrived on (`rail`,
                null when unknown) and any real settlement references the
                network exposed (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace). The
                wire reference fields are independent of `rail` and may be
                absent. The variant is emitted once any sender field is
                populated; before that, the source surfaces as
                `external_unknown`. A deposit delivered on-us from another
                account in the same organization is `internal_transfer` instead,
                even when the partner bank supplied sender details — there is no
                external originator to report.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_debit
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the bank pulled the money over (ach,
                    fedwire, ...), or null when not known. Always present.
                  nullable: true
                originator:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the party that pulled the money.
                    id:
                      description: The originator's identifier on the network, when sent.
                      type: string
                  required:
                    - name
                  additionalProperties: false
                secCode:
                  description: ACH Standard Entry Class code of the entry, e.g. CCD or WEB.
                  type: string
                description:
                  description: Entry description the originator sent with the debit.
                  type: string
                effectiveDate:
                  description: Date the originator asked the bank to settle the debit.
                  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])))$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - originator
                - assetAmount
              additionalProperties: false
              description: >-
                Destination of a withdrawal that Conduit did not start: a third
                party pulled the money from the customer's bank account, such as
                an ACH debit. It names the party that pulled it (`originator`)
                and the payment network (`rail`, null when unknown), plus any
                settlement reference the network exposed. Without an originator
                name the destination is `external_unknown`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - internal_transfer
                originatingTransactionId:
                  type: string
                  pattern: ^txn_[0-9A-Za-z]{22}$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - originatingTransactionId
                - assetAmount
              additionalProperties: false
              description: >-
                Source of a deposit that was delivered on-us from another
                Conduit account in the SAME organization — no external bank was
                involved. `originatingTransactionId` is the withdrawal
                transaction that sent it; fetch it for the sending side's own
                details. Emitted only when the organization owns both sides: an
                on-us delivery from another organization keeps the source it
                would otherwise have. Like `external_bank_inbound`, this variant
                resolves as the deposit is detected, which happens after the
                transaction is created — so on a first-pass run
                `transaction.created` carries `external_unknown`, while
                `transaction.completed` and every read carry the resolved
                source.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_unknown
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - assetAmount
              additionalProperties: false
              description: >-
                External counterparty whose details are not yet known (e.g.
                detected fiat deposit before sender info has been resolved).
          description: >-
            One side (source or destination) of a transaction. Discriminated by
            `type`.
        destination:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                walletId:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                txHash:
                  type: string
              required:
                - type
                - walletId
                - address
                - assetAmount
              additionalProperties: false
              description: A Conduit-custodied crypto wallet on one side of a transaction.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - deposit_address
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit-provided funding address — the address a
                deposit-funded order was funded at. Conduit owns and may rotate
                the wallet behind it without notice, so the side carries no
                wallet id and the address is the only thing to reconcile
                against. Chain travels with the asset inside `assetAmount`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                virtualAccountId:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
                wireReceive:
                  oneOf:
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - us
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        routingNumber:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - routingNumber
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - swift
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - sepa
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - uk
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        sortCode:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - sortCode
                      additionalProperties: false
                  description: >-
                    Receiving wire-instruction context: which Conduit bank
                    account + rail the inbound deposit landed in. Captured at
                    deposit-detect time.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - virtualAccountId
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit virtual account on one side of a transaction.
                `wireReceive` is destination-only — it carries the receiving
                wire instructions on fiat inbound deposits where the VA received
                the wire. Always absent when the VA is a source (conversions /
                fiat withdrawals).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_crypto
                address:
                  type: string
                txHash:
                  type: string
                memo:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - text
                        value:
                          type: string
                          minLength: 1
                      required:
                        - type
                        - value
                      additionalProperties: false
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - id
                        value:
                          type: string
                      required:
                        - type
                        - value
                      additionalProperties: false
                  description: >-
                    Destination memo (destination tag) for the receiving
                    account. Required by shared custodial addresses such as
                    exchanges. Only accepted on chains whose payments carry a
                    memo.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                An external on-chain counterparty: address plus optional
                settlement tx hash. Chain travels with the asset inside
                `assetAmount`. `memo` is the destination memo the payout was
                created with, when it carried one.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank
                rail:
                  description: >-
                    The payment network the payout was created with, as sent on
                    the request's `rail`. `recipient.rail` names the account
                    family the coordinates belong to (`us`, `swift`, `sepa`,
                    `uk_domestic`), not the network.
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                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
                recipient:
                  oneOf:
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - crypto
                        chain:
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - tron
                            - stellar
                            - tempo
                        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
                        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
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
                bankScheduledFor:
                  description: >-
                    The settlement date the sending bank last reported for this
                    payout, as a calendar date in the bank's own time zone.
                    Present only when the bank reports one, as on ACH. A date
                    later than the payout date means the bank moved the entry to
                    a later window; the payout, its rail and its obligation do
                    not change, so do not send it again.
                  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])))$
              required:
                - type
                - rail
                - recipient
                - assetAmount
              additionalProperties: false
              description: >-
                An external bank counterparty: the payment rail and rail context
                the payout was created with (`rail`, `ach`, `swift`, `instant`),
                the recipient details, plus any real wire settlement references
                (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace, RTP, FedNow).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_inbound
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the deposit arrived on (fedwire, ach,
                    rtp, fednow, swift, sepa, faster_payments, chaps), or null
                    when not known. Always present. Independent of the wire
                    reference fields, which may be absent.
                  nullable: true
                sender:
                  type: object
                  properties:
                    name:
                      description: Name of the sending account holder.
                      type: string
                    country:
                      description: >-
                        Country of the sending account holder, ISO 3166-1
                        alpha-2.
                      type: string
                      enum:
                        - AF
                        - AL
                        - DZ
                        - AS
                        - AD
                        - AO
                        - AI
                        - AQ
                        - AG
                        - AR
                        - AM
                        - AW
                        - AU
                        - AT
                        - AZ
                        - BS
                        - BH
                        - BD
                        - BB
                        - BY
                        - BE
                        - BZ
                        - BJ
                        - BM
                        - BT
                        - BO
                        - BQ
                        - BA
                        - BW
                        - BV
                        - BR
                        - IO
                        - BN
                        - BG
                        - BF
                        - BI
                        - CV
                        - KH
                        - CM
                        - CA
                        - KY
                        - CF
                        - TD
                        - CL
                        - CN
                        - CX
                        - CC
                        - CO
                        - KM
                        - CG
                        - CD
                        - CK
                        - CR
                        - CI
                        - HR
                        - CU
                        - CW
                        - CY
                        - CZ
                        - DK
                        - DJ
                        - DM
                        - DO
                        - EC
                        - EG
                        - SV
                        - GQ
                        - ER
                        - EE
                        - SZ
                        - ET
                        - FK
                        - FO
                        - FJ
                        - FI
                        - FR
                        - GF
                        - PF
                        - TF
                        - GA
                        - GM
                        - GE
                        - DE
                        - GH
                        - GI
                        - GR
                        - GL
                        - GD
                        - GP
                        - GU
                        - GT
                        - GG
                        - GN
                        - GW
                        - GY
                        - HT
                        - HM
                        - VA
                        - HN
                        - HK
                        - HU
                        - IS
                        - IN
                        - ID
                        - IR
                        - IQ
                        - IE
                        - IM
                        - IL
                        - IT
                        - JM
                        - JP
                        - JE
                        - JO
                        - KZ
                        - KE
                        - KI
                        - KP
                        - KR
                        - KW
                        - KG
                        - LA
                        - LV
                        - LB
                        - LS
                        - LR
                        - LY
                        - LI
                        - LT
                        - LU
                        - MO
                        - MG
                        - MW
                        - MY
                        - MV
                        - ML
                        - MT
                        - MH
                        - MQ
                        - MR
                        - MU
                        - YT
                        - MX
                        - FM
                        - MD
                        - MC
                        - MN
                        - ME
                        - MS
                        - MA
                        - MZ
                        - MM
                        - NA
                        - NR
                        - NP
                        - NL
                        - NC
                        - NZ
                        - NI
                        - NE
                        - NG
                        - NU
                        - NF
                        - MK
                        - MP
                        - 'NO'
                        - OM
                        - PK
                        - PW
                        - PS
                        - PA
                        - PG
                        - PY
                        - PE
                        - PH
                        - PN
                        - PL
                        - PT
                        - PR
                        - QA
                        - RE
                        - RO
                        - RU
                        - RW
                        - BL
                        - SH
                        - KN
                        - LC
                        - MF
                        - PM
                        - VC
                        - WS
                        - SM
                        - ST
                        - SA
                        - SN
                        - RS
                        - SC
                        - SL
                        - SG
                        - SX
                        - SK
                        - SI
                        - SB
                        - SO
                        - ZA
                        - GS
                        - SS
                        - ES
                        - LK
                        - SD
                        - SR
                        - SJ
                        - SE
                        - CH
                        - SY
                        - TW
                        - TJ
                        - TZ
                        - TH
                        - TL
                        - TG
                        - TK
                        - TO
                        - TT
                        - TN
                        - TR
                        - TM
                        - TC
                        - TV
                        - UG
                        - UA
                        - AE
                        - GB
                        - US
                        - UM
                        - UY
                        - UZ
                        - VU
                        - VE
                        - VN
                        - VG
                        - VI
                        - WF
                        - EH
                        - YE
                        - ZM
                        - ZW
                    accountNumber:
                      description: Sending account number, when transmitted.
                      type: string
                    routingNumber:
                      description: US ABA routing number of the sending bank.
                      type: string
                    sortCode:
                      description: >-
                        UK sort code of the sending bank, as the sending bank
                        transmitted it, with spaces and hyphens stripped.
                      type: string
                    iban:
                      description: Sender IBAN, when transmitted.
                      type: string
                    bic:
                      description: BIC of the sending bank (ISO 9362).
                      type: string
                  additionalProperties: false
                  description: >-
                    Originator details on an inbound fiat deposit — what the
                    sending bank transmitted with the payment. Each field is
                    present only when provided.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - sender
                - assetAmount
              additionalProperties: false
              description: >-
                Inbound fiat deposit source: the external bank that originated
                the wire, with the originator details as provided by the sender
                bank, plus the payment network the deposit arrived on (`rail`,
                null when unknown) and any real settlement references the
                network exposed (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace). The
                wire reference fields are independent of `rail` and may be
                absent. The variant is emitted once any sender field is
                populated; before that, the source surfaces as
                `external_unknown`. A deposit delivered on-us from another
                account in the same organization is `internal_transfer` instead,
                even when the partner bank supplied sender details — there is no
                external originator to report.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_debit
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the bank pulled the money over (ach,
                    fedwire, ...), or null when not known. Always present.
                  nullable: true
                originator:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the party that pulled the money.
                    id:
                      description: The originator's identifier on the network, when sent.
                      type: string
                  required:
                    - name
                  additionalProperties: false
                secCode:
                  description: ACH Standard Entry Class code of the entry, e.g. CCD or WEB.
                  type: string
                description:
                  description: Entry description the originator sent with the debit.
                  type: string
                effectiveDate:
                  description: Date the originator asked the bank to settle the debit.
                  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])))$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - originator
                - assetAmount
              additionalProperties: false
              description: >-
                Destination of a withdrawal that Conduit did not start: a third
                party pulled the money from the customer's bank account, such as
                an ACH debit. It names the party that pulled it (`originator`)
                and the payment network (`rail`, null when unknown), plus any
                settlement reference the network exposed. Without an originator
                name the destination is `external_unknown`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - internal_transfer
                originatingTransactionId:
                  type: string
                  pattern: ^txn_[0-9A-Za-z]{22}$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - originatingTransactionId
                - assetAmount
              additionalProperties: false
              description: >-
                Source of a deposit that was delivered on-us from another
                Conduit account in the SAME organization — no external bank was
                involved. `originatingTransactionId` is the withdrawal
                transaction that sent it; fetch it for the sending side's own
                details. Emitted only when the organization owns both sides: an
                on-us delivery from another organization keeps the source it
                would otherwise have. Like `external_bank_inbound`, this variant
                resolves as the deposit is detected, which happens after the
                transaction is created — so on a first-pass run
                `transaction.created` carries `external_unknown`, while
                `transaction.completed` and every read carry the resolved
                source.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_unknown
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - assetAmount
              additionalProperties: false
              description: >-
                External counterparty whose details are not yet known (e.g.
                detected fiat deposit before sender info has been resolved).
          description: >-
            One side (source or destination) of a transaction. Discriminated by
            `type`.
        fees:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                  - fixed
              assetAmount:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - USD
                      - EUR
                      - GBP
                      - CHF
                      - JPY
                      - CAD
                      - AUD
                      - NZD
                      - SGD
                      - HKD
                      - CNY
                      - KRW
                      - INR
                      - BRL
                      - MXN
                      - ARS
                      - CLP
                      - COP
                      - PEN
                      - ZAR
                      - NGN
                      - KES
                      - GHS
                      - EGP
                      - AED
                      - SAR
                      - ILS
                      - TRY
                      - PLN
                      - CZK
                      - HUF
                      - SEK
                      - NOK
                      - DKK
                      - THB
                      - IDR
                      - MYR
                      - PHP
                      - VND
                      - TWD
                      - USDC
                      - USDT
                      - DAI
                      - EURC
                      - PYUSD
                      - OUSD
                      - BTC
                      - ETH
                      - SOL
                      - TRX
                      - XLM
                      - POL
                    description: Asset code (USDC, USD, etc.)
                  chain:
                    description: Chain when the asset is on-chain; omitted for fiat.
                    type: string
                    enum:
                      - ethereum
                      - base
                      - solana
                      - polygon
                      - tron
                      - stellar
                      - tempo
                  amount:
                    type: string
                    description: Decimal string, asset-precision rounded
                required:
                  - code
                  - amount
                additionalProperties: false
              owner:
                type: string
                enum:
                  - conduit
                  - you
                description: >-
                  Who this charge belongs to. `conduit` is Conduit's own fee.
                  `you` is the margin you declared on this transaction, which
                  Conduit collects from your customer and accrues to you; it is
                  your revenue, not a Conduit charge.
            required:
              - type
              - assetAmount
              - owner
        createdAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        completedAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        failureCode:
          type: string
          enum:
            - user_signature_timeout
            - user_signature_expired
            - user_signature_declined
            - user_signature_rejected_by_provider
            - crypto_wallet_misconfigured
            - compliance_hold
            - compliance_review_rejected
            - compliance_rejected
            - returned_by_sender
            - rail_policy_rejected
            - insufficient_funds
            - insufficient_funds_at_settle
            - rail_unavailable
            - sender_info_timeout
            - travel_rule_rejected
            - provider_rejected
            - chain_broadcast_failed
            - roster_changed
            - insufficient_onchain_balance
            - source_account_unavailable
        failureMessage:
          description: >-
            Conduit's own wording for `failureCode`: the public error catalog
            text for the code, or the generic failure text when there is no
            code. The same text as `failureMessage` on the `transaction.failed`
            webhook. It never carries text from a bank, a chain or a sandbox
            simulator `reason`.
          type: string
        cancelledAt:
          description: >-
            ISO-8601 timestamp when the transaction was cancelled. Present only
            on `status: cancelled`.
          type: string
          format: date-time
          example: '2026-01-15T09:30:00.000Z'
        cancellationReason:
          description: >-
            Machine-readable cancellation reason. `client_cancelled` when the
            client called `POST /v2/payouts/:id/cancel`; `expired` is reserved.
            Omitted on non-cancelled rows. Mirrors `orders.cancellationReason`.
          type: string
          enum:
            - expired
            - client_cancelled
        linkedOrderId:
          type: string
          pattern: ^ord_[0-9A-Za-z]{22}$
        purpose:
          description: >-
            The business purpose declared at payout creation. Drives compliance
            gating: intercompany requires a whitelisted recipient of the
            customer or its group; personal_transfer_of_funds requires the
            customer's own whitelisted account; prefunding requires a customer's
            issued account; other values require supporting documentation.
          type: string
          enum:
            - intercompany
            - treasury_management
            - payment_for_goods_or_services
            - payroll
            - investments
            - other
            - prefunding
            - purchase_of_goods
            - rent
            - loan_payment
            - personal_transfer_of_funds
            - gift
            - bill_payment
            - charity
            - tax_payment
            - person_to_person_transfer
        purposeDescription:
          description: >-
            The customer's own words for the payment. Omitted when none was
            sent, and on the transaction list: read the single transaction to
            get it.
          type: string
        hasRfi:
          type: boolean
          description: >-
            True when at least one published (non-draft, non-cancelled) RFI
            targets this transaction. Always present; derived at read time, no
            stored column.
        rfiId:
          description: >-
            The most recently published such RFI — usually the one `stage`
            refers to, but a later unrelated RFI on the same transaction takes
            this slot instead. Omitted (never `null`) when `hasRfi` is false.
          type: string
          pattern: ^rfi_[0-9A-Za-z]{22}$
        remittance:
          description: >-
            The free-text reference the payer supplied on the payout, fiat or
            crypto. On a transfer between two of the customer's own wallets the
            same value reads on both halves: the withdrawal that sent it and the
            deposit that credits it.
          type: object
          properties:
            reference:
              type: string
            description:
              type: string
        swiftUetr:
          description: >-
            The UETR of the fiat leg — the ISO 20022 unique end-to-end
            transaction reference. Present whenever the payment carried one,
            including on a deposit whose `source` is still `external_unknown`
            because the sender has not resolved. The side that carries wire
            references repeats it — `destination.swiftUetr` on a payout,
            `source.swiftUetr` on a deposit — but not every side does, which is
            why it reads here as well. A Fedwire message carries a UETR too, so
            its presence does not mean the payment travelled on SWIFT. Omitted
            (never `null`) when the rail supplied none.
          type: string
        type:
          type: string
          enum:
            - deposit_return
        returnOf:
          description: >-
            The transfer this sends back. Its `returned` total includes this
            amount once this row is dispatched, whether or not it has settled
            yet. Omitted when the original transfer is no longer resolvable.
          type: string
          pattern: ^txn_[0-9A-Za-z]{22}$
      required:
        - id
        - customerId
        - status
        - source
        - destination
        - fees
        - createdAt
        - hasRfi
        - type
      description: Funds sent back from a funding address to the address they came from.
    PublicWithdrawalViewDto:
      type: object
      properties:
        id:
          type: string
          pattern: ^txn_[0-9A-Za-z]{22}$
        customerId:
          type: string
          pattern: ^cus_[0-9A-Za-z]{22}$
        customerName:
          description: >-
            Display name of the customer that owns the transaction: business
            legal name or individual full name. Same value on the transactions
            and payouts reads for the same row. Omitted when the customer's
            identity record hasn't resolved a name yet; per the public
            omit-don't-null convention, absence is never surfaced as `null`.
          type: string
        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
            - processing
            - completed
            - failed
            - cancelled
        stage:
          description: >-
            Progress signal for a non-terminal transaction, informational only —
            it does not replace `requiresUserSignature`, `hasRfi`, or
            `failureCode` for deciding whether your integration needs to act.
            `awaiting_signature`: waiting on the required transaction signature
            (see `requiresUserSignature`). `awaiting_customer_action`: further
            input is needed before the transaction can go on. Read `hasRfi` to
            learn where the ask is: `true` means a request for information holds
            the answer — `rfiId` names it, and `GET /v2/rfis/{id}` carries what
            to send; `false` means the matching event carries the detail (e.g.
            `transaction.awaiting_sender_information`). `under_review`:
            compliance, document, or verification review of something already
            submitted is in progress — usually no action needed; check `hasRfi`
            if unsure. `settling`: funds movement or settlement is in progress,
            no customer action required — covers long-lived fiat rails like
            SWIFT that legitimately take days as well as any other non-blocked
            in-flight state. Omitted once `status` reaches a terminal value
            (`completed` / `failed` / `cancelled`). The set of values may grow
            over time — treat unrecognized values the same as `processing`.
          type: string
          enum:
            - awaiting_signature
            - awaiting_customer_action
            - under_review
            - settling
        source:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                walletId:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                txHash:
                  type: string
              required:
                - type
                - walletId
                - address
                - assetAmount
              additionalProperties: false
              description: A Conduit-custodied crypto wallet on one side of a transaction.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - deposit_address
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit-provided funding address — the address a
                deposit-funded order was funded at. Conduit owns and may rotate
                the wallet behind it without notice, so the side carries no
                wallet id and the address is the only thing to reconcile
                against. Chain travels with the asset inside `assetAmount`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                virtualAccountId:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
                wireReceive:
                  oneOf:
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - us
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        routingNumber:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - routingNumber
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - swift
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - sepa
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - uk
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        sortCode:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - sortCode
                      additionalProperties: false
                  description: >-
                    Receiving wire-instruction context: which Conduit bank
                    account + rail the inbound deposit landed in. Captured at
                    deposit-detect time.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - virtualAccountId
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit virtual account on one side of a transaction.
                `wireReceive` is destination-only — it carries the receiving
                wire instructions on fiat inbound deposits where the VA received
                the wire. Always absent when the VA is a source (conversions /
                fiat withdrawals).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_crypto
                address:
                  type: string
                txHash:
                  type: string
                memo:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - text
                        value:
                          type: string
                          minLength: 1
                      required:
                        - type
                        - value
                      additionalProperties: false
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - id
                        value:
                          type: string
                      required:
                        - type
                        - value
                      additionalProperties: false
                  description: >-
                    Destination memo (destination tag) for the receiving
                    account. Required by shared custodial addresses such as
                    exchanges. Only accepted on chains whose payments carry a
                    memo.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                An external on-chain counterparty: address plus optional
                settlement tx hash. Chain travels with the asset inside
                `assetAmount`. `memo` is the destination memo the payout was
                created with, when it carried one.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank
                rail:
                  description: >-
                    The payment network the payout was created with, as sent on
                    the request's `rail`. `recipient.rail` names the account
                    family the coordinates belong to (`us`, `swift`, `sepa`,
                    `uk_domestic`), not the network.
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                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
                recipient:
                  oneOf:
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - crypto
                        chain:
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - tron
                            - stellar
                            - tempo
                        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
                        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
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
                bankScheduledFor:
                  description: >-
                    The settlement date the sending bank last reported for this
                    payout, as a calendar date in the bank's own time zone.
                    Present only when the bank reports one, as on ACH. A date
                    later than the payout date means the bank moved the entry to
                    a later window; the payout, its rail and its obligation do
                    not change, so do not send it again.
                  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])))$
              required:
                - type
                - rail
                - recipient
                - assetAmount
              additionalProperties: false
              description: >-
                An external bank counterparty: the payment rail and rail context
                the payout was created with (`rail`, `ach`, `swift`, `instant`),
                the recipient details, plus any real wire settlement references
                (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace, RTP, FedNow).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_inbound
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the deposit arrived on (fedwire, ach,
                    rtp, fednow, swift, sepa, faster_payments, chaps), or null
                    when not known. Always present. Independent of the wire
                    reference fields, which may be absent.
                  nullable: true
                sender:
                  type: object
                  properties:
                    name:
                      description: Name of the sending account holder.
                      type: string
                    country:
                      description: >-
                        Country of the sending account holder, ISO 3166-1
                        alpha-2.
                      type: string
                      enum:
                        - AF
                        - AL
                        - DZ
                        - AS
                        - AD
                        - AO
                        - AI
                        - AQ
                        - AG
                        - AR
                        - AM
                        - AW
                        - AU
                        - AT
                        - AZ
                        - BS
                        - BH
                        - BD
                        - BB
                        - BY
                        - BE
                        - BZ
                        - BJ
                        - BM
                        - BT
                        - BO
                        - BQ
                        - BA
                        - BW
                        - BV
                        - BR
                        - IO
                        - BN
                        - BG
                        - BF
                        - BI
                        - CV
                        - KH
                        - CM
                        - CA
                        - KY
                        - CF
                        - TD
                        - CL
                        - CN
                        - CX
                        - CC
                        - CO
                        - KM
                        - CG
                        - CD
                        - CK
                        - CR
                        - CI
                        - HR
                        - CU
                        - CW
                        - CY
                        - CZ
                        - DK
                        - DJ
                        - DM
                        - DO
                        - EC
                        - EG
                        - SV
                        - GQ
                        - ER
                        - EE
                        - SZ
                        - ET
                        - FK
                        - FO
                        - FJ
                        - FI
                        - FR
                        - GF
                        - PF
                        - TF
                        - GA
                        - GM
                        - GE
                        - DE
                        - GH
                        - GI
                        - GR
                        - GL
                        - GD
                        - GP
                        - GU
                        - GT
                        - GG
                        - GN
                        - GW
                        - GY
                        - HT
                        - HM
                        - VA
                        - HN
                        - HK
                        - HU
                        - IS
                        - IN
                        - ID
                        - IR
                        - IQ
                        - IE
                        - IM
                        - IL
                        - IT
                        - JM
                        - JP
                        - JE
                        - JO
                        - KZ
                        - KE
                        - KI
                        - KP
                        - KR
                        - KW
                        - KG
                        - LA
                        - LV
                        - LB
                        - LS
                        - LR
                        - LY
                        - LI
                        - LT
                        - LU
                        - MO
                        - MG
                        - MW
                        - MY
                        - MV
                        - ML
                        - MT
                        - MH
                        - MQ
                        - MR
                        - MU
                        - YT
                        - MX
                        - FM
                        - MD
                        - MC
                        - MN
                        - ME
                        - MS
                        - MA
                        - MZ
                        - MM
                        - NA
                        - NR
                        - NP
                        - NL
                        - NC
                        - NZ
                        - NI
                        - NE
                        - NG
                        - NU
                        - NF
                        - MK
                        - MP
                        - 'NO'
                        - OM
                        - PK
                        - PW
                        - PS
                        - PA
                        - PG
                        - PY
                        - PE
                        - PH
                        - PN
                        - PL
                        - PT
                        - PR
                        - QA
                        - RE
                        - RO
                        - RU
                        - RW
                        - BL
                        - SH
                        - KN
                        - LC
                        - MF
                        - PM
                        - VC
                        - WS
                        - SM
                        - ST
                        - SA
                        - SN
                        - RS
                        - SC
                        - SL
                        - SG
                        - SX
                        - SK
                        - SI
                        - SB
                        - SO
                        - ZA
                        - GS
                        - SS
                        - ES
                        - LK
                        - SD
                        - SR
                        - SJ
                        - SE
                        - CH
                        - SY
                        - TW
                        - TJ
                        - TZ
                        - TH
                        - TL
                        - TG
                        - TK
                        - TO
                        - TT
                        - TN
                        - TR
                        - TM
                        - TC
                        - TV
                        - UG
                        - UA
                        - AE
                        - GB
                        - US
                        - UM
                        - UY
                        - UZ
                        - VU
                        - VE
                        - VN
                        - VG
                        - VI
                        - WF
                        - EH
                        - YE
                        - ZM
                        - ZW
                    accountNumber:
                      description: Sending account number, when transmitted.
                      type: string
                    routingNumber:
                      description: US ABA routing number of the sending bank.
                      type: string
                    sortCode:
                      description: >-
                        UK sort code of the sending bank, as the sending bank
                        transmitted it, with spaces and hyphens stripped.
                      type: string
                    iban:
                      description: Sender IBAN, when transmitted.
                      type: string
                    bic:
                      description: BIC of the sending bank (ISO 9362).
                      type: string
                  additionalProperties: false
                  description: >-
                    Originator details on an inbound fiat deposit — what the
                    sending bank transmitted with the payment. Each field is
                    present only when provided.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - sender
                - assetAmount
              additionalProperties: false
              description: >-
                Inbound fiat deposit source: the external bank that originated
                the wire, with the originator details as provided by the sender
                bank, plus the payment network the deposit arrived on (`rail`,
                null when unknown) and any real settlement references the
                network exposed (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace). The
                wire reference fields are independent of `rail` and may be
                absent. The variant is emitted once any sender field is
                populated; before that, the source surfaces as
                `external_unknown`. A deposit delivered on-us from another
                account in the same organization is `internal_transfer` instead,
                even when the partner bank supplied sender details — there is no
                external originator to report.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_debit
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the bank pulled the money over (ach,
                    fedwire, ...), or null when not known. Always present.
                  nullable: true
                originator:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the party that pulled the money.
                    id:
                      description: The originator's identifier on the network, when sent.
                      type: string
                  required:
                    - name
                  additionalProperties: false
                secCode:
                  description: ACH Standard Entry Class code of the entry, e.g. CCD or WEB.
                  type: string
                description:
                  description: Entry description the originator sent with the debit.
                  type: string
                effectiveDate:
                  description: Date the originator asked the bank to settle the debit.
                  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])))$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - originator
                - assetAmount
              additionalProperties: false
              description: >-
                Destination of a withdrawal that Conduit did not start: a third
                party pulled the money from the customer's bank account, such as
                an ACH debit. It names the party that pulled it (`originator`)
                and the payment network (`rail`, null when unknown), plus any
                settlement reference the network exposed. Without an originator
                name the destination is `external_unknown`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - internal_transfer
                originatingTransactionId:
                  type: string
                  pattern: ^txn_[0-9A-Za-z]{22}$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - originatingTransactionId
                - assetAmount
              additionalProperties: false
              description: >-
                Source of a deposit that was delivered on-us from another
                Conduit account in the SAME organization — no external bank was
                involved. `originatingTransactionId` is the withdrawal
                transaction that sent it; fetch it for the sending side's own
                details. Emitted only when the organization owns both sides: an
                on-us delivery from another organization keeps the source it
                would otherwise have. Like `external_bank_inbound`, this variant
                resolves as the deposit is detected, which happens after the
                transaction is created — so on a first-pass run
                `transaction.created` carries `external_unknown`, while
                `transaction.completed` and every read carry the resolved
                source.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_unknown
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - assetAmount
              additionalProperties: false
              description: >-
                External counterparty whose details are not yet known (e.g.
                detected fiat deposit before sender info has been resolved).
          description: >-
            One side (source or destination) of a transaction. Discriminated by
            `type`.
        destination:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                walletId:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                txHash:
                  type: string
              required:
                - type
                - walletId
                - address
                - assetAmount
              additionalProperties: false
              description: A Conduit-custodied crypto wallet on one side of a transaction.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - deposit_address
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit-provided funding address — the address a
                deposit-funded order was funded at. Conduit owns and may rotate
                the wallet behind it without notice, so the side carries no
                wallet id and the address is the only thing to reconcile
                against. Chain travels with the asset inside `assetAmount`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                virtualAccountId:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
                wireReceive:
                  oneOf:
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - us
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        routingNumber:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - routingNumber
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - swift
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - sepa
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - uk
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        sortCode:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - sortCode
                      additionalProperties: false
                  description: >-
                    Receiving wire-instruction context: which Conduit bank
                    account + rail the inbound deposit landed in. Captured at
                    deposit-detect time.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - virtualAccountId
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit virtual account on one side of a transaction.
                `wireReceive` is destination-only — it carries the receiving
                wire instructions on fiat inbound deposits where the VA received
                the wire. Always absent when the VA is a source (conversions /
                fiat withdrawals).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_crypto
                address:
                  type: string
                txHash:
                  type: string
                memo:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - text
                        value:
                          type: string
                          minLength: 1
                      required:
                        - type
                        - value
                      additionalProperties: false
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - id
                        value:
                          type: string
                      required:
                        - type
                        - value
                      additionalProperties: false
                  description: >-
                    Destination memo (destination tag) for the receiving
                    account. Required by shared custodial addresses such as
                    exchanges. Only accepted on chains whose payments carry a
                    memo.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                An external on-chain counterparty: address plus optional
                settlement tx hash. Chain travels with the asset inside
                `assetAmount`. `memo` is the destination memo the payout was
                created with, when it carried one.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank
                rail:
                  description: >-
                    The payment network the payout was created with, as sent on
                    the request's `rail`. `recipient.rail` names the account
                    family the coordinates belong to (`us`, `swift`, `sepa`,
                    `uk_domestic`), not the network.
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                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
                recipient:
                  oneOf:
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - crypto
                        chain:
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - tron
                            - stellar
                            - tempo
                        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
                        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
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
                bankScheduledFor:
                  description: >-
                    The settlement date the sending bank last reported for this
                    payout, as a calendar date in the bank's own time zone.
                    Present only when the bank reports one, as on ACH. A date
                    later than the payout date means the bank moved the entry to
                    a later window; the payout, its rail and its obligation do
                    not change, so do not send it again.
                  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])))$
              required:
                - type
                - rail
                - recipient
                - assetAmount
              additionalProperties: false
              description: >-
                An external bank counterparty: the payment rail and rail context
                the payout was created with (`rail`, `ach`, `swift`, `instant`),
                the recipient details, plus any real wire settlement references
                (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace, RTP, FedNow).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_inbound
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the deposit arrived on (fedwire, ach,
                    rtp, fednow, swift, sepa, faster_payments, chaps), or null
                    when not known. Always present. Independent of the wire
                    reference fields, which may be absent.
                  nullable: true
                sender:
                  type: object
                  properties:
                    name:
                      description: Name of the sending account holder.
                      type: string
                    country:
                      description: >-
                        Country of the sending account holder, ISO 3166-1
                        alpha-2.
                      type: string
                      enum:
                        - AF
                        - AL
                        - DZ
                        - AS
                        - AD
                        - AO
                        - AI
                        - AQ
                        - AG
                        - AR
                        - AM
                        - AW
                        - AU
                        - AT
                        - AZ
                        - BS
                        - BH
                        - BD
                        - BB
                        - BY
                        - BE
                        - BZ
                        - BJ
                        - BM
                        - BT
                        - BO
                        - BQ
                        - BA
                        - BW
                        - BV
                        - BR
                        - IO
                        - BN
                        - BG
                        - BF
                        - BI
                        - CV
                        - KH
                        - CM
                        - CA
                        - KY
                        - CF
                        - TD
                        - CL
                        - CN
                        - CX
                        - CC
                        - CO
                        - KM
                        - CG
                        - CD
                        - CK
                        - CR
                        - CI
                        - HR
                        - CU
                        - CW
                        - CY
                        - CZ
                        - DK
                        - DJ
                        - DM
                        - DO
                        - EC
                        - EG
                        - SV
                        - GQ
                        - ER
                        - EE
                        - SZ
                        - ET
                        - FK
                        - FO
                        - FJ
                        - FI
                        - FR
                        - GF
                        - PF
                        - TF
                        - GA
                        - GM
                        - GE
                        - DE
                        - GH
                        - GI
                        - GR
                        - GL
                        - GD
                        - GP
                        - GU
                        - GT
                        - GG
                        - GN
                        - GW
                        - GY
                        - HT
                        - HM
                        - VA
                        - HN
                        - HK
                        - HU
                        - IS
                        - IN
                        - ID
                        - IR
                        - IQ
                        - IE
                        - IM
                        - IL
                        - IT
                        - JM
                        - JP
                        - JE
                        - JO
                        - KZ
                        - KE
                        - KI
                        - KP
                        - KR
                        - KW
                        - KG
                        - LA
                        - LV
                        - LB
                        - LS
                        - LR
                        - LY
                        - LI
                        - LT
                        - LU
                        - MO
                        - MG
                        - MW
                        - MY
                        - MV
                        - ML
                        - MT
                        - MH
                        - MQ
                        - MR
                        - MU
                        - YT
                        - MX
                        - FM
                        - MD
                        - MC
                        - MN
                        - ME
                        - MS
                        - MA
                        - MZ
                        - MM
                        - NA
                        - NR
                        - NP
                        - NL
                        - NC
                        - NZ
                        - NI
                        - NE
                        - NG
                        - NU
                        - NF
                        - MK
                        - MP
                        - 'NO'
                        - OM
                        - PK
                        - PW
                        - PS
                        - PA
                        - PG
                        - PY
                        - PE
                        - PH
                        - PN
                        - PL
                        - PT
                        - PR
                        - QA
                        - RE
                        - RO
                        - RU
                        - RW
                        - BL
                        - SH
                        - KN
                        - LC
                        - MF
                        - PM
                        - VC
                        - WS
                        - SM
                        - ST
                        - SA
                        - SN
                        - RS
                        - SC
                        - SL
                        - SG
                        - SX
                        - SK
                        - SI
                        - SB
                        - SO
                        - ZA
                        - GS
                        - SS
                        - ES
                        - LK
                        - SD
                        - SR
                        - SJ
                        - SE
                        - CH
                        - SY
                        - TW
                        - TJ
                        - TZ
                        - TH
                        - TL
                        - TG
                        - TK
                        - TO
                        - TT
                        - TN
                        - TR
                        - TM
                        - TC
                        - TV
                        - UG
                        - UA
                        - AE
                        - GB
                        - US
                        - UM
                        - UY
                        - UZ
                        - VU
                        - VE
                        - VN
                        - VG
                        - VI
                        - WF
                        - EH
                        - YE
                        - ZM
                        - ZW
                    accountNumber:
                      description: Sending account number, when transmitted.
                      type: string
                    routingNumber:
                      description: US ABA routing number of the sending bank.
                      type: string
                    sortCode:
                      description: >-
                        UK sort code of the sending bank, as the sending bank
                        transmitted it, with spaces and hyphens stripped.
                      type: string
                    iban:
                      description: Sender IBAN, when transmitted.
                      type: string
                    bic:
                      description: BIC of the sending bank (ISO 9362).
                      type: string
                  additionalProperties: false
                  description: >-
                    Originator details on an inbound fiat deposit — what the
                    sending bank transmitted with the payment. Each field is
                    present only when provided.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - sender
                - assetAmount
              additionalProperties: false
              description: >-
                Inbound fiat deposit source: the external bank that originated
                the wire, with the originator details as provided by the sender
                bank, plus the payment network the deposit arrived on (`rail`,
                null when unknown) and any real settlement references the
                network exposed (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace). The
                wire reference fields are independent of `rail` and may be
                absent. The variant is emitted once any sender field is
                populated; before that, the source surfaces as
                `external_unknown`. A deposit delivered on-us from another
                account in the same organization is `internal_transfer` instead,
                even when the partner bank supplied sender details — there is no
                external originator to report.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_debit
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the bank pulled the money over (ach,
                    fedwire, ...), or null when not known. Always present.
                  nullable: true
                originator:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the party that pulled the money.
                    id:
                      description: The originator's identifier on the network, when sent.
                      type: string
                  required:
                    - name
                  additionalProperties: false
                secCode:
                  description: ACH Standard Entry Class code of the entry, e.g. CCD or WEB.
                  type: string
                description:
                  description: Entry description the originator sent with the debit.
                  type: string
                effectiveDate:
                  description: Date the originator asked the bank to settle the debit.
                  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])))$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - originator
                - assetAmount
              additionalProperties: false
              description: >-
                Destination of a withdrawal that Conduit did not start: a third
                party pulled the money from the customer's bank account, such as
                an ACH debit. It names the party that pulled it (`originator`)
                and the payment network (`rail`, null when unknown), plus any
                settlement reference the network exposed. Without an originator
                name the destination is `external_unknown`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - internal_transfer
                originatingTransactionId:
                  type: string
                  pattern: ^txn_[0-9A-Za-z]{22}$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - originatingTransactionId
                - assetAmount
              additionalProperties: false
              description: >-
                Source of a deposit that was delivered on-us from another
                Conduit account in the SAME organization — no external bank was
                involved. `originatingTransactionId` is the withdrawal
                transaction that sent it; fetch it for the sending side's own
                details. Emitted only when the organization owns both sides: an
                on-us delivery from another organization keeps the source it
                would otherwise have. Like `external_bank_inbound`, this variant
                resolves as the deposit is detected, which happens after the
                transaction is created — so on a first-pass run
                `transaction.created` carries `external_unknown`, while
                `transaction.completed` and every read carry the resolved
                source.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_unknown
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - assetAmount
              additionalProperties: false
              description: >-
                External counterparty whose details are not yet known (e.g.
                detected fiat deposit before sender info has been resolved).
          description: >-
            One side (source or destination) of a transaction. Discriminated by
            `type`.
        fees:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                  - fixed
              assetAmount:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - USD
                      - EUR
                      - GBP
                      - CHF
                      - JPY
                      - CAD
                      - AUD
                      - NZD
                      - SGD
                      - HKD
                      - CNY
                      - KRW
                      - INR
                      - BRL
                      - MXN
                      - ARS
                      - CLP
                      - COP
                      - PEN
                      - ZAR
                      - NGN
                      - KES
                      - GHS
                      - EGP
                      - AED
                      - SAR
                      - ILS
                      - TRY
                      - PLN
                      - CZK
                      - HUF
                      - SEK
                      - NOK
                      - DKK
                      - THB
                      - IDR
                      - MYR
                      - PHP
                      - VND
                      - TWD
                      - USDC
                      - USDT
                      - DAI
                      - EURC
                      - PYUSD
                      - OUSD
                      - BTC
                      - ETH
                      - SOL
                      - TRX
                      - XLM
                      - POL
                    description: Asset code (USDC, USD, etc.)
                  chain:
                    description: Chain when the asset is on-chain; omitted for fiat.
                    type: string
                    enum:
                      - ethereum
                      - base
                      - solana
                      - polygon
                      - tron
                      - stellar
                      - tempo
                  amount:
                    type: string
                    description: Decimal string, asset-precision rounded
                required:
                  - code
                  - amount
                additionalProperties: false
              owner:
                type: string
                enum:
                  - conduit
                  - you
                description: >-
                  Who this charge belongs to. `conduit` is Conduit's own fee.
                  `you` is the margin you declared on this transaction, which
                  Conduit collects from your customer and accrues to you; it is
                  your revenue, not a Conduit charge.
            required:
              - type
              - assetAmount
              - owner
        createdAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        completedAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        failureCode:
          type: string
          enum:
            - user_signature_timeout
            - user_signature_expired
            - user_signature_declined
            - user_signature_rejected_by_provider
            - crypto_wallet_misconfigured
            - compliance_hold
            - compliance_review_rejected
            - compliance_rejected
            - returned_by_sender
            - rail_policy_rejected
            - insufficient_funds
            - insufficient_funds_at_settle
            - rail_unavailable
            - sender_info_timeout
            - travel_rule_rejected
            - provider_rejected
            - chain_broadcast_failed
            - roster_changed
            - insufficient_onchain_balance
            - source_account_unavailable
        failureMessage:
          description: >-
            Conduit's own wording for `failureCode`: the public error catalog
            text for the code, or the generic failure text when there is no
            code. The same text as `failureMessage` on the `transaction.failed`
            webhook. It never carries text from a bank, a chain or a sandbox
            simulator `reason`.
          type: string
        cancelledAt:
          description: >-
            ISO-8601 timestamp when the transaction was cancelled. Present only
            on `status: cancelled`.
          type: string
          format: date-time
          example: '2026-01-15T09:30:00.000Z'
        cancellationReason:
          description: >-
            Machine-readable cancellation reason. `client_cancelled` when the
            client called `POST /v2/payouts/:id/cancel`; `expired` is reserved.
            Omitted on non-cancelled rows. Mirrors `orders.cancellationReason`.
          type: string
          enum:
            - expired
            - client_cancelled
        linkedOrderId:
          type: string
          pattern: ^ord_[0-9A-Za-z]{22}$
        purpose:
          description: >-
            The business purpose declared at payout creation. Drives compliance
            gating: intercompany requires a whitelisted recipient of the
            customer or its group; personal_transfer_of_funds requires the
            customer's own whitelisted account; prefunding requires a customer's
            issued account; other values require supporting documentation.
          type: string
          enum:
            - intercompany
            - treasury_management
            - payment_for_goods_or_services
            - payroll
            - investments
            - other
            - prefunding
            - purchase_of_goods
            - rent
            - loan_payment
            - personal_transfer_of_funds
            - gift
            - bill_payment
            - charity
            - tax_payment
            - person_to_person_transfer
        purposeDescription:
          description: >-
            The customer's own words for the payment. Omitted when none was
            sent, and on the transaction list: read the single transaction to
            get it.
          type: string
        hasRfi:
          type: boolean
          description: >-
            True when at least one published (non-draft, non-cancelled) RFI
            targets this transaction. Always present; derived at read time, no
            stored column.
        rfiId:
          description: >-
            The most recently published such RFI — usually the one `stage`
            refers to, but a later unrelated RFI on the same transaction takes
            this slot instead. Omitted (never `null`) when `hasRfi` is false.
          type: string
          pattern: ^rfi_[0-9A-Za-z]{22}$
        remittance:
          description: >-
            The free-text reference the payer supplied on the payout, fiat or
            crypto. On a transfer between two of the customer's own wallets the
            same value reads on both halves: the withdrawal that sent it and the
            deposit that credits it.
          type: object
          properties:
            reference:
              type: string
            description:
              type: string
        swiftUetr:
          description: >-
            The UETR of the fiat leg — the ISO 20022 unique end-to-end
            transaction reference. Present whenever the payment carried one,
            including on a deposit whose `source` is still `external_unknown`
            because the sender has not resolved. The side that carries wire
            references repeats it — `destination.swiftUetr` on a payout,
            `source.swiftUetr` on a deposit — but not every side does, which is
            why it reads here as well. A Fedwire message carries a UETR too, so
            its presence does not mean the payment travelled on SWIFT. Omitted
            (never `null`) when the rail supplied none.
          type: string
        returnCode:
          description: >-
            The return code the bank sent when it returned this transfer, for
            example the Nacha code `R01` on an ACH return. Present only with
            `failureCode: returned_by_sender`, and only when the bank sent a
            Nacha return code. The bank's free-text return reason is never
            returned.
          type: string
        returnedAt:
          description: >-
            ISO-8601 timestamp when Conduit recorded the bank's return of this
            transfer. Present with `failureCode: returned_by_sender` when the
            return is recorded, with or without `returnCode`.
          type: string
          format: date-time
          example: '2026-01-15T09:30:00.000Z'
        type:
          type: string
          enum:
            - withdrawal
        markup:
          type: object
          properties:
            bps:
              description: >-
                The percentage margin you declared on this payout, in basis
                points. Absent when you declared only a flat amount.
              type: number
            flatAmount:
              description: >-
                The flat margin you declared on this payout, in the payout's
                asset. Absent when you declared only a percentage. Also absent
                when the flat amount you declared on an order's auto-payout leg
                was smaller than one minor unit of the payout's asset: that leg
                is declared before its asset is known, so the term rounds away
                there while the percentage stays.
              type: object
              properties:
                code:
                  type: string
                  enum:
                    - USD
                    - EUR
                    - GBP
                    - CHF
                    - JPY
                    - CAD
                    - AUD
                    - NZD
                    - SGD
                    - HKD
                    - CNY
                    - KRW
                    - INR
                    - BRL
                    - MXN
                    - ARS
                    - CLP
                    - COP
                    - PEN
                    - ZAR
                    - NGN
                    - KES
                    - GHS
                    - EGP
                    - AED
                    - SAR
                    - ILS
                    - TRY
                    - PLN
                    - CZK
                    - HUF
                    - SEK
                    - NOK
                    - DKK
                    - THB
                    - IDR
                    - MYR
                    - PHP
                    - VND
                    - TWD
                    - USDC
                    - USDT
                    - DAI
                    - EURC
                    - PYUSD
                    - OUSD
                    - BTC
                    - ETH
                    - SOL
                    - TRX
                    - XLM
                    - POL
                  description: Asset code (USDC, USD, etc.)
                chain:
                  description: Chain when the asset is on-chain; omitted for fiat.
                  type: string
                  enum:
                    - ethereum
                    - base
                    - solana
                    - polygon
                    - tron
                    - stellar
                    - tempo
                amount:
                  type: string
                  description: Decimal string, asset-precision rounded
              required:
                - code
                - amount
              additionalProperties: false
            assetAmount:
              description: >-
                What that margin charges your customer for you: the percentage
                part plus the flat part. It is present exactly when `fees[]`
                carries the entry with `owner: "you"`, and it is that same
                figure. So read `fees[]` to see whether this payout still holds
                the margin for you, and `GET /v2/markup/statement-lines` to see
                what it accrued to you. A returned or cancelled payout does not
                hold it.
              type: object
              properties:
                code:
                  type: string
                  enum:
                    - USD
                    - EUR
                    - GBP
                    - CHF
                    - JPY
                    - CAD
                    - AUD
                    - NZD
                    - SGD
                    - HKD
                    - CNY
                    - KRW
                    - INR
                    - BRL
                    - MXN
                    - ARS
                    - CLP
                    - COP
                    - PEN
                    - ZAR
                    - NGN
                    - KES
                    - GHS
                    - EGP
                    - AED
                    - SAR
                    - ILS
                    - TRY
                    - PLN
                    - CZK
                    - HUF
                    - SEK
                    - NOK
                    - DKK
                    - THB
                    - IDR
                    - MYR
                    - PHP
                    - VND
                    - TWD
                    - USDC
                    - USDT
                    - DAI
                    - EURC
                    - PYUSD
                    - OUSD
                    - BTC
                    - ETH
                    - SOL
                    - TRX
                    - XLM
                    - POL
                  description: Asset code (USDC, USD, etc.)
                chain:
                  description: Chain when the asset is on-chain; omitted for fiat.
                  type: string
                  enum:
                    - ethereum
                    - base
                    - solana
                    - polygon
                    - tron
                    - stellar
                    - tempo
                amount:
                  type: string
                  description: Decimal string, asset-precision rounded
              required:
                - code
                - amount
              additionalProperties: false
          description: >-
            The margin you declared on this payout, echoed back. Present when
            you declared one that came to at least one minor unit of the
            payout's asset. `bps` and `flatAmount` read back for the life of the
            payout, whatever becomes of it, so you can always confirm what you
            sent. What each payout accrued to you is answered by `GET
            /v2/markup/statement-lines`, where a reversal reads as a negative
            amount.
        requiresUserSignature:
          type: boolean
        cancellable:
          type: boolean
          description: >-
            Whether this payout is eligible for `POST /v2/payouts/{id}/cancel`.
            Always present, derived at read time. It is `false` at a terminal
            status, and `false` once the payout is dispatched for settlement:
            the bank has answered its submit, or its on-chain send started.
            Eligibility is not a guarantee that the next cancel succeeds: while
            the payout starts up, a cancel can answer 409
            `PAYOUT_CANCEL_IN_PROGRESS` although `cancellable` is `true` — retry
            shortly — and a payout that moves on between the read and the cancel
            answers 409 `PAYOUT_NOT_CANCELLABLE`. That includes a fiat payout
            whose submit is still waiting for the bank's answer: its cancel
            already answers 409 while `cancellable` still reads `true`.
        queuePosition:
          description: >-
            Position in the per-(wallet, chain) signing queue. Only waiting
            payouts (position ≥ 1) expose this field; the active/head payout
            omits it. Absent when the payout is not on the user-signature path
            or has reached a terminal status.
          type: integer
          minimum: 1
          maximum: 9007199254740991
        retryOf:
          description: >-
            The payout this one replaces. Present when an operator re-sent a
            payout the receiving bank returned; the original transfer reads
            `failed` with failure code `returned_by_sender`.
          type: string
          pattern: ^txn_[0-9A-Za-z]{22}$
        documents:
          description: >-
            The supporting documents attached at creation, as sent on
            `documents`. Omitted when none were attached.
          type: array
          items:
            type: string
            pattern: ^doc_[0-9A-Za-z]{22}$
      required:
        - id
        - customerId
        - status
        - source
        - destination
        - fees
        - createdAt
        - hasRfi
        - type
        - requiresUserSignature
        - cancellable
      description: >-
        Client-facing view of an outbound withdrawal (debit out of a customer
        VA/wallet).
    PublicOnrampViewDto:
      type: object
      properties:
        id:
          type: string
          pattern: ^txn_[0-9A-Za-z]{22}$
        customerId:
          type: string
          pattern: ^cus_[0-9A-Za-z]{22}$
        customerName:
          description: >-
            Display name of the customer that owns the transaction: business
            legal name or individual full name. Same value on the transactions
            and payouts reads for the same row. Omitted when the customer's
            identity record hasn't resolved a name yet; per the public
            omit-don't-null convention, absence is never surfaced as `null`.
          type: string
        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
            - processing
            - completed
            - failed
            - cancelled
        stage:
          description: >-
            Progress signal for a non-terminal transaction, informational only —
            it does not replace `requiresUserSignature`, `hasRfi`, or
            `failureCode` for deciding whether your integration needs to act.
            `awaiting_signature`: waiting on the required transaction signature
            (see `requiresUserSignature`). `awaiting_customer_action`: further
            input is needed before the transaction can go on. Read `hasRfi` to
            learn where the ask is: `true` means a request for information holds
            the answer — `rfiId` names it, and `GET /v2/rfis/{id}` carries what
            to send; `false` means the matching event carries the detail (e.g.
            `transaction.awaiting_sender_information`). `under_review`:
            compliance, document, or verification review of something already
            submitted is in progress — usually no action needed; check `hasRfi`
            if unsure. `settling`: funds movement or settlement is in progress,
            no customer action required — covers long-lived fiat rails like
            SWIFT that legitimately take days as well as any other non-blocked
            in-flight state. Omitted once `status` reaches a terminal value
            (`completed` / `failed` / `cancelled`). The set of values may grow
            over time — treat unrecognized values the same as `processing`.
          type: string
          enum:
            - awaiting_signature
            - awaiting_customer_action
            - under_review
            - settling
        source:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                walletId:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                txHash:
                  type: string
              required:
                - type
                - walletId
                - address
                - assetAmount
              additionalProperties: false
              description: A Conduit-custodied crypto wallet on one side of a transaction.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - deposit_address
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit-provided funding address — the address a
                deposit-funded order was funded at. Conduit owns and may rotate
                the wallet behind it without notice, so the side carries no
                wallet id and the address is the only thing to reconcile
                against. Chain travels with the asset inside `assetAmount`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                virtualAccountId:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
                wireReceive:
                  oneOf:
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - us
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        routingNumber:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - routingNumber
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - swift
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - sepa
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - uk
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        sortCode:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - sortCode
                      additionalProperties: false
                  description: >-
                    Receiving wire-instruction context: which Conduit bank
                    account + rail the inbound deposit landed in. Captured at
                    deposit-detect time.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - virtualAccountId
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit virtual account on one side of a transaction.
                `wireReceive` is destination-only — it carries the receiving
                wire instructions on fiat inbound deposits where the VA received
                the wire. Always absent when the VA is a source (conversions /
                fiat withdrawals).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_crypto
                address:
                  type: string
                txHash:
                  type: string
                memo:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - text
                        value:
                          type: string
                          minLength: 1
                      required:
                        - type
                        - value
                      additionalProperties: false
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - id
                        value:
                          type: string
                      required:
                        - type
                        - value
                      additionalProperties: false
                  description: >-
                    Destination memo (destination tag) for the receiving
                    account. Required by shared custodial addresses such as
                    exchanges. Only accepted on chains whose payments carry a
                    memo.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                An external on-chain counterparty: address plus optional
                settlement tx hash. Chain travels with the asset inside
                `assetAmount`. `memo` is the destination memo the payout was
                created with, when it carried one.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank
                rail:
                  description: >-
                    The payment network the payout was created with, as sent on
                    the request's `rail`. `recipient.rail` names the account
                    family the coordinates belong to (`us`, `swift`, `sepa`,
                    `uk_domestic`), not the network.
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                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
                recipient:
                  oneOf:
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - crypto
                        chain:
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - tron
                            - stellar
                            - tempo
                        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
                        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
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
                bankScheduledFor:
                  description: >-
                    The settlement date the sending bank last reported for this
                    payout, as a calendar date in the bank's own time zone.
                    Present only when the bank reports one, as on ACH. A date
                    later than the payout date means the bank moved the entry to
                    a later window; the payout, its rail and its obligation do
                    not change, so do not send it again.
                  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])))$
              required:
                - type
                - rail
                - recipient
                - assetAmount
              additionalProperties: false
              description: >-
                An external bank counterparty: the payment rail and rail context
                the payout was created with (`rail`, `ach`, `swift`, `instant`),
                the recipient details, plus any real wire settlement references
                (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace, RTP, FedNow).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_inbound
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the deposit arrived on (fedwire, ach,
                    rtp, fednow, swift, sepa, faster_payments, chaps), or null
                    when not known. Always present. Independent of the wire
                    reference fields, which may be absent.
                  nullable: true
                sender:
                  type: object
                  properties:
                    name:
                      description: Name of the sending account holder.
                      type: string
                    country:
                      description: >-
                        Country of the sending account holder, ISO 3166-1
                        alpha-2.
                      type: string
                      enum:
                        - AF
                        - AL
                        - DZ
                        - AS
                        - AD
                        - AO
                        - AI
                        - AQ
                        - AG
                        - AR
                        - AM
                        - AW
                        - AU
                        - AT
                        - AZ
                        - BS
                        - BH
                        - BD
                        - BB
                        - BY
                        - BE
                        - BZ
                        - BJ
                        - BM
                        - BT
                        - BO
                        - BQ
                        - BA
                        - BW
                        - BV
                        - BR
                        - IO
                        - BN
                        - BG
                        - BF
                        - BI
                        - CV
                        - KH
                        - CM
                        - CA
                        - KY
                        - CF
                        - TD
                        - CL
                        - CN
                        - CX
                        - CC
                        - CO
                        - KM
                        - CG
                        - CD
                        - CK
                        - CR
                        - CI
                        - HR
                        - CU
                        - CW
                        - CY
                        - CZ
                        - DK
                        - DJ
                        - DM
                        - DO
                        - EC
                        - EG
                        - SV
                        - GQ
                        - ER
                        - EE
                        - SZ
                        - ET
                        - FK
                        - FO
                        - FJ
                        - FI
                        - FR
                        - GF
                        - PF
                        - TF
                        - GA
                        - GM
                        - GE
                        - DE
                        - GH
                        - GI
                        - GR
                        - GL
                        - GD
                        - GP
                        - GU
                        - GT
                        - GG
                        - GN
                        - GW
                        - GY
                        - HT
                        - HM
                        - VA
                        - HN
                        - HK
                        - HU
                        - IS
                        - IN
                        - ID
                        - IR
                        - IQ
                        - IE
                        - IM
                        - IL
                        - IT
                        - JM
                        - JP
                        - JE
                        - JO
                        - KZ
                        - KE
                        - KI
                        - KP
                        - KR
                        - KW
                        - KG
                        - LA
                        - LV
                        - LB
                        - LS
                        - LR
                        - LY
                        - LI
                        - LT
                        - LU
                        - MO
                        - MG
                        - MW
                        - MY
                        - MV
                        - ML
                        - MT
                        - MH
                        - MQ
                        - MR
                        - MU
                        - YT
                        - MX
                        - FM
                        - MD
                        - MC
                        - MN
                        - ME
                        - MS
                        - MA
                        - MZ
                        - MM
                        - NA
                        - NR
                        - NP
                        - NL
                        - NC
                        - NZ
                        - NI
                        - NE
                        - NG
                        - NU
                        - NF
                        - MK
                        - MP
                        - 'NO'
                        - OM
                        - PK
                        - PW
                        - PS
                        - PA
                        - PG
                        - PY
                        - PE
                        - PH
                        - PN
                        - PL
                        - PT
                        - PR
                        - QA
                        - RE
                        - RO
                        - RU
                        - RW
                        - BL
                        - SH
                        - KN
                        - LC
                        - MF
                        - PM
                        - VC
                        - WS
                        - SM
                        - ST
                        - SA
                        - SN
                        - RS
                        - SC
                        - SL
                        - SG
                        - SX
                        - SK
                        - SI
                        - SB
                        - SO
                        - ZA
                        - GS
                        - SS
                        - ES
                        - LK
                        - SD
                        - SR
                        - SJ
                        - SE
                        - CH
                        - SY
                        - TW
                        - TJ
                        - TZ
                        - TH
                        - TL
                        - TG
                        - TK
                        - TO
                        - TT
                        - TN
                        - TR
                        - TM
                        - TC
                        - TV
                        - UG
                        - UA
                        - AE
                        - GB
                        - US
                        - UM
                        - UY
                        - UZ
                        - VU
                        - VE
                        - VN
                        - VG
                        - VI
                        - WF
                        - EH
                        - YE
                        - ZM
                        - ZW
                    accountNumber:
                      description: Sending account number, when transmitted.
                      type: string
                    routingNumber:
                      description: US ABA routing number of the sending bank.
                      type: string
                    sortCode:
                      description: >-
                        UK sort code of the sending bank, as the sending bank
                        transmitted it, with spaces and hyphens stripped.
                      type: string
                    iban:
                      description: Sender IBAN, when transmitted.
                      type: string
                    bic:
                      description: BIC of the sending bank (ISO 9362).
                      type: string
                  additionalProperties: false
                  description: >-
                    Originator details on an inbound fiat deposit — what the
                    sending bank transmitted with the payment. Each field is
                    present only when provided.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - sender
                - assetAmount
              additionalProperties: false
              description: >-
                Inbound fiat deposit source: the external bank that originated
                the wire, with the originator details as provided by the sender
                bank, plus the payment network the deposit arrived on (`rail`,
                null when unknown) and any real settlement references the
                network exposed (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace). The
                wire reference fields are independent of `rail` and may be
                absent. The variant is emitted once any sender field is
                populated; before that, the source surfaces as
                `external_unknown`. A deposit delivered on-us from another
                account in the same organization is `internal_transfer` instead,
                even when the partner bank supplied sender details — there is no
                external originator to report.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_debit
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the bank pulled the money over (ach,
                    fedwire, ...), or null when not known. Always present.
                  nullable: true
                originator:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the party that pulled the money.
                    id:
                      description: The originator's identifier on the network, when sent.
                      type: string
                  required:
                    - name
                  additionalProperties: false
                secCode:
                  description: ACH Standard Entry Class code of the entry, e.g. CCD or WEB.
                  type: string
                description:
                  description: Entry description the originator sent with the debit.
                  type: string
                effectiveDate:
                  description: Date the originator asked the bank to settle the debit.
                  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])))$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - originator
                - assetAmount
              additionalProperties: false
              description: >-
                Destination of a withdrawal that Conduit did not start: a third
                party pulled the money from the customer's bank account, such as
                an ACH debit. It names the party that pulled it (`originator`)
                and the payment network (`rail`, null when unknown), plus any
                settlement reference the network exposed. Without an originator
                name the destination is `external_unknown`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - internal_transfer
                originatingTransactionId:
                  type: string
                  pattern: ^txn_[0-9A-Za-z]{22}$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - originatingTransactionId
                - assetAmount
              additionalProperties: false
              description: >-
                Source of a deposit that was delivered on-us from another
                Conduit account in the SAME organization — no external bank was
                involved. `originatingTransactionId` is the withdrawal
                transaction that sent it; fetch it for the sending side's own
                details. Emitted only when the organization owns both sides: an
                on-us delivery from another organization keeps the source it
                would otherwise have. Like `external_bank_inbound`, this variant
                resolves as the deposit is detected, which happens after the
                transaction is created — so on a first-pass run
                `transaction.created` carries `external_unknown`, while
                `transaction.completed` and every read carry the resolved
                source.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_unknown
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - assetAmount
              additionalProperties: false
              description: >-
                External counterparty whose details are not yet known (e.g.
                detected fiat deposit before sender info has been resolved).
          description: >-
            One side (source or destination) of a transaction. Discriminated by
            `type`.
        destination:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                walletId:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                txHash:
                  type: string
              required:
                - type
                - walletId
                - address
                - assetAmount
              additionalProperties: false
              description: A Conduit-custodied crypto wallet on one side of a transaction.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - deposit_address
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit-provided funding address — the address a
                deposit-funded order was funded at. Conduit owns and may rotate
                the wallet behind it without notice, so the side carries no
                wallet id and the address is the only thing to reconcile
                against. Chain travels with the asset inside `assetAmount`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                virtualAccountId:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
                wireReceive:
                  oneOf:
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - us
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        routingNumber:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - routingNumber
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - swift
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - sepa
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - uk
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        sortCode:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - sortCode
                      additionalProperties: false
                  description: >-
                    Receiving wire-instruction context: which Conduit bank
                    account + rail the inbound deposit landed in. Captured at
                    deposit-detect time.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - virtualAccountId
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit virtual account on one side of a transaction.
                `wireReceive` is destination-only — it carries the receiving
                wire instructions on fiat inbound deposits where the VA received
                the wire. Always absent when the VA is a source (conversions /
                fiat withdrawals).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_crypto
                address:
                  type: string
                txHash:
                  type: string
                memo:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - text
                        value:
                          type: string
                          minLength: 1
                      required:
                        - type
                        - value
                      additionalProperties: false
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - id
                        value:
                          type: string
                      required:
                        - type
                        - value
                      additionalProperties: false
                  description: >-
                    Destination memo (destination tag) for the receiving
                    account. Required by shared custodial addresses such as
                    exchanges. Only accepted on chains whose payments carry a
                    memo.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                An external on-chain counterparty: address plus optional
                settlement tx hash. Chain travels with the asset inside
                `assetAmount`. `memo` is the destination memo the payout was
                created with, when it carried one.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank
                rail:
                  description: >-
                    The payment network the payout was created with, as sent on
                    the request's `rail`. `recipient.rail` names the account
                    family the coordinates belong to (`us`, `swift`, `sepa`,
                    `uk_domestic`), not the network.
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                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
                recipient:
                  oneOf:
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - crypto
                        chain:
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - tron
                            - stellar
                            - tempo
                        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
                        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
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
                bankScheduledFor:
                  description: >-
                    The settlement date the sending bank last reported for this
                    payout, as a calendar date in the bank's own time zone.
                    Present only when the bank reports one, as on ACH. A date
                    later than the payout date means the bank moved the entry to
                    a later window; the payout, its rail and its obligation do
                    not change, so do not send it again.
                  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])))$
              required:
                - type
                - rail
                - recipient
                - assetAmount
              additionalProperties: false
              description: >-
                An external bank counterparty: the payment rail and rail context
                the payout was created with (`rail`, `ach`, `swift`, `instant`),
                the recipient details, plus any real wire settlement references
                (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace, RTP, FedNow).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_inbound
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the deposit arrived on (fedwire, ach,
                    rtp, fednow, swift, sepa, faster_payments, chaps), or null
                    when not known. Always present. Independent of the wire
                    reference fields, which may be absent.
                  nullable: true
                sender:
                  type: object
                  properties:
                    name:
                      description: Name of the sending account holder.
                      type: string
                    country:
                      description: >-
                        Country of the sending account holder, ISO 3166-1
                        alpha-2.
                      type: string
                      enum:
                        - AF
                        - AL
                        - DZ
                        - AS
                        - AD
                        - AO
                        - AI
                        - AQ
                        - AG
                        - AR
                        - AM
                        - AW
                        - AU
                        - AT
                        - AZ
                        - BS
                        - BH
                        - BD
                        - BB
                        - BY
                        - BE
                        - BZ
                        - BJ
                        - BM
                        - BT
                        - BO
                        - BQ
                        - BA
                        - BW
                        - BV
                        - BR
                        - IO
                        - BN
                        - BG
                        - BF
                        - BI
                        - CV
                        - KH
                        - CM
                        - CA
                        - KY
                        - CF
                        - TD
                        - CL
                        - CN
                        - CX
                        - CC
                        - CO
                        - KM
                        - CG
                        - CD
                        - CK
                        - CR
                        - CI
                        - HR
                        - CU
                        - CW
                        - CY
                        - CZ
                        - DK
                        - DJ
                        - DM
                        - DO
                        - EC
                        - EG
                        - SV
                        - GQ
                        - ER
                        - EE
                        - SZ
                        - ET
                        - FK
                        - FO
                        - FJ
                        - FI
                        - FR
                        - GF
                        - PF
                        - TF
                        - GA
                        - GM
                        - GE
                        - DE
                        - GH
                        - GI
                        - GR
                        - GL
                        - GD
                        - GP
                        - GU
                        - GT
                        - GG
                        - GN
                        - GW
                        - GY
                        - HT
                        - HM
                        - VA
                        - HN
                        - HK
                        - HU
                        - IS
                        - IN
                        - ID
                        - IR
                        - IQ
                        - IE
                        - IM
                        - IL
                        - IT
                        - JM
                        - JP
                        - JE
                        - JO
                        - KZ
                        - KE
                        - KI
                        - KP
                        - KR
                        - KW
                        - KG
                        - LA
                        - LV
                        - LB
                        - LS
                        - LR
                        - LY
                        - LI
                        - LT
                        - LU
                        - MO
                        - MG
                        - MW
                        - MY
                        - MV
                        - ML
                        - MT
                        - MH
                        - MQ
                        - MR
                        - MU
                        - YT
                        - MX
                        - FM
                        - MD
                        - MC
                        - MN
                        - ME
                        - MS
                        - MA
                        - MZ
                        - MM
                        - NA
                        - NR
                        - NP
                        - NL
                        - NC
                        - NZ
                        - NI
                        - NE
                        - NG
                        - NU
                        - NF
                        - MK
                        - MP
                        - 'NO'
                        - OM
                        - PK
                        - PW
                        - PS
                        - PA
                        - PG
                        - PY
                        - PE
                        - PH
                        - PN
                        - PL
                        - PT
                        - PR
                        - QA
                        - RE
                        - RO
                        - RU
                        - RW
                        - BL
                        - SH
                        - KN
                        - LC
                        - MF
                        - PM
                        - VC
                        - WS
                        - SM
                        - ST
                        - SA
                        - SN
                        - RS
                        - SC
                        - SL
                        - SG
                        - SX
                        - SK
                        - SI
                        - SB
                        - SO
                        - ZA
                        - GS
                        - SS
                        - ES
                        - LK
                        - SD
                        - SR
                        - SJ
                        - SE
                        - CH
                        - SY
                        - TW
                        - TJ
                        - TZ
                        - TH
                        - TL
                        - TG
                        - TK
                        - TO
                        - TT
                        - TN
                        - TR
                        - TM
                        - TC
                        - TV
                        - UG
                        - UA
                        - AE
                        - GB
                        - US
                        - UM
                        - UY
                        - UZ
                        - VU
                        - VE
                        - VN
                        - VG
                        - VI
                        - WF
                        - EH
                        - YE
                        - ZM
                        - ZW
                    accountNumber:
                      description: Sending account number, when transmitted.
                      type: string
                    routingNumber:
                      description: US ABA routing number of the sending bank.
                      type: string
                    sortCode:
                      description: >-
                        UK sort code of the sending bank, as the sending bank
                        transmitted it, with spaces and hyphens stripped.
                      type: string
                    iban:
                      description: Sender IBAN, when transmitted.
                      type: string
                    bic:
                      description: BIC of the sending bank (ISO 9362).
                      type: string
                  additionalProperties: false
                  description: >-
                    Originator details on an inbound fiat deposit — what the
                    sending bank transmitted with the payment. Each field is
                    present only when provided.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - sender
                - assetAmount
              additionalProperties: false
              description: >-
                Inbound fiat deposit source: the external bank that originated
                the wire, with the originator details as provided by the sender
                bank, plus the payment network the deposit arrived on (`rail`,
                null when unknown) and any real settlement references the
                network exposed (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace). The
                wire reference fields are independent of `rail` and may be
                absent. The variant is emitted once any sender field is
                populated; before that, the source surfaces as
                `external_unknown`. A deposit delivered on-us from another
                account in the same organization is `internal_transfer` instead,
                even when the partner bank supplied sender details — there is no
                external originator to report.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_debit
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the bank pulled the money over (ach,
                    fedwire, ...), or null when not known. Always present.
                  nullable: true
                originator:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the party that pulled the money.
                    id:
                      description: The originator's identifier on the network, when sent.
                      type: string
                  required:
                    - name
                  additionalProperties: false
                secCode:
                  description: ACH Standard Entry Class code of the entry, e.g. CCD or WEB.
                  type: string
                description:
                  description: Entry description the originator sent with the debit.
                  type: string
                effectiveDate:
                  description: Date the originator asked the bank to settle the debit.
                  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])))$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - originator
                - assetAmount
              additionalProperties: false
              description: >-
                Destination of a withdrawal that Conduit did not start: a third
                party pulled the money from the customer's bank account, such as
                an ACH debit. It names the party that pulled it (`originator`)
                and the payment network (`rail`, null when unknown), plus any
                settlement reference the network exposed. Without an originator
                name the destination is `external_unknown`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - internal_transfer
                originatingTransactionId:
                  type: string
                  pattern: ^txn_[0-9A-Za-z]{22}$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - originatingTransactionId
                - assetAmount
              additionalProperties: false
              description: >-
                Source of a deposit that was delivered on-us from another
                Conduit account in the SAME organization — no external bank was
                involved. `originatingTransactionId` is the withdrawal
                transaction that sent it; fetch it for the sending side's own
                details. Emitted only when the organization owns both sides: an
                on-us delivery from another organization keeps the source it
                would otherwise have. Like `external_bank_inbound`, this variant
                resolves as the deposit is detected, which happens after the
                transaction is created — so on a first-pass run
                `transaction.created` carries `external_unknown`, while
                `transaction.completed` and every read carry the resolved
                source.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_unknown
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - assetAmount
              additionalProperties: false
              description: >-
                External counterparty whose details are not yet known (e.g.
                detected fiat deposit before sender info has been resolved).
          description: >-
            One side (source or destination) of a transaction. Discriminated by
            `type`.
        fees:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                  - fixed
              assetAmount:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - USD
                      - EUR
                      - GBP
                      - CHF
                      - JPY
                      - CAD
                      - AUD
                      - NZD
                      - SGD
                      - HKD
                      - CNY
                      - KRW
                      - INR
                      - BRL
                      - MXN
                      - ARS
                      - CLP
                      - COP
                      - PEN
                      - ZAR
                      - NGN
                      - KES
                      - GHS
                      - EGP
                      - AED
                      - SAR
                      - ILS
                      - TRY
                      - PLN
                      - CZK
                      - HUF
                      - SEK
                      - NOK
                      - DKK
                      - THB
                      - IDR
                      - MYR
                      - PHP
                      - VND
                      - TWD
                      - USDC
                      - USDT
                      - DAI
                      - EURC
                      - PYUSD
                      - OUSD
                      - BTC
                      - ETH
                      - SOL
                      - TRX
                      - XLM
                      - POL
                    description: Asset code (USDC, USD, etc.)
                  chain:
                    description: Chain when the asset is on-chain; omitted for fiat.
                    type: string
                    enum:
                      - ethereum
                      - base
                      - solana
                      - polygon
                      - tron
                      - stellar
                      - tempo
                  amount:
                    type: string
                    description: Decimal string, asset-precision rounded
                required:
                  - code
                  - amount
                additionalProperties: false
              owner:
                type: string
                enum:
                  - conduit
                  - you
                description: >-
                  Who this charge belongs to. `conduit` is Conduit's own fee.
                  `you` is the margin you declared on this transaction, which
                  Conduit collects from your customer and accrues to you; it is
                  your revenue, not a Conduit charge.
            required:
              - type
              - assetAmount
              - owner
        createdAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        completedAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        failureCode:
          type: string
          enum:
            - user_signature_timeout
            - user_signature_expired
            - user_signature_declined
            - user_signature_rejected_by_provider
            - crypto_wallet_misconfigured
            - compliance_hold
            - compliance_review_rejected
            - compliance_rejected
            - returned_by_sender
            - rail_policy_rejected
            - insufficient_funds
            - insufficient_funds_at_settle
            - rail_unavailable
            - sender_info_timeout
            - travel_rule_rejected
            - provider_rejected
            - chain_broadcast_failed
            - roster_changed
            - insufficient_onchain_balance
            - source_account_unavailable
        failureMessage:
          description: >-
            Conduit's own wording for `failureCode`: the public error catalog
            text for the code, or the generic failure text when there is no
            code. The same text as `failureMessage` on the `transaction.failed`
            webhook. It never carries text from a bank, a chain or a sandbox
            simulator `reason`.
          type: string
        cancelledAt:
          description: >-
            ISO-8601 timestamp when the transaction was cancelled. Present only
            on `status: cancelled`.
          type: string
          format: date-time
          example: '2026-01-15T09:30:00.000Z'
        cancellationReason:
          description: >-
            Machine-readable cancellation reason. `client_cancelled` when the
            client called `POST /v2/payouts/:id/cancel`; `expired` is reserved.
            Omitted on non-cancelled rows. Mirrors `orders.cancellationReason`.
          type: string
          enum:
            - expired
            - client_cancelled
        linkedOrderId:
          type: string
          pattern: ^ord_[0-9A-Za-z]{22}$
        purpose:
          description: >-
            The business purpose declared at payout creation. Drives compliance
            gating: intercompany requires a whitelisted recipient of the
            customer or its group; personal_transfer_of_funds requires the
            customer's own whitelisted account; prefunding requires a customer's
            issued account; other values require supporting documentation.
          type: string
          enum:
            - intercompany
            - treasury_management
            - payment_for_goods_or_services
            - payroll
            - investments
            - other
            - prefunding
            - purchase_of_goods
            - rent
            - loan_payment
            - personal_transfer_of_funds
            - gift
            - bill_payment
            - charity
            - tax_payment
            - person_to_person_transfer
        purposeDescription:
          description: >-
            The customer's own words for the payment. Omitted when none was
            sent, and on the transaction list: read the single transaction to
            get it.
          type: string
        hasRfi:
          type: boolean
          description: >-
            True when at least one published (non-draft, non-cancelled) RFI
            targets this transaction. Always present; derived at read time, no
            stored column.
        rfiId:
          description: >-
            The most recently published such RFI — usually the one `stage`
            refers to, but a later unrelated RFI on the same transaction takes
            this slot instead. Omitted (never `null`) when `hasRfi` is false.
          type: string
          pattern: ^rfi_[0-9A-Za-z]{22}$
        remittance:
          description: >-
            The free-text reference the payer supplied on the payout, fiat or
            crypto. On a transfer between two of the customer's own wallets the
            same value reads on both halves: the withdrawal that sent it and the
            deposit that credits it.
          type: object
          properties:
            reference:
              type: string
            description:
              type: string
        swiftUetr:
          description: >-
            The UETR of the fiat leg — the ISO 20022 unique end-to-end
            transaction reference. Present whenever the payment carried one,
            including on a deposit whose `source` is still `external_unknown`
            because the sender has not resolved. The side that carries wire
            references repeats it — `destination.swiftUetr` on a payout,
            `source.swiftUetr` on a deposit — but not every side does, which is
            why it reads here as well. A Fedwire message carries a UETR too, so
            its presence does not mean the payment travelled on SWIFT. Omitted
            (never `null`) when the rail supplied none.
          type: string
        type:
          type: string
          enum:
            - onramp
      required:
        - id
        - customerId
        - status
        - source
        - destination
        - fees
        - createdAt
        - hasRfi
        - type
      description: Client-facing view of a fiat-to-crypto conversion.
    PublicOfframpViewDto:
      type: object
      properties:
        id:
          type: string
          pattern: ^txn_[0-9A-Za-z]{22}$
        customerId:
          type: string
          pattern: ^cus_[0-9A-Za-z]{22}$
        customerName:
          description: >-
            Display name of the customer that owns the transaction: business
            legal name or individual full name. Same value on the transactions
            and payouts reads for the same row. Omitted when the customer's
            identity record hasn't resolved a name yet; per the public
            omit-don't-null convention, absence is never surfaced as `null`.
          type: string
        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
            - processing
            - completed
            - failed
            - cancelled
        stage:
          description: >-
            Progress signal for a non-terminal transaction, informational only —
            it does not replace `requiresUserSignature`, `hasRfi`, or
            `failureCode` for deciding whether your integration needs to act.
            `awaiting_signature`: waiting on the required transaction signature
            (see `requiresUserSignature`). `awaiting_customer_action`: further
            input is needed before the transaction can go on. Read `hasRfi` to
            learn where the ask is: `true` means a request for information holds
            the answer — `rfiId` names it, and `GET /v2/rfis/{id}` carries what
            to send; `false` means the matching event carries the detail (e.g.
            `transaction.awaiting_sender_information`). `under_review`:
            compliance, document, or verification review of something already
            submitted is in progress — usually no action needed; check `hasRfi`
            if unsure. `settling`: funds movement or settlement is in progress,
            no customer action required — covers long-lived fiat rails like
            SWIFT that legitimately take days as well as any other non-blocked
            in-flight state. Omitted once `status` reaches a terminal value
            (`completed` / `failed` / `cancelled`). The set of values may grow
            over time — treat unrecognized values the same as `processing`.
          type: string
          enum:
            - awaiting_signature
            - awaiting_customer_action
            - under_review
            - settling
        source:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                walletId:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                txHash:
                  type: string
              required:
                - type
                - walletId
                - address
                - assetAmount
              additionalProperties: false
              description: A Conduit-custodied crypto wallet on one side of a transaction.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - deposit_address
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit-provided funding address — the address a
                deposit-funded order was funded at. Conduit owns and may rotate
                the wallet behind it without notice, so the side carries no
                wallet id and the address is the only thing to reconcile
                against. Chain travels with the asset inside `assetAmount`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                virtualAccountId:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
                wireReceive:
                  oneOf:
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - us
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        routingNumber:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - routingNumber
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - swift
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - sepa
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - uk
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        sortCode:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - sortCode
                      additionalProperties: false
                  description: >-
                    Receiving wire-instruction context: which Conduit bank
                    account + rail the inbound deposit landed in. Captured at
                    deposit-detect time.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - virtualAccountId
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit virtual account on one side of a transaction.
                `wireReceive` is destination-only — it carries the receiving
                wire instructions on fiat inbound deposits where the VA received
                the wire. Always absent when the VA is a source (conversions /
                fiat withdrawals).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_crypto
                address:
                  type: string
                txHash:
                  type: string
                memo:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - text
                        value:
                          type: string
                          minLength: 1
                      required:
                        - type
                        - value
                      additionalProperties: false
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - id
                        value:
                          type: string
                      required:
                        - type
                        - value
                      additionalProperties: false
                  description: >-
                    Destination memo (destination tag) for the receiving
                    account. Required by shared custodial addresses such as
                    exchanges. Only accepted on chains whose payments carry a
                    memo.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                An external on-chain counterparty: address plus optional
                settlement tx hash. Chain travels with the asset inside
                `assetAmount`. `memo` is the destination memo the payout was
                created with, when it carried one.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank
                rail:
                  description: >-
                    The payment network the payout was created with, as sent on
                    the request's `rail`. `recipient.rail` names the account
                    family the coordinates belong to (`us`, `swift`, `sepa`,
                    `uk_domestic`), not the network.
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                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
                recipient:
                  oneOf:
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - crypto
                        chain:
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - tron
                            - stellar
                            - tempo
                        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
                        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
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
                bankScheduledFor:
                  description: >-
                    The settlement date the sending bank last reported for this
                    payout, as a calendar date in the bank's own time zone.
                    Present only when the bank reports one, as on ACH. A date
                    later than the payout date means the bank moved the entry to
                    a later window; the payout, its rail and its obligation do
                    not change, so do not send it again.
                  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])))$
              required:
                - type
                - rail
                - recipient
                - assetAmount
              additionalProperties: false
              description: >-
                An external bank counterparty: the payment rail and rail context
                the payout was created with (`rail`, `ach`, `swift`, `instant`),
                the recipient details, plus any real wire settlement references
                (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace, RTP, FedNow).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_inbound
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the deposit arrived on (fedwire, ach,
                    rtp, fednow, swift, sepa, faster_payments, chaps), or null
                    when not known. Always present. Independent of the wire
                    reference fields, which may be absent.
                  nullable: true
                sender:
                  type: object
                  properties:
                    name:
                      description: Name of the sending account holder.
                      type: string
                    country:
                      description: >-
                        Country of the sending account holder, ISO 3166-1
                        alpha-2.
                      type: string
                      enum:
                        - AF
                        - AL
                        - DZ
                        - AS
                        - AD
                        - AO
                        - AI
                        - AQ
                        - AG
                        - AR
                        - AM
                        - AW
                        - AU
                        - AT
                        - AZ
                        - BS
                        - BH
                        - BD
                        - BB
                        - BY
                        - BE
                        - BZ
                        - BJ
                        - BM
                        - BT
                        - BO
                        - BQ
                        - BA
                        - BW
                        - BV
                        - BR
                        - IO
                        - BN
                        - BG
                        - BF
                        - BI
                        - CV
                        - KH
                        - CM
                        - CA
                        - KY
                        - CF
                        - TD
                        - CL
                        - CN
                        - CX
                        - CC
                        - CO
                        - KM
                        - CG
                        - CD
                        - CK
                        - CR
                        - CI
                        - HR
                        - CU
                        - CW
                        - CY
                        - CZ
                        - DK
                        - DJ
                        - DM
                        - DO
                        - EC
                        - EG
                        - SV
                        - GQ
                        - ER
                        - EE
                        - SZ
                        - ET
                        - FK
                        - FO
                        - FJ
                        - FI
                        - FR
                        - GF
                        - PF
                        - TF
                        - GA
                        - GM
                        - GE
                        - DE
                        - GH
                        - GI
                        - GR
                        - GL
                        - GD
                        - GP
                        - GU
                        - GT
                        - GG
                        - GN
                        - GW
                        - GY
                        - HT
                        - HM
                        - VA
                        - HN
                        - HK
                        - HU
                        - IS
                        - IN
                        - ID
                        - IR
                        - IQ
                        - IE
                        - IM
                        - IL
                        - IT
                        - JM
                        - JP
                        - JE
                        - JO
                        - KZ
                        - KE
                        - KI
                        - KP
                        - KR
                        - KW
                        - KG
                        - LA
                        - LV
                        - LB
                        - LS
                        - LR
                        - LY
                        - LI
                        - LT
                        - LU
                        - MO
                        - MG
                        - MW
                        - MY
                        - MV
                        - ML
                        - MT
                        - MH
                        - MQ
                        - MR
                        - MU
                        - YT
                        - MX
                        - FM
                        - MD
                        - MC
                        - MN
                        - ME
                        - MS
                        - MA
                        - MZ
                        - MM
                        - NA
                        - NR
                        - NP
                        - NL
                        - NC
                        - NZ
                        - NI
                        - NE
                        - NG
                        - NU
                        - NF
                        - MK
                        - MP
                        - 'NO'
                        - OM
                        - PK
                        - PW
                        - PS
                        - PA
                        - PG
                        - PY
                        - PE
                        - PH
                        - PN
                        - PL
                        - PT
                        - PR
                        - QA
                        - RE
                        - RO
                        - RU
                        - RW
                        - BL
                        - SH
                        - KN
                        - LC
                        - MF
                        - PM
                        - VC
                        - WS
                        - SM
                        - ST
                        - SA
                        - SN
                        - RS
                        - SC
                        - SL
                        - SG
                        - SX
                        - SK
                        - SI
                        - SB
                        - SO
                        - ZA
                        - GS
                        - SS
                        - ES
                        - LK
                        - SD
                        - SR
                        - SJ
                        - SE
                        - CH
                        - SY
                        - TW
                        - TJ
                        - TZ
                        - TH
                        - TL
                        - TG
                        - TK
                        - TO
                        - TT
                        - TN
                        - TR
                        - TM
                        - TC
                        - TV
                        - UG
                        - UA
                        - AE
                        - GB
                        - US
                        - UM
                        - UY
                        - UZ
                        - VU
                        - VE
                        - VN
                        - VG
                        - VI
                        - WF
                        - EH
                        - YE
                        - ZM
                        - ZW
                    accountNumber:
                      description: Sending account number, when transmitted.
                      type: string
                    routingNumber:
                      description: US ABA routing number of the sending bank.
                      type: string
                    sortCode:
                      description: >-
                        UK sort code of the sending bank, as the sending bank
                        transmitted it, with spaces and hyphens stripped.
                      type: string
                    iban:
                      description: Sender IBAN, when transmitted.
                      type: string
                    bic:
                      description: BIC of the sending bank (ISO 9362).
                      type: string
                  additionalProperties: false
                  description: >-
                    Originator details on an inbound fiat deposit — what the
                    sending bank transmitted with the payment. Each field is
                    present only when provided.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - sender
                - assetAmount
              additionalProperties: false
              description: >-
                Inbound fiat deposit source: the external bank that originated
                the wire, with the originator details as provided by the sender
                bank, plus the payment network the deposit arrived on (`rail`,
                null when unknown) and any real settlement references the
                network exposed (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace). The
                wire reference fields are independent of `rail` and may be
                absent. The variant is emitted once any sender field is
                populated; before that, the source surfaces as
                `external_unknown`. A deposit delivered on-us from another
                account in the same organization is `internal_transfer` instead,
                even when the partner bank supplied sender details — there is no
                external originator to report.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_debit
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the bank pulled the money over (ach,
                    fedwire, ...), or null when not known. Always present.
                  nullable: true
                originator:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the party that pulled the money.
                    id:
                      description: The originator's identifier on the network, when sent.
                      type: string
                  required:
                    - name
                  additionalProperties: false
                secCode:
                  description: ACH Standard Entry Class code of the entry, e.g. CCD or WEB.
                  type: string
                description:
                  description: Entry description the originator sent with the debit.
                  type: string
                effectiveDate:
                  description: Date the originator asked the bank to settle the debit.
                  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])))$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - originator
                - assetAmount
              additionalProperties: false
              description: >-
                Destination of a withdrawal that Conduit did not start: a third
                party pulled the money from the customer's bank account, such as
                an ACH debit. It names the party that pulled it (`originator`)
                and the payment network (`rail`, null when unknown), plus any
                settlement reference the network exposed. Without an originator
                name the destination is `external_unknown`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - internal_transfer
                originatingTransactionId:
                  type: string
                  pattern: ^txn_[0-9A-Za-z]{22}$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - originatingTransactionId
                - assetAmount
              additionalProperties: false
              description: >-
                Source of a deposit that was delivered on-us from another
                Conduit account in the SAME organization — no external bank was
                involved. `originatingTransactionId` is the withdrawal
                transaction that sent it; fetch it for the sending side's own
                details. Emitted only when the organization owns both sides: an
                on-us delivery from another organization keeps the source it
                would otherwise have. Like `external_bank_inbound`, this variant
                resolves as the deposit is detected, which happens after the
                transaction is created — so on a first-pass run
                `transaction.created` carries `external_unknown`, while
                `transaction.completed` and every read carry the resolved
                source.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_unknown
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - assetAmount
              additionalProperties: false
              description: >-
                External counterparty whose details are not yet known (e.g.
                detected fiat deposit before sender info has been resolved).
          description: >-
            One side (source or destination) of a transaction. Discriminated by
            `type`.
        destination:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                walletId:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                txHash:
                  type: string
              required:
                - type
                - walletId
                - address
                - assetAmount
              additionalProperties: false
              description: A Conduit-custodied crypto wallet on one side of a transaction.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - deposit_address
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit-provided funding address — the address a
                deposit-funded order was funded at. Conduit owns and may rotate
                the wallet behind it without notice, so the side carries no
                wallet id and the address is the only thing to reconcile
                against. Chain travels with the asset inside `assetAmount`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                virtualAccountId:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
                wireReceive:
                  oneOf:
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - us
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        routingNumber:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - routingNumber
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - swift
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - sepa
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - uk
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        sortCode:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - sortCode
                      additionalProperties: false
                  description: >-
                    Receiving wire-instruction context: which Conduit bank
                    account + rail the inbound deposit landed in. Captured at
                    deposit-detect time.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - virtualAccountId
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit virtual account on one side of a transaction.
                `wireReceive` is destination-only — it carries the receiving
                wire instructions on fiat inbound deposits where the VA received
                the wire. Always absent when the VA is a source (conversions /
                fiat withdrawals).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_crypto
                address:
                  type: string
                txHash:
                  type: string
                memo:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - text
                        value:
                          type: string
                          minLength: 1
                      required:
                        - type
                        - value
                      additionalProperties: false
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - id
                        value:
                          type: string
                      required:
                        - type
                        - value
                      additionalProperties: false
                  description: >-
                    Destination memo (destination tag) for the receiving
                    account. Required by shared custodial addresses such as
                    exchanges. Only accepted on chains whose payments carry a
                    memo.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                An external on-chain counterparty: address plus optional
                settlement tx hash. Chain travels with the asset inside
                `assetAmount`. `memo` is the destination memo the payout was
                created with, when it carried one.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank
                rail:
                  description: >-
                    The payment network the payout was created with, as sent on
                    the request's `rail`. `recipient.rail` names the account
                    family the coordinates belong to (`us`, `swift`, `sepa`,
                    `uk_domestic`), not the network.
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                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
                recipient:
                  oneOf:
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - crypto
                        chain:
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - tron
                            - stellar
                            - tempo
                        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
                        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
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
                bankScheduledFor:
                  description: >-
                    The settlement date the sending bank last reported for this
                    payout, as a calendar date in the bank's own time zone.
                    Present only when the bank reports one, as on ACH. A date
                    later than the payout date means the bank moved the entry to
                    a later window; the payout, its rail and its obligation do
                    not change, so do not send it again.
                  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])))$
              required:
                - type
                - rail
                - recipient
                - assetAmount
              additionalProperties: false
              description: >-
                An external bank counterparty: the payment rail and rail context
                the payout was created with (`rail`, `ach`, `swift`, `instant`),
                the recipient details, plus any real wire settlement references
                (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace, RTP, FedNow).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_inbound
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the deposit arrived on (fedwire, ach,
                    rtp, fednow, swift, sepa, faster_payments, chaps), or null
                    when not known. Always present. Independent of the wire
                    reference fields, which may be absent.
                  nullable: true
                sender:
                  type: object
                  properties:
                    name:
                      description: Name of the sending account holder.
                      type: string
                    country:
                      description: >-
                        Country of the sending account holder, ISO 3166-1
                        alpha-2.
                      type: string
                      enum:
                        - AF
                        - AL
                        - DZ
                        - AS
                        - AD
                        - AO
                        - AI
                        - AQ
                        - AG
                        - AR
                        - AM
                        - AW
                        - AU
                        - AT
                        - AZ
                        - BS
                        - BH
                        - BD
                        - BB
                        - BY
                        - BE
                        - BZ
                        - BJ
                        - BM
                        - BT
                        - BO
                        - BQ
                        - BA
                        - BW
                        - BV
                        - BR
                        - IO
                        - BN
                        - BG
                        - BF
                        - BI
                        - CV
                        - KH
                        - CM
                        - CA
                        - KY
                        - CF
                        - TD
                        - CL
                        - CN
                        - CX
                        - CC
                        - CO
                        - KM
                        - CG
                        - CD
                        - CK
                        - CR
                        - CI
                        - HR
                        - CU
                        - CW
                        - CY
                        - CZ
                        - DK
                        - DJ
                        - DM
                        - DO
                        - EC
                        - EG
                        - SV
                        - GQ
                        - ER
                        - EE
                        - SZ
                        - ET
                        - FK
                        - FO
                        - FJ
                        - FI
                        - FR
                        - GF
                        - PF
                        - TF
                        - GA
                        - GM
                        - GE
                        - DE
                        - GH
                        - GI
                        - GR
                        - GL
                        - GD
                        - GP
                        - GU
                        - GT
                        - GG
                        - GN
                        - GW
                        - GY
                        - HT
                        - HM
                        - VA
                        - HN
                        - HK
                        - HU
                        - IS
                        - IN
                        - ID
                        - IR
                        - IQ
                        - IE
                        - IM
                        - IL
                        - IT
                        - JM
                        - JP
                        - JE
                        - JO
                        - KZ
                        - KE
                        - KI
                        - KP
                        - KR
                        - KW
                        - KG
                        - LA
                        - LV
                        - LB
                        - LS
                        - LR
                        - LY
                        - LI
                        - LT
                        - LU
                        - MO
                        - MG
                        - MW
                        - MY
                        - MV
                        - ML
                        - MT
                        - MH
                        - MQ
                        - MR
                        - MU
                        - YT
                        - MX
                        - FM
                        - MD
                        - MC
                        - MN
                        - ME
                        - MS
                        - MA
                        - MZ
                        - MM
                        - NA
                        - NR
                        - NP
                        - NL
                        - NC
                        - NZ
                        - NI
                        - NE
                        - NG
                        - NU
                        - NF
                        - MK
                        - MP
                        - 'NO'
                        - OM
                        - PK
                        - PW
                        - PS
                        - PA
                        - PG
                        - PY
                        - PE
                        - PH
                        - PN
                        - PL
                        - PT
                        - PR
                        - QA
                        - RE
                        - RO
                        - RU
                        - RW
                        - BL
                        - SH
                        - KN
                        - LC
                        - MF
                        - PM
                        - VC
                        - WS
                        - SM
                        - ST
                        - SA
                        - SN
                        - RS
                        - SC
                        - SL
                        - SG
                        - SX
                        - SK
                        - SI
                        - SB
                        - SO
                        - ZA
                        - GS
                        - SS
                        - ES
                        - LK
                        - SD
                        - SR
                        - SJ
                        - SE
                        - CH
                        - SY
                        - TW
                        - TJ
                        - TZ
                        - TH
                        - TL
                        - TG
                        - TK
                        - TO
                        - TT
                        - TN
                        - TR
                        - TM
                        - TC
                        - TV
                        - UG
                        - UA
                        - AE
                        - GB
                        - US
                        - UM
                        - UY
                        - UZ
                        - VU
                        - VE
                        - VN
                        - VG
                        - VI
                        - WF
                        - EH
                        - YE
                        - ZM
                        - ZW
                    accountNumber:
                      description: Sending account number, when transmitted.
                      type: string
                    routingNumber:
                      description: US ABA routing number of the sending bank.
                      type: string
                    sortCode:
                      description: >-
                        UK sort code of the sending bank, as the sending bank
                        transmitted it, with spaces and hyphens stripped.
                      type: string
                    iban:
                      description: Sender IBAN, when transmitted.
                      type: string
                    bic:
                      description: BIC of the sending bank (ISO 9362).
                      type: string
                  additionalProperties: false
                  description: >-
                    Originator details on an inbound fiat deposit — what the
                    sending bank transmitted with the payment. Each field is
                    present only when provided.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - sender
                - assetAmount
              additionalProperties: false
              description: >-
                Inbound fiat deposit source: the external bank that originated
                the wire, with the originator details as provided by the sender
                bank, plus the payment network the deposit arrived on (`rail`,
                null when unknown) and any real settlement references the
                network exposed (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace). The
                wire reference fields are independent of `rail` and may be
                absent. The variant is emitted once any sender field is
                populated; before that, the source surfaces as
                `external_unknown`. A deposit delivered on-us from another
                account in the same organization is `internal_transfer` instead,
                even when the partner bank supplied sender details — there is no
                external originator to report.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_debit
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the bank pulled the money over (ach,
                    fedwire, ...), or null when not known. Always present.
                  nullable: true
                originator:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the party that pulled the money.
                    id:
                      description: The originator's identifier on the network, when sent.
                      type: string
                  required:
                    - name
                  additionalProperties: false
                secCode:
                  description: ACH Standard Entry Class code of the entry, e.g. CCD or WEB.
                  type: string
                description:
                  description: Entry description the originator sent with the debit.
                  type: string
                effectiveDate:
                  description: Date the originator asked the bank to settle the debit.
                  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])))$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - originator
                - assetAmount
              additionalProperties: false
              description: >-
                Destination of a withdrawal that Conduit did not start: a third
                party pulled the money from the customer's bank account, such as
                an ACH debit. It names the party that pulled it (`originator`)
                and the payment network (`rail`, null when unknown), plus any
                settlement reference the network exposed. Without an originator
                name the destination is `external_unknown`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - internal_transfer
                originatingTransactionId:
                  type: string
                  pattern: ^txn_[0-9A-Za-z]{22}$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - originatingTransactionId
                - assetAmount
              additionalProperties: false
              description: >-
                Source of a deposit that was delivered on-us from another
                Conduit account in the SAME organization — no external bank was
                involved. `originatingTransactionId` is the withdrawal
                transaction that sent it; fetch it for the sending side's own
                details. Emitted only when the organization owns both sides: an
                on-us delivery from another organization keeps the source it
                would otherwise have. Like `external_bank_inbound`, this variant
                resolves as the deposit is detected, which happens after the
                transaction is created — so on a first-pass run
                `transaction.created` carries `external_unknown`, while
                `transaction.completed` and every read carry the resolved
                source.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_unknown
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - assetAmount
              additionalProperties: false
              description: >-
                External counterparty whose details are not yet known (e.g.
                detected fiat deposit before sender info has been resolved).
          description: >-
            One side (source or destination) of a transaction. Discriminated by
            `type`.
        fees:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                  - fixed
              assetAmount:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - USD
                      - EUR
                      - GBP
                      - CHF
                      - JPY
                      - CAD
                      - AUD
                      - NZD
                      - SGD
                      - HKD
                      - CNY
                      - KRW
                      - INR
                      - BRL
                      - MXN
                      - ARS
                      - CLP
                      - COP
                      - PEN
                      - ZAR
                      - NGN
                      - KES
                      - GHS
                      - EGP
                      - AED
                      - SAR
                      - ILS
                      - TRY
                      - PLN
                      - CZK
                      - HUF
                      - SEK
                      - NOK
                      - DKK
                      - THB
                      - IDR
                      - MYR
                      - PHP
                      - VND
                      - TWD
                      - USDC
                      - USDT
                      - DAI
                      - EURC
                      - PYUSD
                      - OUSD
                      - BTC
                      - ETH
                      - SOL
                      - TRX
                      - XLM
                      - POL
                    description: Asset code (USDC, USD, etc.)
                  chain:
                    description: Chain when the asset is on-chain; omitted for fiat.
                    type: string
                    enum:
                      - ethereum
                      - base
                      - solana
                      - polygon
                      - tron
                      - stellar
                      - tempo
                  amount:
                    type: string
                    description: Decimal string, asset-precision rounded
                required:
                  - code
                  - amount
                additionalProperties: false
              owner:
                type: string
                enum:
                  - conduit
                  - you
                description: >-
                  Who this charge belongs to. `conduit` is Conduit's own fee.
                  `you` is the margin you declared on this transaction, which
                  Conduit collects from your customer and accrues to you; it is
                  your revenue, not a Conduit charge.
            required:
              - type
              - assetAmount
              - owner
        createdAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        completedAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        failureCode:
          type: string
          enum:
            - user_signature_timeout
            - user_signature_expired
            - user_signature_declined
            - user_signature_rejected_by_provider
            - crypto_wallet_misconfigured
            - compliance_hold
            - compliance_review_rejected
            - compliance_rejected
            - returned_by_sender
            - rail_policy_rejected
            - insufficient_funds
            - insufficient_funds_at_settle
            - rail_unavailable
            - sender_info_timeout
            - travel_rule_rejected
            - provider_rejected
            - chain_broadcast_failed
            - roster_changed
            - insufficient_onchain_balance
            - source_account_unavailable
        failureMessage:
          description: >-
            Conduit's own wording for `failureCode`: the public error catalog
            text for the code, or the generic failure text when there is no
            code. The same text as `failureMessage` on the `transaction.failed`
            webhook. It never carries text from a bank, a chain or a sandbox
            simulator `reason`.
          type: string
        cancelledAt:
          description: >-
            ISO-8601 timestamp when the transaction was cancelled. Present only
            on `status: cancelled`.
          type: string
          format: date-time
          example: '2026-01-15T09:30:00.000Z'
        cancellationReason:
          description: >-
            Machine-readable cancellation reason. `client_cancelled` when the
            client called `POST /v2/payouts/:id/cancel`; `expired` is reserved.
            Omitted on non-cancelled rows. Mirrors `orders.cancellationReason`.
          type: string
          enum:
            - expired
            - client_cancelled
        linkedOrderId:
          type: string
          pattern: ^ord_[0-9A-Za-z]{22}$
        purpose:
          description: >-
            The business purpose declared at payout creation. Drives compliance
            gating: intercompany requires a whitelisted recipient of the
            customer or its group; personal_transfer_of_funds requires the
            customer's own whitelisted account; prefunding requires a customer's
            issued account; other values require supporting documentation.
          type: string
          enum:
            - intercompany
            - treasury_management
            - payment_for_goods_or_services
            - payroll
            - investments
            - other
            - prefunding
            - purchase_of_goods
            - rent
            - loan_payment
            - personal_transfer_of_funds
            - gift
            - bill_payment
            - charity
            - tax_payment
            - person_to_person_transfer
        purposeDescription:
          description: >-
            The customer's own words for the payment. Omitted when none was
            sent, and on the transaction list: read the single transaction to
            get it.
          type: string
        hasRfi:
          type: boolean
          description: >-
            True when at least one published (non-draft, non-cancelled) RFI
            targets this transaction. Always present; derived at read time, no
            stored column.
        rfiId:
          description: >-
            The most recently published such RFI — usually the one `stage`
            refers to, but a later unrelated RFI on the same transaction takes
            this slot instead. Omitted (never `null`) when `hasRfi` is false.
          type: string
          pattern: ^rfi_[0-9A-Za-z]{22}$
        remittance:
          description: >-
            The free-text reference the payer supplied on the payout, fiat or
            crypto. On a transfer between two of the customer's own wallets the
            same value reads on both halves: the withdrawal that sent it and the
            deposit that credits it.
          type: object
          properties:
            reference:
              type: string
            description:
              type: string
        swiftUetr:
          description: >-
            The UETR of the fiat leg — the ISO 20022 unique end-to-end
            transaction reference. Present whenever the payment carried one,
            including on a deposit whose `source` is still `external_unknown`
            because the sender has not resolved. The side that carries wire
            references repeats it — `destination.swiftUetr` on a payout,
            `source.swiftUetr` on a deposit — but not every side does, which is
            why it reads here as well. A Fedwire message carries a UETR too, so
            its presence does not mean the payment travelled on SWIFT. Omitted
            (never `null`) when the rail supplied none.
          type: string
        type:
          type: string
          enum:
            - offramp
      required:
        - id
        - customerId
        - status
        - source
        - destination
        - fees
        - createdAt
        - hasRfi
        - type
      description: Client-facing view of a crypto-to-fiat conversion.
    PublicCryptoConversionViewDto:
      type: object
      properties:
        id:
          type: string
          pattern: ^txn_[0-9A-Za-z]{22}$
        customerId:
          type: string
          pattern: ^cus_[0-9A-Za-z]{22}$
        customerName:
          description: >-
            Display name of the customer that owns the transaction: business
            legal name or individual full name. Same value on the transactions
            and payouts reads for the same row. Omitted when the customer's
            identity record hasn't resolved a name yet; per the public
            omit-don't-null convention, absence is never surfaced as `null`.
          type: string
        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
            - processing
            - completed
            - failed
            - cancelled
        stage:
          description: >-
            Progress signal for a non-terminal transaction, informational only —
            it does not replace `requiresUserSignature`, `hasRfi`, or
            `failureCode` for deciding whether your integration needs to act.
            `awaiting_signature`: waiting on the required transaction signature
            (see `requiresUserSignature`). `awaiting_customer_action`: further
            input is needed before the transaction can go on. Read `hasRfi` to
            learn where the ask is: `true` means a request for information holds
            the answer — `rfiId` names it, and `GET /v2/rfis/{id}` carries what
            to send; `false` means the matching event carries the detail (e.g.
            `transaction.awaiting_sender_information`). `under_review`:
            compliance, document, or verification review of something already
            submitted is in progress — usually no action needed; check `hasRfi`
            if unsure. `settling`: funds movement or settlement is in progress,
            no customer action required — covers long-lived fiat rails like
            SWIFT that legitimately take days as well as any other non-blocked
            in-flight state. Omitted once `status` reaches a terminal value
            (`completed` / `failed` / `cancelled`). The set of values may grow
            over time — treat unrecognized values the same as `processing`.
          type: string
          enum:
            - awaiting_signature
            - awaiting_customer_action
            - under_review
            - settling
        source:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                walletId:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                txHash:
                  type: string
              required:
                - type
                - walletId
                - address
                - assetAmount
              additionalProperties: false
              description: A Conduit-custodied crypto wallet on one side of a transaction.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - deposit_address
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit-provided funding address — the address a
                deposit-funded order was funded at. Conduit owns and may rotate
                the wallet behind it without notice, so the side carries no
                wallet id and the address is the only thing to reconcile
                against. Chain travels with the asset inside `assetAmount`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                virtualAccountId:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
                wireReceive:
                  oneOf:
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - us
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        routingNumber:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - routingNumber
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - swift
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - sepa
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - uk
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        sortCode:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - sortCode
                      additionalProperties: false
                  description: >-
                    Receiving wire-instruction context: which Conduit bank
                    account + rail the inbound deposit landed in. Captured at
                    deposit-detect time.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - virtualAccountId
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit virtual account on one side of a transaction.
                `wireReceive` is destination-only — it carries the receiving
                wire instructions on fiat inbound deposits where the VA received
                the wire. Always absent when the VA is a source (conversions /
                fiat withdrawals).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_crypto
                address:
                  type: string
                txHash:
                  type: string
                memo:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - text
                        value:
                          type: string
                          minLength: 1
                      required:
                        - type
                        - value
                      additionalProperties: false
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - id
                        value:
                          type: string
                      required:
                        - type
                        - value
                      additionalProperties: false
                  description: >-
                    Destination memo (destination tag) for the receiving
                    account. Required by shared custodial addresses such as
                    exchanges. Only accepted on chains whose payments carry a
                    memo.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                An external on-chain counterparty: address plus optional
                settlement tx hash. Chain travels with the asset inside
                `assetAmount`. `memo` is the destination memo the payout was
                created with, when it carried one.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank
                rail:
                  description: >-
                    The payment network the payout was created with, as sent on
                    the request's `rail`. `recipient.rail` names the account
                    family the coordinates belong to (`us`, `swift`, `sepa`,
                    `uk_domestic`), not the network.
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                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
                recipient:
                  oneOf:
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - crypto
                        chain:
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - tron
                            - stellar
                            - tempo
                        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
                        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
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
                bankScheduledFor:
                  description: >-
                    The settlement date the sending bank last reported for this
                    payout, as a calendar date in the bank's own time zone.
                    Present only when the bank reports one, as on ACH. A date
                    later than the payout date means the bank moved the entry to
                    a later window; the payout, its rail and its obligation do
                    not change, so do not send it again.
                  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])))$
              required:
                - type
                - rail
                - recipient
                - assetAmount
              additionalProperties: false
              description: >-
                An external bank counterparty: the payment rail and rail context
                the payout was created with (`rail`, `ach`, `swift`, `instant`),
                the recipient details, plus any real wire settlement references
                (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace, RTP, FedNow).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_inbound
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the deposit arrived on (fedwire, ach,
                    rtp, fednow, swift, sepa, faster_payments, chaps), or null
                    when not known. Always present. Independent of the wire
                    reference fields, which may be absent.
                  nullable: true
                sender:
                  type: object
                  properties:
                    name:
                      description: Name of the sending account holder.
                      type: string
                    country:
                      description: >-
                        Country of the sending account holder, ISO 3166-1
                        alpha-2.
                      type: string
                      enum:
                        - AF
                        - AL
                        - DZ
                        - AS
                        - AD
                        - AO
                        - AI
                        - AQ
                        - AG
                        - AR
                        - AM
                        - AW
                        - AU
                        - AT
                        - AZ
                        - BS
                        - BH
                        - BD
                        - BB
                        - BY
                        - BE
                        - BZ
                        - BJ
                        - BM
                        - BT
                        - BO
                        - BQ
                        - BA
                        - BW
                        - BV
                        - BR
                        - IO
                        - BN
                        - BG
                        - BF
                        - BI
                        - CV
                        - KH
                        - CM
                        - CA
                        - KY
                        - CF
                        - TD
                        - CL
                        - CN
                        - CX
                        - CC
                        - CO
                        - KM
                        - CG
                        - CD
                        - CK
                        - CR
                        - CI
                        - HR
                        - CU
                        - CW
                        - CY
                        - CZ
                        - DK
                        - DJ
                        - DM
                        - DO
                        - EC
                        - EG
                        - SV
                        - GQ
                        - ER
                        - EE
                        - SZ
                        - ET
                        - FK
                        - FO
                        - FJ
                        - FI
                        - FR
                        - GF
                        - PF
                        - TF
                        - GA
                        - GM
                        - GE
                        - DE
                        - GH
                        - GI
                        - GR
                        - GL
                        - GD
                        - GP
                        - GU
                        - GT
                        - GG
                        - GN
                        - GW
                        - GY
                        - HT
                        - HM
                        - VA
                        - HN
                        - HK
                        - HU
                        - IS
                        - IN
                        - ID
                        - IR
                        - IQ
                        - IE
                        - IM
                        - IL
                        - IT
                        - JM
                        - JP
                        - JE
                        - JO
                        - KZ
                        - KE
                        - KI
                        - KP
                        - KR
                        - KW
                        - KG
                        - LA
                        - LV
                        - LB
                        - LS
                        - LR
                        - LY
                        - LI
                        - LT
                        - LU
                        - MO
                        - MG
                        - MW
                        - MY
                        - MV
                        - ML
                        - MT
                        - MH
                        - MQ
                        - MR
                        - MU
                        - YT
                        - MX
                        - FM
                        - MD
                        - MC
                        - MN
                        - ME
                        - MS
                        - MA
                        - MZ
                        - MM
                        - NA
                        - NR
                        - NP
                        - NL
                        - NC
                        - NZ
                        - NI
                        - NE
                        - NG
                        - NU
                        - NF
                        - MK
                        - MP
                        - 'NO'
                        - OM
                        - PK
                        - PW
                        - PS
                        - PA
                        - PG
                        - PY
                        - PE
                        - PH
                        - PN
                        - PL
                        - PT
                        - PR
                        - QA
                        - RE
                        - RO
                        - RU
                        - RW
                        - BL
                        - SH
                        - KN
                        - LC
                        - MF
                        - PM
                        - VC
                        - WS
                        - SM
                        - ST
                        - SA
                        - SN
                        - RS
                        - SC
                        - SL
                        - SG
                        - SX
                        - SK
                        - SI
                        - SB
                        - SO
                        - ZA
                        - GS
                        - SS
                        - ES
                        - LK
                        - SD
                        - SR
                        - SJ
                        - SE
                        - CH
                        - SY
                        - TW
                        - TJ
                        - TZ
                        - TH
                        - TL
                        - TG
                        - TK
                        - TO
                        - TT
                        - TN
                        - TR
                        - TM
                        - TC
                        - TV
                        - UG
                        - UA
                        - AE
                        - GB
                        - US
                        - UM
                        - UY
                        - UZ
                        - VU
                        - VE
                        - VN
                        - VG
                        - VI
                        - WF
                        - EH
                        - YE
                        - ZM
                        - ZW
                    accountNumber:
                      description: Sending account number, when transmitted.
                      type: string
                    routingNumber:
                      description: US ABA routing number of the sending bank.
                      type: string
                    sortCode:
                      description: >-
                        UK sort code of the sending bank, as the sending bank
                        transmitted it, with spaces and hyphens stripped.
                      type: string
                    iban:
                      description: Sender IBAN, when transmitted.
                      type: string
                    bic:
                      description: BIC of the sending bank (ISO 9362).
                      type: string
                  additionalProperties: false
                  description: >-
                    Originator details on an inbound fiat deposit — what the
                    sending bank transmitted with the payment. Each field is
                    present only when provided.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - sender
                - assetAmount
              additionalProperties: false
              description: >-
                Inbound fiat deposit source: the external bank that originated
                the wire, with the originator details as provided by the sender
                bank, plus the payment network the deposit arrived on (`rail`,
                null when unknown) and any real settlement references the
                network exposed (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace). The
                wire reference fields are independent of `rail` and may be
                absent. The variant is emitted once any sender field is
                populated; before that, the source surfaces as
                `external_unknown`. A deposit delivered on-us from another
                account in the same organization is `internal_transfer` instead,
                even when the partner bank supplied sender details — there is no
                external originator to report.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_debit
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the bank pulled the money over (ach,
                    fedwire, ...), or null when not known. Always present.
                  nullable: true
                originator:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the party that pulled the money.
                    id:
                      description: The originator's identifier on the network, when sent.
                      type: string
                  required:
                    - name
                  additionalProperties: false
                secCode:
                  description: ACH Standard Entry Class code of the entry, e.g. CCD or WEB.
                  type: string
                description:
                  description: Entry description the originator sent with the debit.
                  type: string
                effectiveDate:
                  description: Date the originator asked the bank to settle the debit.
                  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])))$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - originator
                - assetAmount
              additionalProperties: false
              description: >-
                Destination of a withdrawal that Conduit did not start: a third
                party pulled the money from the customer's bank account, such as
                an ACH debit. It names the party that pulled it (`originator`)
                and the payment network (`rail`, null when unknown), plus any
                settlement reference the network exposed. Without an originator
                name the destination is `external_unknown`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - internal_transfer
                originatingTransactionId:
                  type: string
                  pattern: ^txn_[0-9A-Za-z]{22}$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - originatingTransactionId
                - assetAmount
              additionalProperties: false
              description: >-
                Source of a deposit that was delivered on-us from another
                Conduit account in the SAME organization — no external bank was
                involved. `originatingTransactionId` is the withdrawal
                transaction that sent it; fetch it for the sending side's own
                details. Emitted only when the organization owns both sides: an
                on-us delivery from another organization keeps the source it
                would otherwise have. Like `external_bank_inbound`, this variant
                resolves as the deposit is detected, which happens after the
                transaction is created — so on a first-pass run
                `transaction.created` carries `external_unknown`, while
                `transaction.completed` and every read carry the resolved
                source.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_unknown
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - assetAmount
              additionalProperties: false
              description: >-
                External counterparty whose details are not yet known (e.g.
                detected fiat deposit before sender info has been resolved).
          description: >-
            One side (source or destination) of a transaction. Discriminated by
            `type`.
        destination:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                walletId:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                txHash:
                  type: string
              required:
                - type
                - walletId
                - address
                - assetAmount
              additionalProperties: false
              description: A Conduit-custodied crypto wallet on one side of a transaction.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - deposit_address
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit-provided funding address — the address a
                deposit-funded order was funded at. Conduit owns and may rotate
                the wallet behind it without notice, so the side carries no
                wallet id and the address is the only thing to reconcile
                against. Chain travels with the asset inside `assetAmount`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                virtualAccountId:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
                wireReceive:
                  oneOf:
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - us
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        routingNumber:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - routingNumber
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - swift
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - sepa
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - uk
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        sortCode:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - sortCode
                      additionalProperties: false
                  description: >-
                    Receiving wire-instruction context: which Conduit bank
                    account + rail the inbound deposit landed in. Captured at
                    deposit-detect time.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - virtualAccountId
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit virtual account on one side of a transaction.
                `wireReceive` is destination-only — it carries the receiving
                wire instructions on fiat inbound deposits where the VA received
                the wire. Always absent when the VA is a source (conversions /
                fiat withdrawals).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_crypto
                address:
                  type: string
                txHash:
                  type: string
                memo:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - text
                        value:
                          type: string
                          minLength: 1
                      required:
                        - type
                        - value
                      additionalProperties: false
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - id
                        value:
                          type: string
                      required:
                        - type
                        - value
                      additionalProperties: false
                  description: >-
                    Destination memo (destination tag) for the receiving
                    account. Required by shared custodial addresses such as
                    exchanges. Only accepted on chains whose payments carry a
                    memo.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                An external on-chain counterparty: address plus optional
                settlement tx hash. Chain travels with the asset inside
                `assetAmount`. `memo` is the destination memo the payout was
                created with, when it carried one.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank
                rail:
                  description: >-
                    The payment network the payout was created with, as sent on
                    the request's `rail`. `recipient.rail` names the account
                    family the coordinates belong to (`us`, `swift`, `sepa`,
                    `uk_domestic`), not the network.
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                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
                recipient:
                  oneOf:
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - crypto
                        chain:
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - tron
                            - stellar
                            - tempo
                        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
                        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
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
                bankScheduledFor:
                  description: >-
                    The settlement date the sending bank last reported for this
                    payout, as a calendar date in the bank's own time zone.
                    Present only when the bank reports one, as on ACH. A date
                    later than the payout date means the bank moved the entry to
                    a later window; the payout, its rail and its obligation do
                    not change, so do not send it again.
                  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])))$
              required:
                - type
                - rail
                - recipient
                - assetAmount
              additionalProperties: false
              description: >-
                An external bank counterparty: the payment rail and rail context
                the payout was created with (`rail`, `ach`, `swift`, `instant`),
                the recipient details, plus any real wire settlement references
                (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace, RTP, FedNow).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_inbound
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the deposit arrived on (fedwire, ach,
                    rtp, fednow, swift, sepa, faster_payments, chaps), or null
                    when not known. Always present. Independent of the wire
                    reference fields, which may be absent.
                  nullable: true
                sender:
                  type: object
                  properties:
                    name:
                      description: Name of the sending account holder.
                      type: string
                    country:
                      description: >-
                        Country of the sending account holder, ISO 3166-1
                        alpha-2.
                      type: string
                      enum:
                        - AF
                        - AL
                        - DZ
                        - AS
                        - AD
                        - AO
                        - AI
                        - AQ
                        - AG
                        - AR
                        - AM
                        - AW
                        - AU
                        - AT
                        - AZ
                        - BS
                        - BH
                        - BD
                        - BB
                        - BY
                        - BE
                        - BZ
                        - BJ
                        - BM
                        - BT
                        - BO
                        - BQ
                        - BA
                        - BW
                        - BV
                        - BR
                        - IO
                        - BN
                        - BG
                        - BF
                        - BI
                        - CV
                        - KH
                        - CM
                        - CA
                        - KY
                        - CF
                        - TD
                        - CL
                        - CN
                        - CX
                        - CC
                        - CO
                        - KM
                        - CG
                        - CD
                        - CK
                        - CR
                        - CI
                        - HR
                        - CU
                        - CW
                        - CY
                        - CZ
                        - DK
                        - DJ
                        - DM
                        - DO
                        - EC
                        - EG
                        - SV
                        - GQ
                        - ER
                        - EE
                        - SZ
                        - ET
                        - FK
                        - FO
                        - FJ
                        - FI
                        - FR
                        - GF
                        - PF
                        - TF
                        - GA
                        - GM
                        - GE
                        - DE
                        - GH
                        - GI
                        - GR
                        - GL
                        - GD
                        - GP
                        - GU
                        - GT
                        - GG
                        - GN
                        - GW
                        - GY
                        - HT
                        - HM
                        - VA
                        - HN
                        - HK
                        - HU
                        - IS
                        - IN
                        - ID
                        - IR
                        - IQ
                        - IE
                        - IM
                        - IL
                        - IT
                        - JM
                        - JP
                        - JE
                        - JO
                        - KZ
                        - KE
                        - KI
                        - KP
                        - KR
                        - KW
                        - KG
                        - LA
                        - LV
                        - LB
                        - LS
                        - LR
                        - LY
                        - LI
                        - LT
                        - LU
                        - MO
                        - MG
                        - MW
                        - MY
                        - MV
                        - ML
                        - MT
                        - MH
                        - MQ
                        - MR
                        - MU
                        - YT
                        - MX
                        - FM
                        - MD
                        - MC
                        - MN
                        - ME
                        - MS
                        - MA
                        - MZ
                        - MM
                        - NA
                        - NR
                        - NP
                        - NL
                        - NC
                        - NZ
                        - NI
                        - NE
                        - NG
                        - NU
                        - NF
                        - MK
                        - MP
                        - 'NO'
                        - OM
                        - PK
                        - PW
                        - PS
                        - PA
                        - PG
                        - PY
                        - PE
                        - PH
                        - PN
                        - PL
                        - PT
                        - PR
                        - QA
                        - RE
                        - RO
                        - RU
                        - RW
                        - BL
                        - SH
                        - KN
                        - LC
                        - MF
                        - PM
                        - VC
                        - WS
                        - SM
                        - ST
                        - SA
                        - SN
                        - RS
                        - SC
                        - SL
                        - SG
                        - SX
                        - SK
                        - SI
                        - SB
                        - SO
                        - ZA
                        - GS
                        - SS
                        - ES
                        - LK
                        - SD
                        - SR
                        - SJ
                        - SE
                        - CH
                        - SY
                        - TW
                        - TJ
                        - TZ
                        - TH
                        - TL
                        - TG
                        - TK
                        - TO
                        - TT
                        - TN
                        - TR
                        - TM
                        - TC
                        - TV
                        - UG
                        - UA
                        - AE
                        - GB
                        - US
                        - UM
                        - UY
                        - UZ
                        - VU
                        - VE
                        - VN
                        - VG
                        - VI
                        - WF
                        - EH
                        - YE
                        - ZM
                        - ZW
                    accountNumber:
                      description: Sending account number, when transmitted.
                      type: string
                    routingNumber:
                      description: US ABA routing number of the sending bank.
                      type: string
                    sortCode:
                      description: >-
                        UK sort code of the sending bank, as the sending bank
                        transmitted it, with spaces and hyphens stripped.
                      type: string
                    iban:
                      description: Sender IBAN, when transmitted.
                      type: string
                    bic:
                      description: BIC of the sending bank (ISO 9362).
                      type: string
                  additionalProperties: false
                  description: >-
                    Originator details on an inbound fiat deposit — what the
                    sending bank transmitted with the payment. Each field is
                    present only when provided.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - sender
                - assetAmount
              additionalProperties: false
              description: >-
                Inbound fiat deposit source: the external bank that originated
                the wire, with the originator details as provided by the sender
                bank, plus the payment network the deposit arrived on (`rail`,
                null when unknown) and any real settlement references the
                network exposed (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace). The
                wire reference fields are independent of `rail` and may be
                absent. The variant is emitted once any sender field is
                populated; before that, the source surfaces as
                `external_unknown`. A deposit delivered on-us from another
                account in the same organization is `internal_transfer` instead,
                even when the partner bank supplied sender details — there is no
                external originator to report.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_debit
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the bank pulled the money over (ach,
                    fedwire, ...), or null when not known. Always present.
                  nullable: true
                originator:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the party that pulled the money.
                    id:
                      description: The originator's identifier on the network, when sent.
                      type: string
                  required:
                    - name
                  additionalProperties: false
                secCode:
                  description: ACH Standard Entry Class code of the entry, e.g. CCD or WEB.
                  type: string
                description:
                  description: Entry description the originator sent with the debit.
                  type: string
                effectiveDate:
                  description: Date the originator asked the bank to settle the debit.
                  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])))$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - originator
                - assetAmount
              additionalProperties: false
              description: >-
                Destination of a withdrawal that Conduit did not start: a third
                party pulled the money from the customer's bank account, such as
                an ACH debit. It names the party that pulled it (`originator`)
                and the payment network (`rail`, null when unknown), plus any
                settlement reference the network exposed. Without an originator
                name the destination is `external_unknown`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - internal_transfer
                originatingTransactionId:
                  type: string
                  pattern: ^txn_[0-9A-Za-z]{22}$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - originatingTransactionId
                - assetAmount
              additionalProperties: false
              description: >-
                Source of a deposit that was delivered on-us from another
                Conduit account in the SAME organization — no external bank was
                involved. `originatingTransactionId` is the withdrawal
                transaction that sent it; fetch it for the sending side's own
                details. Emitted only when the organization owns both sides: an
                on-us delivery from another organization keeps the source it
                would otherwise have. Like `external_bank_inbound`, this variant
                resolves as the deposit is detected, which happens after the
                transaction is created — so on a first-pass run
                `transaction.created` carries `external_unknown`, while
                `transaction.completed` and every read carry the resolved
                source.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_unknown
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - assetAmount
              additionalProperties: false
              description: >-
                External counterparty whose details are not yet known (e.g.
                detected fiat deposit before sender info has been resolved).
          description: >-
            One side (source or destination) of a transaction. Discriminated by
            `type`.
        fees:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                  - fixed
              assetAmount:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - USD
                      - EUR
                      - GBP
                      - CHF
                      - JPY
                      - CAD
                      - AUD
                      - NZD
                      - SGD
                      - HKD
                      - CNY
                      - KRW
                      - INR
                      - BRL
                      - MXN
                      - ARS
                      - CLP
                      - COP
                      - PEN
                      - ZAR
                      - NGN
                      - KES
                      - GHS
                      - EGP
                      - AED
                      - SAR
                      - ILS
                      - TRY
                      - PLN
                      - CZK
                      - HUF
                      - SEK
                      - NOK
                      - DKK
                      - THB
                      - IDR
                      - MYR
                      - PHP
                      - VND
                      - TWD
                      - USDC
                      - USDT
                      - DAI
                      - EURC
                      - PYUSD
                      - OUSD
                      - BTC
                      - ETH
                      - SOL
                      - TRX
                      - XLM
                      - POL
                    description: Asset code (USDC, USD, etc.)
                  chain:
                    description: Chain when the asset is on-chain; omitted for fiat.
                    type: string
                    enum:
                      - ethereum
                      - base
                      - solana
                      - polygon
                      - tron
                      - stellar
                      - tempo
                  amount:
                    type: string
                    description: Decimal string, asset-precision rounded
                required:
                  - code
                  - amount
                additionalProperties: false
              owner:
                type: string
                enum:
                  - conduit
                  - you
                description: >-
                  Who this charge belongs to. `conduit` is Conduit's own fee.
                  `you` is the margin you declared on this transaction, which
                  Conduit collects from your customer and accrues to you; it is
                  your revenue, not a Conduit charge.
            required:
              - type
              - assetAmount
              - owner
        createdAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        completedAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        failureCode:
          type: string
          enum:
            - user_signature_timeout
            - user_signature_expired
            - user_signature_declined
            - user_signature_rejected_by_provider
            - crypto_wallet_misconfigured
            - compliance_hold
            - compliance_review_rejected
            - compliance_rejected
            - returned_by_sender
            - rail_policy_rejected
            - insufficient_funds
            - insufficient_funds_at_settle
            - rail_unavailable
            - sender_info_timeout
            - travel_rule_rejected
            - provider_rejected
            - chain_broadcast_failed
            - roster_changed
            - insufficient_onchain_balance
            - source_account_unavailable
        failureMessage:
          description: >-
            Conduit's own wording for `failureCode`: the public error catalog
            text for the code, or the generic failure text when there is no
            code. The same text as `failureMessage` on the `transaction.failed`
            webhook. It never carries text from a bank, a chain or a sandbox
            simulator `reason`.
          type: string
        cancelledAt:
          description: >-
            ISO-8601 timestamp when the transaction was cancelled. Present only
            on `status: cancelled`.
          type: string
          format: date-time
          example: '2026-01-15T09:30:00.000Z'
        cancellationReason:
          description: >-
            Machine-readable cancellation reason. `client_cancelled` when the
            client called `POST /v2/payouts/:id/cancel`; `expired` is reserved.
            Omitted on non-cancelled rows. Mirrors `orders.cancellationReason`.
          type: string
          enum:
            - expired
            - client_cancelled
        linkedOrderId:
          type: string
          pattern: ^ord_[0-9A-Za-z]{22}$
        purpose:
          description: >-
            The business purpose declared at payout creation. Drives compliance
            gating: intercompany requires a whitelisted recipient of the
            customer or its group; personal_transfer_of_funds requires the
            customer's own whitelisted account; prefunding requires a customer's
            issued account; other values require supporting documentation.
          type: string
          enum:
            - intercompany
            - treasury_management
            - payment_for_goods_or_services
            - payroll
            - investments
            - other
            - prefunding
            - purchase_of_goods
            - rent
            - loan_payment
            - personal_transfer_of_funds
            - gift
            - bill_payment
            - charity
            - tax_payment
            - person_to_person_transfer
        purposeDescription:
          description: >-
            The customer's own words for the payment. Omitted when none was
            sent, and on the transaction list: read the single transaction to
            get it.
          type: string
        hasRfi:
          type: boolean
          description: >-
            True when at least one published (non-draft, non-cancelled) RFI
            targets this transaction. Always present; derived at read time, no
            stored column.
        rfiId:
          description: >-
            The most recently published such RFI — usually the one `stage`
            refers to, but a later unrelated RFI on the same transaction takes
            this slot instead. Omitted (never `null`) when `hasRfi` is false.
          type: string
          pattern: ^rfi_[0-9A-Za-z]{22}$
        remittance:
          description: >-
            The free-text reference the payer supplied on the payout, fiat or
            crypto. On a transfer between two of the customer's own wallets the
            same value reads on both halves: the withdrawal that sent it and the
            deposit that credits it.
          type: object
          properties:
            reference:
              type: string
            description:
              type: string
        swiftUetr:
          description: >-
            The UETR of the fiat leg — the ISO 20022 unique end-to-end
            transaction reference. Present whenever the payment carried one,
            including on a deposit whose `source` is still `external_unknown`
            because the sender has not resolved. The side that carries wire
            references repeats it — `destination.swiftUetr` on a payout,
            `source.swiftUetr` on a deposit — but not every side does, which is
            why it reads here as well. A Fedwire message carries a UETR too, so
            its presence does not mean the payment travelled on SWIFT. Omitted
            (never `null`) when the rail supplied none.
          type: string
        type:
          type: string
          enum:
            - conversion
      required:
        - id
        - customerId
        - status
        - source
        - destination
        - fees
        - createdAt
        - hasRfi
        - type
      description: Client-facing view of a crypto-to-crypto conversion (swap or bridge).
    PublicFiatConversionViewDto:
      type: object
      properties:
        id:
          type: string
          pattern: ^txn_[0-9A-Za-z]{22}$
        customerId:
          type: string
          pattern: ^cus_[0-9A-Za-z]{22}$
        customerName:
          description: >-
            Display name of the customer that owns the transaction: business
            legal name or individual full name. Same value on the transactions
            and payouts reads for the same row. Omitted when the customer's
            identity record hasn't resolved a name yet; per the public
            omit-don't-null convention, absence is never surfaced as `null`.
          type: string
        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
            - processing
            - completed
            - failed
            - cancelled
        stage:
          description: >-
            Progress signal for a non-terminal transaction, informational only —
            it does not replace `requiresUserSignature`, `hasRfi`, or
            `failureCode` for deciding whether your integration needs to act.
            `awaiting_signature`: waiting on the required transaction signature
            (see `requiresUserSignature`). `awaiting_customer_action`: further
            input is needed before the transaction can go on. Read `hasRfi` to
            learn where the ask is: `true` means a request for information holds
            the answer — `rfiId` names it, and `GET /v2/rfis/{id}` carries what
            to send; `false` means the matching event carries the detail (e.g.
            `transaction.awaiting_sender_information`). `under_review`:
            compliance, document, or verification review of something already
            submitted is in progress — usually no action needed; check `hasRfi`
            if unsure. `settling`: funds movement or settlement is in progress,
            no customer action required — covers long-lived fiat rails like
            SWIFT that legitimately take days as well as any other non-blocked
            in-flight state. Omitted once `status` reaches a terminal value
            (`completed` / `failed` / `cancelled`). The set of values may grow
            over time — treat unrecognized values the same as `processing`.
          type: string
          enum:
            - awaiting_signature
            - awaiting_customer_action
            - under_review
            - settling
        source:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                walletId:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                txHash:
                  type: string
              required:
                - type
                - walletId
                - address
                - assetAmount
              additionalProperties: false
              description: A Conduit-custodied crypto wallet on one side of a transaction.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - deposit_address
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit-provided funding address — the address a
                deposit-funded order was funded at. Conduit owns and may rotate
                the wallet behind it without notice, so the side carries no
                wallet id and the address is the only thing to reconcile
                against. Chain travels with the asset inside `assetAmount`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                virtualAccountId:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
                wireReceive:
                  oneOf:
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - us
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        routingNumber:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - routingNumber
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - swift
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - sepa
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - uk
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        sortCode:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - sortCode
                      additionalProperties: false
                  description: >-
                    Receiving wire-instruction context: which Conduit bank
                    account + rail the inbound deposit landed in. Captured at
                    deposit-detect time.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - virtualAccountId
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit virtual account on one side of a transaction.
                `wireReceive` is destination-only — it carries the receiving
                wire instructions on fiat inbound deposits where the VA received
                the wire. Always absent when the VA is a source (conversions /
                fiat withdrawals).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_crypto
                address:
                  type: string
                txHash:
                  type: string
                memo:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - text
                        value:
                          type: string
                          minLength: 1
                      required:
                        - type
                        - value
                      additionalProperties: false
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - id
                        value:
                          type: string
                      required:
                        - type
                        - value
                      additionalProperties: false
                  description: >-
                    Destination memo (destination tag) for the receiving
                    account. Required by shared custodial addresses such as
                    exchanges. Only accepted on chains whose payments carry a
                    memo.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                An external on-chain counterparty: address plus optional
                settlement tx hash. Chain travels with the asset inside
                `assetAmount`. `memo` is the destination memo the payout was
                created with, when it carried one.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank
                rail:
                  description: >-
                    The payment network the payout was created with, as sent on
                    the request's `rail`. `recipient.rail` names the account
                    family the coordinates belong to (`us`, `swift`, `sepa`,
                    `uk_domestic`), not the network.
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                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
                recipient:
                  oneOf:
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - crypto
                        chain:
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - tron
                            - stellar
                            - tempo
                        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
                        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
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
                bankScheduledFor:
                  description: >-
                    The settlement date the sending bank last reported for this
                    payout, as a calendar date in the bank's own time zone.
                    Present only when the bank reports one, as on ACH. A date
                    later than the payout date means the bank moved the entry to
                    a later window; the payout, its rail and its obligation do
                    not change, so do not send it again.
                  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])))$
              required:
                - type
                - rail
                - recipient
                - assetAmount
              additionalProperties: false
              description: >-
                An external bank counterparty: the payment rail and rail context
                the payout was created with (`rail`, `ach`, `swift`, `instant`),
                the recipient details, plus any real wire settlement references
                (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace, RTP, FedNow).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_inbound
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the deposit arrived on (fedwire, ach,
                    rtp, fednow, swift, sepa, faster_payments, chaps), or null
                    when not known. Always present. Independent of the wire
                    reference fields, which may be absent.
                  nullable: true
                sender:
                  type: object
                  properties:
                    name:
                      description: Name of the sending account holder.
                      type: string
                    country:
                      description: >-
                        Country of the sending account holder, ISO 3166-1
                        alpha-2.
                      type: string
                      enum:
                        - AF
                        - AL
                        - DZ
                        - AS
                        - AD
                        - AO
                        - AI
                        - AQ
                        - AG
                        - AR
                        - AM
                        - AW
                        - AU
                        - AT
                        - AZ
                        - BS
                        - BH
                        - BD
                        - BB
                        - BY
                        - BE
                        - BZ
                        - BJ
                        - BM
                        - BT
                        - BO
                        - BQ
                        - BA
                        - BW
                        - BV
                        - BR
                        - IO
                        - BN
                        - BG
                        - BF
                        - BI
                        - CV
                        - KH
                        - CM
                        - CA
                        - KY
                        - CF
                        - TD
                        - CL
                        - CN
                        - CX
                        - CC
                        - CO
                        - KM
                        - CG
                        - CD
                        - CK
                        - CR
                        - CI
                        - HR
                        - CU
                        - CW
                        - CY
                        - CZ
                        - DK
                        - DJ
                        - DM
                        - DO
                        - EC
                        - EG
                        - SV
                        - GQ
                        - ER
                        - EE
                        - SZ
                        - ET
                        - FK
                        - FO
                        - FJ
                        - FI
                        - FR
                        - GF
                        - PF
                        - TF
                        - GA
                        - GM
                        - GE
                        - DE
                        - GH
                        - GI
                        - GR
                        - GL
                        - GD
                        - GP
                        - GU
                        - GT
                        - GG
                        - GN
                        - GW
                        - GY
                        - HT
                        - HM
                        - VA
                        - HN
                        - HK
                        - HU
                        - IS
                        - IN
                        - ID
                        - IR
                        - IQ
                        - IE
                        - IM
                        - IL
                        - IT
                        - JM
                        - JP
                        - JE
                        - JO
                        - KZ
                        - KE
                        - KI
                        - KP
                        - KR
                        - KW
                        - KG
                        - LA
                        - LV
                        - LB
                        - LS
                        - LR
                        - LY
                        - LI
                        - LT
                        - LU
                        - MO
                        - MG
                        - MW
                        - MY
                        - MV
                        - ML
                        - MT
                        - MH
                        - MQ
                        - MR
                        - MU
                        - YT
                        - MX
                        - FM
                        - MD
                        - MC
                        - MN
                        - ME
                        - MS
                        - MA
                        - MZ
                        - MM
                        - NA
                        - NR
                        - NP
                        - NL
                        - NC
                        - NZ
                        - NI
                        - NE
                        - NG
                        - NU
                        - NF
                        - MK
                        - MP
                        - 'NO'
                        - OM
                        - PK
                        - PW
                        - PS
                        - PA
                        - PG
                        - PY
                        - PE
                        - PH
                        - PN
                        - PL
                        - PT
                        - PR
                        - QA
                        - RE
                        - RO
                        - RU
                        - RW
                        - BL
                        - SH
                        - KN
                        - LC
                        - MF
                        - PM
                        - VC
                        - WS
                        - SM
                        - ST
                        - SA
                        - SN
                        - RS
                        - SC
                        - SL
                        - SG
                        - SX
                        - SK
                        - SI
                        - SB
                        - SO
                        - ZA
                        - GS
                        - SS
                        - ES
                        - LK
                        - SD
                        - SR
                        - SJ
                        - SE
                        - CH
                        - SY
                        - TW
                        - TJ
                        - TZ
                        - TH
                        - TL
                        - TG
                        - TK
                        - TO
                        - TT
                        - TN
                        - TR
                        - TM
                        - TC
                        - TV
                        - UG
                        - UA
                        - AE
                        - GB
                        - US
                        - UM
                        - UY
                        - UZ
                        - VU
                        - VE
                        - VN
                        - VG
                        - VI
                        - WF
                        - EH
                        - YE
                        - ZM
                        - ZW
                    accountNumber:
                      description: Sending account number, when transmitted.
                      type: string
                    routingNumber:
                      description: US ABA routing number of the sending bank.
                      type: string
                    sortCode:
                      description: >-
                        UK sort code of the sending bank, as the sending bank
                        transmitted it, with spaces and hyphens stripped.
                      type: string
                    iban:
                      description: Sender IBAN, when transmitted.
                      type: string
                    bic:
                      description: BIC of the sending bank (ISO 9362).
                      type: string
                  additionalProperties: false
                  description: >-
                    Originator details on an inbound fiat deposit — what the
                    sending bank transmitted with the payment. Each field is
                    present only when provided.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - sender
                - assetAmount
              additionalProperties: false
              description: >-
                Inbound fiat deposit source: the external bank that originated
                the wire, with the originator details as provided by the sender
                bank, plus the payment network the deposit arrived on (`rail`,
                null when unknown) and any real settlement references the
                network exposed (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace). The
                wire reference fields are independent of `rail` and may be
                absent. The variant is emitted once any sender field is
                populated; before that, the source surfaces as
                `external_unknown`. A deposit delivered on-us from another
                account in the same organization is `internal_transfer` instead,
                even when the partner bank supplied sender details — there is no
                external originator to report.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_debit
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the bank pulled the money over (ach,
                    fedwire, ...), or null when not known. Always present.
                  nullable: true
                originator:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the party that pulled the money.
                    id:
                      description: The originator's identifier on the network, when sent.
                      type: string
                  required:
                    - name
                  additionalProperties: false
                secCode:
                  description: ACH Standard Entry Class code of the entry, e.g. CCD or WEB.
                  type: string
                description:
                  description: Entry description the originator sent with the debit.
                  type: string
                effectiveDate:
                  description: Date the originator asked the bank to settle the debit.
                  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])))$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - originator
                - assetAmount
              additionalProperties: false
              description: >-
                Destination of a withdrawal that Conduit did not start: a third
                party pulled the money from the customer's bank account, such as
                an ACH debit. It names the party that pulled it (`originator`)
                and the payment network (`rail`, null when unknown), plus any
                settlement reference the network exposed. Without an originator
                name the destination is `external_unknown`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - internal_transfer
                originatingTransactionId:
                  type: string
                  pattern: ^txn_[0-9A-Za-z]{22}$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - originatingTransactionId
                - assetAmount
              additionalProperties: false
              description: >-
                Source of a deposit that was delivered on-us from another
                Conduit account in the SAME organization — no external bank was
                involved. `originatingTransactionId` is the withdrawal
                transaction that sent it; fetch it for the sending side's own
                details. Emitted only when the organization owns both sides: an
                on-us delivery from another organization keeps the source it
                would otherwise have. Like `external_bank_inbound`, this variant
                resolves as the deposit is detected, which happens after the
                transaction is created — so on a first-pass run
                `transaction.created` carries `external_unknown`, while
                `transaction.completed` and every read carry the resolved
                source.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_unknown
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - assetAmount
              additionalProperties: false
              description: >-
                External counterparty whose details are not yet known (e.g.
                detected fiat deposit before sender info has been resolved).
          description: >-
            One side (source or destination) of a transaction. Discriminated by
            `type`.
        destination:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                walletId:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                txHash:
                  type: string
              required:
                - type
                - walletId
                - address
                - assetAmount
              additionalProperties: false
              description: A Conduit-custodied crypto wallet on one side of a transaction.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - deposit_address
                address:
                  type: string
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit-provided funding address — the address a
                deposit-funded order was funded at. Conduit owns and may rotate
                the wallet behind it without notice, so the side carries no
                wallet id and the address is the only thing to reconcile
                against. Chain travels with the asset inside `assetAmount`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                virtualAccountId:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
                wireReceive:
                  oneOf:
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - us
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        routingNumber:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - routingNumber
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - swift
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - sepa
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        bic:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - bic
                      additionalProperties: false
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - uk
                        bankName:
                          type: string
                          nullable: true
                        accountLast4:
                          type: string
                          nullable: true
                        sortCode:
                          type: string
                          nullable: true
                      required:
                        - rail
                        - bankName
                        - accountLast4
                        - sortCode
                      additionalProperties: false
                  description: >-
                    Receiving wire-instruction context: which Conduit bank
                    account + rail the inbound deposit landed in. Captured at
                    deposit-detect time.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - virtualAccountId
                - assetAmount
              additionalProperties: false
              description: >-
                A Conduit virtual account on one side of a transaction.
                `wireReceive` is destination-only — it carries the receiving
                wire instructions on fiat inbound deposits where the VA received
                the wire. Always absent when the VA is a source (conversions /
                fiat withdrawals).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_crypto
                address:
                  type: string
                txHash:
                  type: string
                memo:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - text
                        value:
                          type: string
                          minLength: 1
                      required:
                        - type
                        - value
                      additionalProperties: false
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - id
                        value:
                          type: string
                      required:
                        - type
                        - value
                      additionalProperties: false
                  description: >-
                    Destination memo (destination tag) for the receiving
                    account. Required by shared custodial addresses such as
                    exchanges. Only accepted on chains whose payments carry a
                    memo.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - address
                - assetAmount
              additionalProperties: false
              description: >-
                An external on-chain counterparty: address plus optional
                settlement tx hash. Chain travels with the asset inside
                `assetAmount`. `memo` is the destination memo the payout was
                created with, when it carried one.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank
                rail:
                  description: >-
                    The payment network the payout was created with, as sent on
                    the request's `rail`. `recipient.rail` names the account
                    family the coordinates belong to (`us`, `swift`, `sepa`,
                    `uk_domestic`), not the network.
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                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
                recipient:
                  oneOf:
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - us
                            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:
                            - accountNumber
                            - routingNumber
                            - accountType
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - swift
                            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:
                            - bic
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            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
                            rail:
                              type: string
                              enum:
                                - sepa
                            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:
                            - iban
                            - bic
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - oneOf:
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - firstName
                            - lastName
                            - postalAddress
                        - type: object
                          properties:
                            accountNumber:
                              type: string
                            sortCode:
                              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
                            rail:
                              type: string
                              enum:
                                - uk_domestic
                            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:
                            - accountNumber
                            - sortCode
                            - bankAddress
                            - rail
                            - type
                            - legalName
                            - postalAddress
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - crypto
                        chain:
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - tron
                            - stellar
                            - tempo
                        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
                        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
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
                bankScheduledFor:
                  description: >-
                    The settlement date the sending bank last reported for this
                    payout, as a calendar date in the bank's own time zone.
                    Present only when the bank reports one, as on ACH. A date
                    later than the payout date means the bank moved the entry to
                    a later window; the payout, its rail and its obligation do
                    not change, so do not send it again.
                  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])))$
              required:
                - type
                - rail
                - recipient
                - assetAmount
              additionalProperties: false
              description: >-
                An external bank counterparty: the payment rail and rail context
                the payout was created with (`rail`, `ach`, `swift`, `instant`),
                the recipient details, plus any real wire settlement references
                (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace, RTP, FedNow).
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_inbound
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the deposit arrived on (fedwire, ach,
                    rtp, fednow, swift, sepa, faster_payments, chaps), or null
                    when not known. Always present. Independent of the wire
                    reference fields, which may be absent.
                  nullable: true
                sender:
                  type: object
                  properties:
                    name:
                      description: Name of the sending account holder.
                      type: string
                    country:
                      description: >-
                        Country of the sending account holder, ISO 3166-1
                        alpha-2.
                      type: string
                      enum:
                        - AF
                        - AL
                        - DZ
                        - AS
                        - AD
                        - AO
                        - AI
                        - AQ
                        - AG
                        - AR
                        - AM
                        - AW
                        - AU
                        - AT
                        - AZ
                        - BS
                        - BH
                        - BD
                        - BB
                        - BY
                        - BE
                        - BZ
                        - BJ
                        - BM
                        - BT
                        - BO
                        - BQ
                        - BA
                        - BW
                        - BV
                        - BR
                        - IO
                        - BN
                        - BG
                        - BF
                        - BI
                        - CV
                        - KH
                        - CM
                        - CA
                        - KY
                        - CF
                        - TD
                        - CL
                        - CN
                        - CX
                        - CC
                        - CO
                        - KM
                        - CG
                        - CD
                        - CK
                        - CR
                        - CI
                        - HR
                        - CU
                        - CW
                        - CY
                        - CZ
                        - DK
                        - DJ
                        - DM
                        - DO
                        - EC
                        - EG
                        - SV
                        - GQ
                        - ER
                        - EE
                        - SZ
                        - ET
                        - FK
                        - FO
                        - FJ
                        - FI
                        - FR
                        - GF
                        - PF
                        - TF
                        - GA
                        - GM
                        - GE
                        - DE
                        - GH
                        - GI
                        - GR
                        - GL
                        - GD
                        - GP
                        - GU
                        - GT
                        - GG
                        - GN
                        - GW
                        - GY
                        - HT
                        - HM
                        - VA
                        - HN
                        - HK
                        - HU
                        - IS
                        - IN
                        - ID
                        - IR
                        - IQ
                        - IE
                        - IM
                        - IL
                        - IT
                        - JM
                        - JP
                        - JE
                        - JO
                        - KZ
                        - KE
                        - KI
                        - KP
                        - KR
                        - KW
                        - KG
                        - LA
                        - LV
                        - LB
                        - LS
                        - LR
                        - LY
                        - LI
                        - LT
                        - LU
                        - MO
                        - MG
                        - MW
                        - MY
                        - MV
                        - ML
                        - MT
                        - MH
                        - MQ
                        - MR
                        - MU
                        - YT
                        - MX
                        - FM
                        - MD
                        - MC
                        - MN
                        - ME
                        - MS
                        - MA
                        - MZ
                        - MM
                        - NA
                        - NR
                        - NP
                        - NL
                        - NC
                        - NZ
                        - NI
                        - NE
                        - NG
                        - NU
                        - NF
                        - MK
                        - MP
                        - 'NO'
                        - OM
                        - PK
                        - PW
                        - PS
                        - PA
                        - PG
                        - PY
                        - PE
                        - PH
                        - PN
                        - PL
                        - PT
                        - PR
                        - QA
                        - RE
                        - RO
                        - RU
                        - RW
                        - BL
                        - SH
                        - KN
                        - LC
                        - MF
                        - PM
                        - VC
                        - WS
                        - SM
                        - ST
                        - SA
                        - SN
                        - RS
                        - SC
                        - SL
                        - SG
                        - SX
                        - SK
                        - SI
                        - SB
                        - SO
                        - ZA
                        - GS
                        - SS
                        - ES
                        - LK
                        - SD
                        - SR
                        - SJ
                        - SE
                        - CH
                        - SY
                        - TW
                        - TJ
                        - TZ
                        - TH
                        - TL
                        - TG
                        - TK
                        - TO
                        - TT
                        - TN
                        - TR
                        - TM
                        - TC
                        - TV
                        - UG
                        - UA
                        - AE
                        - GB
                        - US
                        - UM
                        - UY
                        - UZ
                        - VU
                        - VE
                        - VN
                        - VG
                        - VI
                        - WF
                        - EH
                        - YE
                        - ZM
                        - ZW
                    accountNumber:
                      description: Sending account number, when transmitted.
                      type: string
                    routingNumber:
                      description: US ABA routing number of the sending bank.
                      type: string
                    sortCode:
                      description: >-
                        UK sort code of the sending bank, as the sending bank
                        transmitted it, with spaces and hyphens stripped.
                      type: string
                    iban:
                      description: Sender IBAN, when transmitted.
                      type: string
                    bic:
                      description: BIC of the sending bank (ISO 9362).
                      type: string
                  additionalProperties: false
                  description: >-
                    Originator details on an inbound fiat deposit — what the
                    sending bank transmitted with the payment. Each field is
                    present only when provided.
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - sender
                - assetAmount
              additionalProperties: false
              description: >-
                Inbound fiat deposit source: the external bank that originated
                the wire, with the originator details as provided by the sender
                bank, plus the payment network the deposit arrived on (`rail`,
                null when unknown) and any real settlement references the
                network exposed (Fedwire IMAD/OMAD, SWIFT UETR, ACH trace). The
                wire reference fields are independent of `rail` and may be
                absent. The variant is emitted once any sender field is
                populated; before that, the source surfaces as
                `external_unknown`. A deposit delivered on-us from another
                account in the same organization is `internal_transfer` instead,
                even when the partner bank supplied sender details — there is no
                external originator to report.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_bank_debit
                rail:
                  type: string
                  enum:
                    - fedwire
                    - rtp
                    - fednow
                    - ach
                    - ach_same_day
                    - swift
                    - sepa
                    - faster_payments
                    - chaps
                    - null
                  description: >-
                    The payment network the bank pulled the money over (ach,
                    fedwire, ...), or null when not known. Always present.
                  nullable: true
                originator:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the party that pulled the money.
                    id:
                      description: The originator's identifier on the network, when sent.
                      type: string
                  required:
                    - name
                  additionalProperties: false
                secCode:
                  description: ACH Standard Entry Class code of the entry, e.g. CCD or WEB.
                  type: string
                description:
                  description: Entry description the originator sent with the debit.
                  type: string
                effectiveDate:
                  description: Date the originator asked the bank to settle the debit.
                  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])))$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
                fedwireImad:
                  type: string
                fedwireOmad:
                  type: string
                swiftUetr:
                  type: string
                achTraceNumber:
                  type: string
                rtpTransactionId:
                  type: string
                fedNowMessageId:
                  type: string
              required:
                - type
                - rail
                - originator
                - assetAmount
              additionalProperties: false
              description: >-
                Destination of a withdrawal that Conduit did not start: a third
                party pulled the money from the customer's bank account, such as
                an ACH debit. It names the party that pulled it (`originator`)
                and the payment network (`rail`, null when unknown), plus any
                settlement reference the network exposed. Without an originator
                name the destination is `external_unknown`.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - internal_transfer
                originatingTransactionId:
                  type: string
                  pattern: ^txn_[0-9A-Za-z]{22}$
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - originatingTransactionId
                - assetAmount
              additionalProperties: false
              description: >-
                Source of a deposit that was delivered on-us from another
                Conduit account in the SAME organization — no external bank was
                involved. `originatingTransactionId` is the withdrawal
                transaction that sent it; fetch it for the sending side's own
                details. Emitted only when the organization owns both sides: an
                on-us delivery from another organization keeps the source it
                would otherwise have. Like `external_bank_inbound`, this variant
                resolves as the deposit is detected, which happens after the
                transaction is created — so on a first-pass run
                `transaction.created` carries `external_unknown`, while
                `transaction.completed` and every read carry the resolved
                source.
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - external_unknown
                assetAmount:
                  type: object
                  properties:
                    code:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CHF
                        - JPY
                        - CAD
                        - AUD
                        - NZD
                        - SGD
                        - HKD
                        - CNY
                        - KRW
                        - INR
                        - BRL
                        - MXN
                        - ARS
                        - CLP
                        - COP
                        - PEN
                        - ZAR
                        - NGN
                        - KES
                        - GHS
                        - EGP
                        - AED
                        - SAR
                        - ILS
                        - TRY
                        - PLN
                        - CZK
                        - HUF
                        - SEK
                        - NOK
                        - DKK
                        - THB
                        - IDR
                        - MYR
                        - PHP
                        - VND
                        - TWD
                        - USDC
                        - USDT
                        - DAI
                        - EURC
                        - PYUSD
                        - OUSD
                        - BTC
                        - ETH
                        - SOL
                        - TRX
                        - XLM
                        - POL
                      description: Asset code (USDC, USD, etc.)
                    chain:
                      description: Chain when the asset is on-chain; omitted for fiat.
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - tron
                        - stellar
                        - tempo
                    amount:
                      type: string
                      description: Decimal string, asset-precision rounded
                  required:
                    - code
                    - amount
                  additionalProperties: false
              required:
                - type
                - assetAmount
              additionalProperties: false
              description: >-
                External counterparty whose details are not yet known (e.g.
                detected fiat deposit before sender info has been resolved).
          description: >-
            One side (source or destination) of a transaction. Discriminated by
            `type`.
        fees:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                  - fixed
              assetAmount:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - USD
                      - EUR
                      - GBP
                      - CHF
                      - JPY
                      - CAD
                      - AUD
                      - NZD
                      - SGD
                      - HKD
                      - CNY
                      - KRW
                      - INR
                      - BRL
                      - MXN
                      - ARS
                      - CLP
                      - COP
                      - PEN
                      - ZAR
                      - NGN
                      - KES
                      - GHS
                      - EGP
                      - AED
                      - SAR
                      - ILS
                      - TRY
                      - PLN
                      - CZK
                      - HUF
                      - SEK
                      - NOK
                      - DKK
                      - THB
                      - IDR
                      - MYR
                      - PHP
                      - VND
                      - TWD
                      - USDC
                      - USDT
                      - DAI
                      - EURC
                      - PYUSD
                      - OUSD
                      - BTC
                      - ETH
                      - SOL
                      - TRX
                      - XLM
                      - POL
                    description: Asset code (USDC, USD, etc.)
                  chain:
                    description: Chain when the asset is on-chain; omitted for fiat.
                    type: string
                    enum:
                      - ethereum
                      - base
                      - solana
                      - polygon
                      - tron
                      - stellar
                      - tempo
                  amount:
                    type: string
                    description: Decimal string, asset-precision rounded
                required:
                  - code
                  - amount
                additionalProperties: false
              owner:
                type: string
                enum:
                  - conduit
                  - you
                description: >-
                  Who this charge belongs to. `conduit` is Conduit's own fee.
                  `you` is the margin you declared on this transaction, which
                  Conduit collects from your customer and accrues to you; it is
                  your revenue, not a Conduit charge.
            required:
              - type
              - assetAmount
              - owner
        createdAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        completedAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        failureCode:
          type: string
          enum:
            - user_signature_timeout
            - user_signature_expired
            - user_signature_declined
            - user_signature_rejected_by_provider
            - crypto_wallet_misconfigured
            - compliance_hold
            - compliance_review_rejected
            - compliance_rejected
            - returned_by_sender
            - rail_policy_rejected
            - insufficient_funds
            - insufficient_funds_at_settle
            - rail_unavailable
            - sender_info_timeout
            - travel_rule_rejected
            - provider_rejected
            - chain_broadcast_failed
            - roster_changed
            - insufficient_onchain_balance
            - source_account_unavailable
        failureMessage:
          description: >-
            Conduit's own wording for `failureCode`: the public error catalog
            text for the code, or the generic failure text when there is no
            code. The same text as `failureMessage` on the `transaction.failed`
            webhook. It never carries text from a bank, a chain or a sandbox
            simulator `reason`.
          type: string
        cancelledAt:
          description: >-
            ISO-8601 timestamp when the transaction was cancelled. Present only
            on `status: cancelled`.
          type: string
          format: date-time
          example: '2026-01-15T09:30:00.000Z'
        cancellationReason:
          description: >-
            Machine-readable cancellation reason. `client_cancelled` when the
            client called `POST /v2/payouts/:id/cancel`; `expired` is reserved.
            Omitted on non-cancelled rows. Mirrors `orders.cancellationReason`.
          type: string
          enum:
            - expired
            - client_cancelled
        linkedOrderId:
          type: string
          pattern: ^ord_[0-9A-Za-z]{22}$
        purpose:
          description: >-
            The business purpose declared at payout creation. Drives compliance
            gating: intercompany requires a whitelisted recipient of the
            customer or its group; personal_transfer_of_funds requires the
            customer's own whitelisted account; prefunding requires a customer's
            issued account; other values require supporting documentation.
          type: string
          enum:
            - intercompany
            - treasury_management
            - payment_for_goods_or_services
            - payroll
            - investments
            - other
            - prefunding
            - purchase_of_goods
            - rent
            - loan_payment
            - personal_transfer_of_funds
            - gift
            - bill_payment
            - charity
            - tax_payment
            - person_to_person_transfer
        purposeDescription:
          description: >-
            The customer's own words for the payment. Omitted when none was
            sent, and on the transaction list: read the single transaction to
            get it.
          type: string
        hasRfi:
          type: boolean
          description: >-
            True when at least one published (non-draft, non-cancelled) RFI
            targets this transaction. Always present; derived at read time, no
            stored column.
        rfiId:
          description: >-
            The most recently published such RFI — usually the one `stage`
            refers to, but a later unrelated RFI on the same transaction takes
            this slot instead. Omitted (never `null`) when `hasRfi` is false.
          type: string
          pattern: ^rfi_[0-9A-Za-z]{22}$
        remittance:
          description: >-
            The free-text reference the payer supplied on the payout, fiat or
            crypto. On a transfer between two of the customer's own wallets the
            same value reads on both halves: the withdrawal that sent it and the
            deposit that credits it.
          type: object
          properties:
            reference:
              type: string
            description:
              type: string
        swiftUetr:
          description: >-
            The UETR of the fiat leg — the ISO 20022 unique end-to-end
            transaction reference. Present whenever the payment carried one,
            including on a deposit whose `source` is still `external_unknown`
            because the sender has not resolved. The side that carries wire
            references repeats it — `destination.swiftUetr` on a payout,
            `source.swiftUetr` on a deposit — but not every side does, which is
            why it reads here as well. A Fedwire message carries a UETR too, so
            its presence does not mean the payment travelled on SWIFT. Omitted
            (never `null`) when the rail supplied none.
          type: string
        type:
          type: string
          enum:
            - fiat_conversion
      required:
        - id
        - customerId
        - status
        - source
        - destination
        - fees
        - createdAt
        - hasRfi
        - type
      description: Client-facing view of a fiat-to-fiat conversion.
    ValidationErrorDto:
      type: object
      properties:
        type:
          type: string
          description: Machine-readable error code
          example: CUSTOMER_NOT_FOUND
        title:
          type: string
          description: Human-readable error type label
          example: Customer Not Found
        status:
          type: number
          description: HTTP status code
          example: 404
        detail:
          type: string
          description: Human-readable explanation of this occurrence
          example: Customer with id cus_034A0gCCVsxdV2PjHLx9k1 not found
        resolution:
          type: string
          description: What the developer should do to resolve this error
          example: >-
            Verify the customer ID. Check you are using the correct API key for
            this organization.
        docs:
          type: string
          description: URL to error documentation
          example: https://conduit-v2.mintlify.app/errors#customer-not-found
        instance:
          type: string
          description: Request path that produced the error
          example: /v2/customers/cus_034A0gCCVsxdV2PjHLx9k1
        correlationId:
          description: Request correlation ID
          example: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
          type: string
        timestamp:
          type: string
          description: ISO 8601 UTC timestamp
          example: '2026-04-27T20:00:00.000Z'
        details:
          description: >-
            Additional structured data for domain-specific errors (e.g. missing
            field lists, pair info)
        errors:
          type: array
          items:
            type: object
            properties:
              pointer:
                type: string
                description: JSON pointer to the invalid field
                example: /email
              detail:
                type: string
                description: What is wrong with this field
                example: Invalid email format
              allowedValues:
                description: The values this field accepts, when it is a closed set
                example:
                  - ach
                  - fedwire
                  - rtp
                type: array
                items:
                  type: string
              category:
                description: >-
                  Class of blocker (requirements-validator output only). 'field'
                  = form-field gap, 'document' = missing or insufficient
                  document (including per-UBO document slots), 'individual' =
                  required person missing.
                example: field
                type: string
                enum:
                  - field
                  - document
                  - individual
            required:
              - pointer
              - detail
      required:
        - type
        - title
        - status
        - detail
        - resolution
        - docs
        - instance
        - timestamp
    ProblemDetailDto:
      type: object
      properties:
        type:
          type: string
          description: Machine-readable error code
          example: CUSTOMER_NOT_FOUND
        title:
          type: string
          description: Human-readable error type label
          example: Customer Not Found
        status:
          type: number
          description: HTTP status code
          example: 404
        detail:
          type: string
          description: Human-readable explanation of this occurrence
          example: Customer with id cus_034A0gCCVsxdV2PjHLx9k1 not found
        resolution:
          type: string
          description: What the developer should do to resolve this error
          example: >-
            Verify the customer ID. Check you are using the correct API key for
            this organization.
        docs:
          type: string
          description: URL to error documentation
          example: https://conduit-v2.mintlify.app/errors#customer-not-found
        instance:
          type: string
          description: Request path that produced the error
          example: /v2/customers/cus_034A0gCCVsxdV2PjHLx9k1
        correlationId:
          description: Request correlation ID
          example: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
          type: string
        timestamp:
          type: string
          description: ISO 8601 UTC timestamp
          example: '2026-04-27T20:00:00.000Z'
        details:
          description: >-
            Additional structured data for domain-specific errors (e.g. missing
            field lists, pair info)
      required:
        - type
        - title
        - status
        - detail
        - resolution
        - docs
        - instance
        - timestamp
    RateLimitedErrorDto:
      type: object
      properties:
        type:
          type: string
          description: Machine-readable error code
          example: CUSTOMER_NOT_FOUND
        title:
          type: string
          description: Human-readable error type label
          example: Customer Not Found
        status:
          type: number
          description: HTTP status code
          example: 404
        detail:
          type: string
          description: Human-readable explanation of this occurrence
          example: Customer with id cus_034A0gCCVsxdV2PjHLx9k1 not found
        resolution:
          type: string
          description: What the developer should do to resolve this error
          example: >-
            Verify the customer ID. Check you are using the correct API key for
            this organization.
        docs:
          type: string
          description: URL to error documentation
          example: https://conduit-v2.mintlify.app/errors#customer-not-found
        instance:
          type: string
          description: Request path that produced the error
          example: /v2/customers/cus_034A0gCCVsxdV2PjHLx9k1
        correlationId:
          description: Request correlation ID
          example: 00469ea4-52c1-4ffa-bd05-9f28b236a5fe
          type: string
        timestamp:
          type: string
          description: ISO 8601 UTC timestamp
          example: '2026-04-27T20:00:00.000Z'
        details:
          description: >-
            Additional structured data for domain-specific errors (e.g. missing
            field lists, pair info)
        retryAfterSeconds:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          maximum: 9007199254740991
          description: Seconds to wait before retrying
          example: 3
      required:
        - type
        - title
        - status
        - detail
        - resolution
        - docs
        - instance
        - timestamp
        - retryAfterSeconds
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: x-api-key

````

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