---
title: "Get transfer by ID"
method: GET
path: "/v1/transfers/{id}"
tags: ["Transfers"]
---

# Get transfer by ID

`GET /v1/transfers/{id}`

Retrieve a transfer by ID with optional expansion of related resources.

Use the `expand` query parameter to include full objects instead of just IDs:
- `sourceAccount`: Include full source account details
- `destinationAccount`: Include full destination account details
- `counterparty`: Include full counterparty details (for third-party transfers)
- `documents`: Include document IDs (included by default)

Multiple expansions can be requested: `?expand=sourceAccount,destinationAccount,counterparty`

## Path parameters

- `id` string, required

## Query parameters

- `expand` string[]
- `includeInternal` boolean

## Headers

- `X-API-Key` string

## Response `200`

Transfer retrieved successfully

- TransferDetailResponseDto
  - `id` string, required — Transfer ID (tfr_xxx)
  - `organizationId` string, required — Organization ID
  - `clientReferenceId` string, nullable — Client's internal reference ID
  - `sourceCustomerId` string, required — Source customer ID
  - `counterpartyId` string, nullable — Counterparty ID for third-party recipient transfers
  - `flow` 'CRYPTO_TO_CRYPTO' | 'CRYPTO_TO_FIAT' | 'FIAT_TO_CRYPTO' | 'FIAT_TO_FIAT' | 'FIAT_TO_CRYPTO_TO_FIAT' | 'FX' | 'INTERNAL' | 'FEE_CRYPTO' | 'REFUND_CRYPTO' | 'REFUND_FIAT', required — Transfer flow type describing the asset conversion
  - `status` 'DRAFT' | 'PENDING_AUTHORIZATION' | 'IN_REVIEW' | 'PENDING' | 'PROCESSING' | 'COMPLETED' | 'FAILED' | 'CANCELLED' | 'REVERSED', required — Transfer status
  - `source` TransferSourceResponseDto, required
    - `currency` string, required — Source currency code
    - `fundingCurrency` string, nullable — Asset the transfer was funded with when it differs from the settlement currency (e.g. a stablecoin deposit settled as fiat at face value)
    - `paymentRail` string, required — Source payment rail
    - `direction` 'CREDIT' | 'DEBIT', nullable — ACH direction when the source rail is ACH
    - `accountId` string, nullable — Account ID if applicable
    - `accountType` 'VIRTUAL_BANK' | 'VIRTUAL_WALLET' | 'INFINITE_BANK' | 'INFINITE_WALLET' | 'EXTERNAL_BANK' | 'EXTERNAL_WALLET' | 'EXTERNAL_PROXY' | 'PROVIDER_BALANCE', nullable — Account type for quick filtering
    - `externalAccountId` string, nullable — External account ID if applicable
    - `fromAddress` string, nullable — Source wallet address (for crypto sources)
    - `refundAccountId` string, nullable — Customer wallet account ID (inw_xxx or ewa_xxx) that receives refunds for failed crypto transfers or when fees exceed deposit
    - `accountName` string, nullable — Account holder name
  - `destination` TransferDestinationResponseDto, required
    - `currency` string, required — Destination currency code
    - `paymentRail` string, required — Destination payment rail
    - `accountId` string, nullable — Account ID if applicable
    - `accountType` 'VIRTUAL_BANK' | 'VIRTUAL_WALLET' | 'INFINITE_BANK' | 'INFINITE_WALLET' | 'EXTERNAL_BANK' | 'EXTERNAL_WALLET' | 'EXTERNAL_PROXY' | 'PROVIDER_BALANCE', nullable — Account type for quick filtering
    - `externalAccountId` string, nullable — External account ID if applicable
    - `toAddress` string, nullable — Destination wallet address (for crypto destinations)
    - `accountName` string, nullable — Account holder name
    - `wireMessage` string, nullable — Wire message if applicable
    - `achReference` string, nullable — ACH reference if applicable
    - `swiftReference` string, nullable — SWIFT reference if applicable
    - `rtpReference` string, nullable — RTP reference if applicable
    - `payoutReference` string, nullable — Payment reference that appears on the recipient bank statement, for fiat payouts. Populated once the payout has been initiated.
  - `sourceAmount` MoneyOutputDto, required
    - `currency` string, required — Currency code
    - `exponent` number, required — Number of decimal places for this currency (e.g., 2 for USD, 6 for USDC)
    - `value` string, required — Amount in smallest unit as a string
    - `displayValue` string, required — Human-readable decimal value
  - `destinationAmount` MoneyOutputDto
    - `currency` string, required — Currency code
    - `exponent` number, required — Number of decimal places for this currency (e.g., 2 for USD, 6 for USDC)
    - `value` string, required — Amount in smallest unit as a string
    - `displayValue` string, required — Human-readable decimal value
  - `refund` TransferRefundResponseDto
    - `status` 'INITIATED' | 'COMPLETED', required — Current refund status
    - `reason` string, nullable — Reason the transfer was refunded
    - `amount` MoneyOutputDto
      - `currency` string, required — Currency code
      - `exponent` number, required — Number of decimal places for this currency (e.g., 2 for USD, 6 for USDC)
      - `value` string, required — Amount in smallest unit as a string
      - `displayValue` string, required — Human-readable decimal value
    - `address` string, nullable — Destination address used for the refund
    - `txHash` string, nullable — Refund transaction hash
    - `initiatedAt` string, date-time, nullable — When the refund was initiated
    - `completedAt` string, date-time, nullable — When the refund completed
  - `quoteId` string, nullable — Quote ID if transfer was created from a quote
  - `exchangeRate` string, nullable — Exchange rate applied to the currency conversion, inclusive of all fees. Expressed on minor-unit amounts: destinationAmount = sourceAmount * exchangeRate. Populated for FX trades.
  - `developerFeeFixed` string, nullable — Fixed developer fee in minor units of source currency. Prefer the `developerFee` object, which also carries the collected amount and payout hash.
  - `developerFeePercent` number, nullable — Variable developer fee as decimal percentage (e.g., 0.005 = 0.5%). Prefer the `developerFee` object, which also carries the collected amount and payout hash.
  - `developerFee` TransferDeveloperFeeDto
    - `amount` MoneyOutputDto
      - `currency` string, required — Currency code
      - `exponent` number, required — Number of decimal places for this currency (e.g., 2 for USD, 6 for USDC)
      - `value` string, required — Amount in smallest unit as a string
      - `displayValue` string, required — Human-readable decimal value
    - `fixed` string, nullable — Configured fixed fee component, in minor units of the source currency.
    - `percent` number, nullable — Configured variable fee component as a decimal fraction (e.g., 0.005 = 0.5%).
    - `txHash` string, nullable — Transaction hash of the on-chain movement that paid the fee out to your configured fee wallet. Shared with the payout hash when the fee was split atomically in the same transaction. Null when the fee settled without a dedicated on-chain hop.
  - `depositInstructions` union — Deposit instructions if customer needs to send funds (onramps). Either crypto or fiat instructions depending on the transfer flow.
    - CryptoDepositInstructionsDto
      - `type` string, required — Instruction type
      - `paymentRail` string, required — Payment rail (blockchain)
      - `toAddress` string, required — Destination wallet address
      - `amount` MoneyOutputDto, required
        - `currency` string, required — Currency code
        - `exponent` number, required — Number of decimal places for this currency (e.g., 2 for USD, 6 for USDC)
        - `value` string, required — Amount in smallest unit as a string
        - `displayValue` string, required — Human-readable decimal value
      - `blockchainMemo` string, nullable — Blockchain memo (for chains that require it)
      - `accountId` string, nullable — Account ID for the deposit destination
    - FiatDepositInstructionsDto
      - `type` string, required — Instruction type
      - `paymentRail` string, required — Payment rail
      - `direction` 'CREDIT' | 'DEBIT', nullable — ACH direction when the funding instructions are ACH-specific
      - `amount` MoneyOutputDto, required
        - `currency` string, required — Currency code
        - `exponent` number, required — Number of decimal places for this currency (e.g., 2 for USD, 6 for USDC)
        - `value` string, required — Amount in smallest unit as a string
        - `displayValue` string, required — Human-readable decimal value
      - `bankName` string, nullable — Bank name
      - `bankAddress` BankAddressDto
        - `addressLine1` string — Address line 1 (optional for bank addresses)
        - `addressLine2` string — Address line 2 (apartment, suite, etc.)
        - `city` string — City
        - `state` string — State / Province
        - `postalCode` string — Postal code / ZIP code (optional for bank addresses)
        - `country` string — Country code (ISO 3166-2)
      - `accountNumber` string, nullable — Account number
      - `routingNumber` string, nullable — Routing number (US)
      - `beneficiaryName` string, nullable — Beneficiary name
      - `beneficiaryAddress` BankAddressDto
        - `addressLine1` string — Address line 1 (optional for bank addresses)
        - `addressLine2` string — Address line 2 (apartment, suite, etc.)
        - `city` string — City
        - `state` string — State / Province
        - `postalCode` string — Postal code / ZIP code (optional for bank addresses)
        - `country` string — Country code (ISO 3166-2)
      - `iban` string, nullable — IBAN (international)
      - `swiftBic` string, nullable — SWIFT/BIC code
      - `depositMessage` string, nullable — Deposit message/reference to include in the transfer
      - `clabe` string, nullable — CLABE (Mexico)
      - `accountId` string, nullable — Account ID for the deposit destination
  - `createdAt` string, date-time, required — Transfer creation date
  - `updatedAt` string, date-time, required — Transfer last update date
  - `legs` TransferStepDto[], required — Transfer route legs (steps in the transfer)
    - `id` string, required — Step ID
    - `sequence` number, required — Sequence in the route (0-indexed)
    - `type` 'DEPOSIT_CRYPTO' | 'DEPOSIT_FIAT' | 'ONRAMP' | 'CONVERT' | 'OFFRAMP' | 'CRYPTO_TRANSFER' | 'BRIDGE' | 'OUTBOUND_TOP_UP' | 'INBOUND_TOP_UP' | 'REFUND_CRYPTO' | 'REFUND_FIAT' | 'LIQUIDITY_ADVANCE', required — Step type
    - `inputCurrency` string, required — Input currency
    - `outputCurrency` string, required — Output currency
    - `inputRail` string, required — Input rail
    - `outputRail` string, required — Output rail
    - `status` 'PENDING' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED' | 'SKIPPED', required — Step status
    - `startedAt` string, date-time, nullable — When the step started processing
    - `completedAt` string, date-time, nullable — When the step completed
    - `uetr` string, nullable — SWIFT UETR (Universal End-to-End Transaction Reference)
    - `imad` string, nullable — Wire IMAD (Input Message Accountability Data)
    - `omad` string, nullable — Wire OMAD (Output Message Accountability Data)
    - `achTraceNumber` string, nullable — ACH trace number from the payment network
    - `txHash` string, nullable — Blockchain transaction hash. Populated for on-chain customer wallet movements: crypto deposits, crypto sends to the destination wallet, and crypto refunds. Null for internal settlement steps.
    - `developerFee` MoneyOutputDto
      - `currency` string, required — Currency code
      - `exponent` number, required — Number of decimal places for this currency (e.g., 2 for USD, 6 for USDC)
      - `value` string, required — Amount in smallest unit as a string
      - `displayValue` string, required — Human-readable decimal value
    - `feeTxHash` string, nullable — Transaction hash of the on-chain movement that paid this step's developer fee to your configured fee wallet. Matches txHash when the fee was split atomically in the same transaction; null when the fee settled without a dedicated on-chain hop.
  - `currentLegIndex` number, nullable — Index of the current active leg in the legs array (0-indexed). Null if all legs are done.
  - `fundingNeeded` boolean, required — Whether the transfer is waiting for the customer to send funds (deposit)
  - `isThirdParty` boolean — Whether this is a third-party payment (destination account belongs to someone other than the customer)
  - `remarks` string, nullable — Free-form remarks or notes about the transfer
  - `internalRemarks` string, nullable — Internal remarks visible only within your organization. Never forwarded to payment rails or counterparties.
  - `uetr` string, nullable — SWIFT UETR (Universal End-to-End Transaction Reference)
  - `imad` string, nullable — Wire IMAD (Input Message Accountability Data)
  - `omad` string, nullable — Wire OMAD (Output Message Accountability Data)
  - `achTraceNumber` string, nullable — ACH trace number from the payment network
  - `txHash` string, nullable — Blockchain transaction hash
  - `systemRemark` string, nullable — System-generated status note with important transfer context for the customer
  - `metadata` object — Additional non-contractual transfer metadata for UI display
  - `estimatedSettlementAt` string, date-time, nullable — Estimated time the recipient will receive funds. Best-effort projection — fiat rails account for bank cutoff times, weekends, and US Federal Reserve holidays; crypto conversions project from recently observed processing times for the route. Not a guarantee.
  - `nextCutoffAt` string, date-time, nullable — Next time the customer can submit and still settle same business day. Past this time, transfers settle next business day.
  - `cutoffTimezone` string, nullable — IANA timezone for the cutoff time, e.g. "America/New_York".
  - `counterparty` CounterpartyResponseDto
    - `id` string, required — Counterparty ID
    - `name` string, required — Counterparty legal name
    - `beneficiaryType` 'INDIVIDUAL' | 'BUSINESS', required — Entity type (individual or business)
    - `address` AddressDto
      - `addressLine1` string, required — Address line 1
      - `addressLine2` string — Address line 2 (apartment, suite, etc.)
      - `city` string, required — City
      - `state` string — State / Province
      - `postalCode` string, required — Postal code / ZIP code. May be empty for countries without a postal-code system, including the United Arab Emirates.
      - `country` string, required — Country code (ISO 3166-2)
      - `transliterated` TransliteratedAddressDto
        - `addressLine1` string — Transliterated address line 1 (Latin characters)
        - `addressLine2` string — Transliterated address line 2 (Latin characters)
        - `city` string — Transliterated city (Latin characters)
        - `state` string — Transliterated state/province (Latin characters)
    - `createdAt` string, date-time, required — Creation timestamp
    - `updatedAt` string, date-time, required — Last update timestamp
  - `correspondentBank` CorrespondentBankDto
    - `name` string, nullable — Bank name
    - `swiftCode` string, nullable — SWIFT/BIC code
    - `accountNumber` string, nullable — Account number
  - `documentIds` string[] — IDs of documents associated with this transfer
  - `sourceAccount` AccountResponseDto
    - `id` string, required — Account ID (vba_xxx for virtual bank, vwa_xxx for virtual wallet, inb_xxx for infinite bank, inw_xxx for infinite wallet, eba_xxx for external bank, ewa_xxx for external wallet, pba_xxx for provider balance)
    - `customerId` string, required — Customer ID
    - `type` 'VIRTUAL_BANK' | 'VIRTUAL_WALLET' | 'INFINITE_BANK' | 'INFINITE_WALLET' | 'EXTERNAL_BANK' | 'EXTERNAL_WALLET' | 'EXTERNAL_PROXY' | 'PROVIDER_BALANCE', required — Account type
    - `externalReference` string — Client-provided external reference for mapping to your system
    - `bankDetails` object — Bank account details (for bank accounts)
      - `accountNumber` string
      - `routingNumber` string
      - `iban` string
      - `swiftCode` string
      - `bankName` string
      - `bankCountryCode` string
      - `bankAddress` object
        - `addressLine1` string
        - `addressLine2` string
        - `city` string
        - `state` string
        - `postalCode` string
        - `country` string
      - `beneficiaryName` string
      - `beneficiaryPhone` string
      - `beneficiaryAddress` object
        - `addressLine1` string
        - `addressLine2` string
        - `city` string
        - `state` string
        - `postalCode` string
        - `country` string
      - `supportedNetworks` string[] — Payment rails this account supports for payouts. Reflects the rails stored on the account; the API picks the actual routing provider per customer approvals at transfer time.
    - `walletDetails` object — Wallet details (for wallet accounts)
      - `walletAddress` string
      - `addressType` 'EVM' | 'TRON' | 'BITCOIN' | 'SOLANA'
      - `chains` string[]
      - `walletType` 'TREASURY' | 'TRANSACTION' | 'VIRTUAL' — Wallet type (for infinite wallets only)
    - `status` 'IN_REVIEW' | 'ACTIVE' | 'CLOSED', required — Account status
    - `currencyCodes` string[] — Currency codes supported by this account
    - `virtualBankAccount` object — Virtual bank account details
      - `id` string
      - `depositInstructions` object
        - `bankName` string
        - `bankAddress` object
          - `addressLine1` string
          - `addressLine2` string
          - `city` string
          - `state` string
          - `postalCode` string
          - `country` string
        - `accountNumber` string
        - `routingNumber` string
        - `iban` string
        - `swiftBic` string
        - `bankCountryCode` string
        - `beneficiaryName` string
      - `developerFeeFixed` string
      - `developerFeePercent` number
      - `sourceRail` string
      - `sourceCurrency` string
      - `destinationRail` string
      - `destinationCurrency` string
      - `sweepTargetAccountId` string
      - `originCapable` boolean
      - `originAccountId` string
    - `virtualWallet` object — Virtual wallet details (also known as liquidation addresses)
      - `id` string
      - `state` 'ACTIVE' | 'DEACTIVATED'
      - `destinationCurrency` string
      - `destinationRail` string
      - `sweepTargetAccountId` string
      - `originCapable` boolean
      - `originAccountId` string
    - `proxyDetails` object — Proxy account details (for proxy/alias-based accounts like PIX, UPI, PromptPay)
      - `aliasType` 'PHONE' | 'EMAIL' | 'NATIONAL_ID' | 'TAX_ID' | 'RANDOM' | 'CORPORATE_ID'
      - `aliasValue` string
      - `paymentRail` string
      - `beneficiaryName` string
      - `beneficiaryType` 'INDIVIDUAL' | 'BUSINESS'
    - `isThirdParty` boolean — Is this account owned by a third party?
    - `counterpartyId` string, nullable — Counterparty ID when this is a third-party recipient account
    - `referenceId` string — Client-provided reference ID
    - `originCapable` boolean, nullable — Whether this account can be used as the canonical transfer origin.
    - `originAccountId` string, nullable — Canonical origin account ID when this account is a virtual alias.
    - `metadata` AccountMetadataDto
      - `nickname` string — Account nickname
      - `purpose` string — Account purpose
      - `tags` string[] — Account tags
    - `createdAt` string, date-time, required — Account creation date
    - `updatedAt` string, date-time, required — Account last update date
    - `created` boolean — Whether this account was newly created in this request. Returns false if an existing account was returned (idempotent behavior).
    - `holdsBalance` boolean — Present and true when this is a balance account (USD or stablecoin). Deposits credit the account instead of being swept, and the balance can fund transfers. See GET /v1/accounts/{id}/balance.
    - `paymentRail` string — Payment rail for provider balance accounts (e.g. ETHEREUM). Omitted for other account types.
    - `lastSentAt` string, date-time, nullable — Timestamp of the last transfer sent from this account
    - `lastReceivedAt` string, date-time, nullable — Timestamp of the last transfer received to this account
    - `customer` CustomerResponseDto
      - `id` string, required — Customer ID
      - `customerName` string, required — Customer name
      - `organizationId` string, required — Organization ID
      - `type` 'INDIVIDUAL' | 'BUSINESS', required — Customer type
      - `status` 'DRAFT' | 'IN_REVIEW' | 'NEED_ACTIONS' | 'REJECTED' | 'ACTIVE' | 'INACTIVE' | 'SUSPENDED', required — Customer status
      - `email` string — Customer email address
      - `countryCode` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BR' | 'BS' | 'BT' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'EU' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' — Country code (ISO 3166-2)
      - `imageUrl` string — Customer image URL
      - `requestedCapabilities` string[], nullable — Capabilities requested by the customer
      - `createdAt` string, date-time, required — Customer creation date
      - `updatedAt` string, date-time, required — Customer last update date
      - `customerDetails` union — Customer details with transliteration support. For INDIVIDUAL customers: - firstName, lastName, middleName - transliteratedFirstName, transliteratedMiddleName, transliteratedLastName - dateOfBirth, phone, occupation, sourceOfIncome For BUSINESS customers: - businessName, tradeName, businessType, taxIdentificationNumber - website, industry, email, phone Verification and EDD-specific fields are submitted separately through the verification endpoints.
        - IndividualDetailsDto
          - `firstName` string — First name
          - `lastName` string — Last name
          - `middleName` string — Middle name
          - `transliteratedFirstName` string — Transliterated first name (Latin characters). Required when firstName contains non-Latin characters (Chinese, Arabic, Cyrillic, etc.).
          - `transliteratedMiddleName` string — Transliterated middle name (Latin characters). Required when middleName contains non-Latin characters.
          - `transliteratedLastName` string — Transliterated last name (Latin characters). Required when lastName contains non-Latin characters.
          - `dateOfBirth` string — Date of birth in ISO 8601 format (YYYY-MM-DD)
          - `nationality` string — Nationality (ISO 3166-2)
          - `phone` string — Phone number in E.164 format
          - `occupation` string — Occupation code
          - `employmentStatus` 'EMPLOYED' | 'SELF_EMPLOYED' | 'UNEMPLOYED' | 'STUDENT' | 'RETIRED' | 'HOMEMAKER' — Employment status
          - `sourceOfIncome` 'COMPANY_FUNDS' | 'ECOMMERCE_RESELLER' | 'GAMBLING_PROCEEDS' | 'GIFTS' | 'GOVERNMENT_BENEFITS' | 'INHERITANCE' | 'INVESTMENTS_LOANS' | 'PENSION_RETIREMENT' | 'SALARY' | 'SALE_OF_ASSETS_REAL_ESTATE' | 'SAVINGS' | 'SOMEONE_ELSES_FUNDS' — Source of income
          - `sourceOfFundsDescription` string — Source of funds description
        - BusinessDetailsDto
          - `businessName` string — Legal business name
          - `businessType` 'CORPORATION' | 'LLC' | 'PARTNERSHIP' | 'GEN_PARTNERSHIP' | 'LLP' | 'LP' | 'SOLE_PROPRIETORSHIP' | 'NON_PROFIT' | 'TRUST' | 'COOPERATIVE' | 'PRIVATE_LIMITED_COMPANY' | 'SPV' | 'JOINT_VENTURE' — Business legal structure
          - `taxIdentificationNumber` string — Tax identification number issued by the tax authority (e.g., EIN in the US, VAT number in EU). This is different from the business registration number. Validated against country-specific formats when countryCode is provided. Accepts NOT_APPLICABLE when no tax ID is available. If the value does not match the expected format, prefix with OVERRIDE: (e.g. OVERRIDE:12-3456789) to store it as-is. These should be used sparingly; missing or overridden tax IDs may trigger additional customer due diligence.
          - `website` string, uri — Business website URL
          - `industry` string — 6-digit NAICS industry classification code
          - `isCrypto` boolean — Set true if the business operates in crypto or digital assets.
          - `isRemoteCompany` boolean — Set true when the business operates remotely from an owner or director address.
          - `industryCryptoSubtype` 'PROTOCOL' | 'EXCHANGE' | 'INVESTMENT' | 'LENDER' | 'MARKET_MAKER' | 'SAAS' | 'MINER' — Crypto-specific industry subtype. Required when isCrypto is true.
          - `yearEstablished` number — Year the business was established
          - `numberOfEmployees` number — Number of employees
          - `tradeName` string — Business trade name (DBA). Separate multiple names with semicolons.
          - `description` string — Business description
          - `email` string, email — Business email address. Use an email on the company domain when available; personal email domains such as Gmail may require additional due diligence.
          - `phone` string — Business phone number in E.164 format
          - `registrationDate` string — Business registration date in ISO 8601 format (YYYY-MM-DD)
          - `registrationNumber` string — Business registration number issued by the state/authority when the business was registered (e.g., LLC filing number, corporation charter number). This is different from the tax identification number.
          - `hasMaterialIntermediaryOwnership` boolean — Whether the business has material intermediary ownership (25%+ owned by another entity)
          - `accountPurpose` 'PAYROLL' | 'VENDOR_PAYMENTS' | 'TREASURY' | 'OPERATIONS' | 'CAPITAL_DEPLOYMENT' | 'CROSS_BORDER_PAYMENTS' | 'STABLECOIN_CONVERSION' | 'ECOMMERCE' | 'OTHER' — Purpose of the account
          - `accountPurposeExplanation` string — Detailed explanation of account purpose
          - `sourceOfFunds` 'BUSINESS_REVENUE' | 'INVESTMENT' | 'OWNER_CAPITAL' | 'LOAN' | 'GRANTS' | 'EQUITY' | 'INHERITANCE' | 'GIFT' | 'OTHER' — Source of funds for the business
          - `sourceOfFundsDescription` string — Detailed description of source of funds
          - `estimatedAnnualRevenueUsd` 'PRE_REVENUE' | 'LESS_THAN_10K' | '10K_TO_50K' | '50K_TO_100K' | '100K_TO_500K' | '500K_TO_1M' | '1M_TO_5M' | '5M_TO_10M' | '10M_TO_50M' | '50M_TO_250M' | 'MORE_THAN_250M' | 'LESS_THAN_100K' — Estimated annual revenue in USD
          - `expectedMonthlyPaymentsUsd` number — Expected monthly fiat payment volume in USD-equivalent
          - `primaryTargetMarket` 'RETAIL' | 'COMMERCIAL' | 'GOVERNMENT' | 'OTHER' — Primary target market. RETAIL = B2C (consumers), COMMERCIAL = B2B (businesses), GOVERNMENT = B2G (government entities), OTHER = another market not covered by the standard options.
          - `operatesInProhibitedCountries` boolean — Whether the business operates in prohibited countries
          - `highRiskActivities` string[] — List of high-risk activities the business engages in
          - `highRiskActivitiesExplanation` string — Explanation of high-risk activities
          - `signedAgreementId` string — Signed agreement ID
      - `associatedEntities` AssociatedEntityResponseDto[] — Associated entities (beneficial owners and control persons) for business customers.
        - `id` string, required — Unique identifier
        - `createdAt` string, required — Created timestamp
        - `updatedAt` string, required — Last updated timestamp
        - `entityType` 'INDIVIDUAL' | 'BUSINESS', required — Type of entity
        - `parentEntityId` string — Parent entity ID for nested ownership. Use the associated business entity ID returned from the associated entity endpoints when linking a child owner beneath an intermediate business owner.
        - `details` union — Type-specific details (individual or business)
          - IndividualEntityDetailsDto
            - `firstName` string
            - `nickname` string
            - `lastName` string
            - `middleName` string
            - `dateOfBirth` string
            - `transliteratedFirstName` string
            - `transliteratedMiddleName` string
            - `transliteratedLastName` string
            - `taxIdentificationDocumentType` string
          - BusinessEntityDetailsDto
            - `businessName` string
            - `registrationNumber` string
            - `dateOfIncorporation` string
            - `businessAddress` AddressDto
              - …
        - `countryCode` string — Country code (ISO 3166-1 alpha-2)
        - `email` string — Email address
        - `phone` string — Phone number
        - `address` AddressDto
          - `addressLine1` string, required — Address line 1
          - `addressLine2` string — Address line 2 (apartment, suite, etc.)
          - `city` string, required — City
          - `state` string — State / Province
          - `postalCode` string, required — Postal code / ZIP code. May be empty for countries without a postal-code system, including the United Arab Emirates.
          - `country` string, required — Country code (ISO 3166-2)
          - `transliterated` TransliteratedAddressDto
            - `addressLine1` string — Transliterated address line 1 (Latin characters)
            - `addressLine2` string — Transliterated address line 2 (Latin characters)
            - `city` string — Transliterated city (Latin characters)
            - `state` string — Transliterated state/province (Latin characters)
        - `hasOwnership` boolean, required — Whether this entity is an owner. For an individual with indirect ownership whose percentage is not quantified, set this to true to identify them as a beneficial owner.
        - `hasControl` boolean, required — Has significant control
        - `ownershipPercentage` number — Ownership percentage
        - `isSigner` boolean — Has signing authority
        - `isDirector` boolean — Is a director
        - `role` 'CEO' | 'CFO' | 'COO' | 'PRESIDENT' | 'GENERAL_COUNSEL' | 'MANAGING_MEMBER' | 'TREASURER' | 'OTHER' — Structured role at the company.
        - `title` string — Custom title at the company.
        - `documents` string[] — Array of document IDs
        - `attestedOwnershipStructureAt` string — Timestamp when ownership structure was attested
        - `displayName` string — Display name
        - `verificationLink` VerificationLinkDto
          - `sessionId` string, required — Verification session ID
          - `verificationUrl` string, required — URL for the UBO to complete their verification
          - `expiresAt` string, required — When the verification link expires
          - `status` 'PENDING' | 'ACTIVE' | 'IN_PROGRESS' | 'COMPLETED' | 'EXPIRED' | 'CANCELLED' | 'SUBMITTED', required — Current status of the verification session
      - `addresses` CustomerAddressDto[] — Customer addresses. Each address must include addressLine1, city, postalCode, and country.
        - `addressLine1` string, required — Address line 1
        - `addressLine2` string — Address line 2 (apartment, suite, etc.)
        - `city` string, required — City
        - `state` string — State / Province
        - `postalCode` string, required — Postal code / ZIP code. May be empty for countries without a postal-code system, including the United Arab Emirates.
        - `country` string, required — Country code (ISO 3166-2)
        - `transliterated` TransliteratedAddressDto
          - `addressLine1` string — Transliterated address line 1 (Latin characters)
          - `addressLine2` string — Transliterated address line 2 (Latin characters)
          - `city` string — Transliterated city (Latin characters)
          - `state` string — Transliterated state/province (Latin characters)
        - `label` 'REGISTERED' | 'OPERATIONAL' | 'US_REGISTERED' | 'HEADQUARTERS' | 'BILLING' | 'SHIPPING' | 'HOME' | 'OFFICE' — Address label/type
        - `isDefault` boolean — Whether this is the default/primary address
      - `missingRequirements` MissingComplianceRequirementDto[] — Merged list of missing fields and documents required for full verification. Only populated when customer data is incomplete.
        - `requirementType` 'FIELD' | 'DOCUMENT', required — Requirement category
        - `key` string, required — Stable requirement key or field path
        - `displayName` string, required — Human-readable requirement label
        - `entityId` string — Associated entity ID when the missing requirement belongs to a beneficial owner or control person.
        - `entityDisplayName` string — Human-readable associated entity name when the missing requirement belongs to a beneficial owner or control person.
      - `accounts` array[], required
        - AccountResponseDto[] — Customer accounts (only included when expand=accounts). Returns all accounts for this customer.
      - `documents` DocumentResponseDto[] — Customer documents (only included when expand=documents). Returns all documents for this customer.
        - `id` string, required
        - `organizationId` string, required
        - `customerId` string, required
        - `transferId` string, nullable
        - `documentType` 'IDENTITY' | 'PROOF_OF_ADDRESS' | 'INVOICE' | 'CONTRACT' | 'BANK_STATEMENT' | 'BUSINESS_LICENSE' | 'ARTICLES_OF_INCORPORATION' | 'ARTICLES_OF_ASSOCIATION' | 'CERTIFICATE_OF_FORMATION' | 'CERTIFICATE_OF_INCUMBENCY' | 'OPERATING_AGREEMENT' | 'PARTNERSHIP_AGREEMENT' | 'OWNERSHIP_STRUCTURE' | 'SHAREHOLDER_AGREEMENT' | 'STOCK_CERTIFICATE' | 'TAX_RETURN' | 'FINANCIAL_STATEMENT' | 'MARKETING_MATERIALS' | 'DOMAIN_OWNERSHIP_PROOF' | 'BUSINESS_PLAN' | 'BILL_OF_LADING' | 'AML_POLICY' | 'AML_COMFORT_LETTER' | 'FUNDS_FLOW_DIAGRAM' | 'GOOD_STANDING_CERTIFICATE' | 'TIN_VERIFICATION' | 'MSB_LICENSE' | 'DIRECTORS_REGISTRY' | 'OWNERSHIP_CHART' | 'PROOF_OF_SIGNATORY_AUTHORITY' | 'PROOF_OF_SOURCE_OF_FUNDS' | 'PROOF_OF_ENTITY_NAME_CHANGE' | 'REMOTE_ADDRESS_ATTESTATION' | 'E_SIGNATURE_CERTIFICATE' | 'COMPLIANCE_NOTES' | 'PROOF_OF_SOURCE_OF_WEALTH' | 'TAX_EXEMPT_ENTITY_CONFIRMATION' | 'OTHER', required — Document type
        - `documentSubtype` string — Specific document subtype
        - `fileName` string, required
        - `contentType` string, required
        - `sizeBytes` number, required
        - `remarks` string, nullable — Free-form remarks or notes about the document
        - `fileHash` string, nullable — SHA-256 hash of file content
        - `downloadUrl` string — Signed URL to download the document
        - `status` 'PENDING' | 'UPLOADING' | 'UPLOADED' | 'FAILED', required — Document status
        - `createdAt` string, date-time, required
        - `uploadedAt` string, date-time, nullable
        - `associatedEntityId` string, nullable — Associated entity ID (e.g., UBO)
      - `treasury` CustomerTreasuryResponseDto
        - `customerId` string, required — Customer ID
        - `treasuries` TreasuryDto[], required — Customer treasuries with wallet balances
          - `id` string, required — Treasury ID
          - `name` string, nullable — Treasury name
          - `provider` 'BRALE' | 'BRIDGE' | 'CAPA' | 'CODEX' | 'EREBOR' | 'FIN' | 'INFINIA' | 'ONE_MONEY' | 'STABLES' | 'TURNKEY' | 'PRIVY' | 'INFINITE' | 'SOCURE' | 'SARDINE' — Provider backing this treasury
          - `balances` object, required — Balances held in this treasury keyed by currency code
          - `fundingMethods` TreasuryFundingMethodDto[], required — Funding methods that can pay into this treasury
            - `id` string, required — Funding method ID
            - `type` 'BANK_ACCOUNT' | 'CRYPTO_ADDRESS', required — Funding method type
            - `provider` 'BRALE' | 'BRIDGE' | 'CAPA' | 'CODEX' | 'EREBOR' | 'FIN' | 'INFINIA' | 'ONE_MONEY' | 'STABLES' | 'TURNKEY' | 'PRIVY' | 'INFINITE' | 'SOCURE' | 'SARDINE', required — Provider backing this treasury funding method
            - `currency` string — Primary currency accepted by this funding method
            - `currencyCodes` string[] — Currencies accepted by this funding method
            - `rail` string — Inbound payment rail or network
            - `rails` string[] — Supported inbound payment rails
            - `bankName` string — Bank name for bank funding methods
            - `beneficiaryName` string — Beneficiary name for bank funding methods
            - `accountNumber` string — Bank account number for bank funding methods
            - `routingNumber` string — Routing number for bank funding methods
            - `iban` string — IBAN for bank funding methods
            - `swiftBic` string — SWIFT/BIC code for bank funding methods
            - `address` string — Deposit address for crypto funding methods
            - `addressType` 'EVM' | 'TRON' | 'BITCOIN' | 'SOLANA' — Address type for crypto funding methods
            - `chains` string[] — Supported chains for crypto funding methods
          - `wallets` TreasuryWalletDto[], required — Wallets in this treasury
            - `address` string, required — Wallet address
            - `addressType` 'EVM' | 'TRON' | 'BITCOIN' | 'SOLANA', required — Address type
            - `balances` WalletTokenBalanceDto[], required — Token balances on this wallet
              - …
      - `verificationSessions` CustomerVerificationSessionResponseDto[] — Verification sessions (only included when expand=verificationSessions). Returns verification session summaries.
        - `id` string, required
        - `status` string, required
        - `createdAt` string, required
        - `completedAt` string, nullable
        - `progressPercentage` number, nullable
    - `sweepTargetAccount` AccountResponseDto — recursive
    - `counterparty` CounterpartyResponseDto
      - `id` string, required — Counterparty ID
      - `name` string, required — Counterparty legal name
      - `beneficiaryType` 'INDIVIDUAL' | 'BUSINESS', required — Entity type (individual or business)
      - `address` AddressDto
        - `addressLine1` string, required — Address line 1
        - `addressLine2` string — Address line 2 (apartment, suite, etc.)
        - `city` string, required — City
        - `state` string — State / Province
        - `postalCode` string, required — Postal code / ZIP code. May be empty for countries without a postal-code system, including the United Arab Emirates.
        - `country` string, required — Country code (ISO 3166-2)
        - `transliterated` TransliteratedAddressDto
          - `addressLine1` string — Transliterated address line 1 (Latin characters)
          - `addressLine2` string — Transliterated address line 2 (Latin characters)
          - `city` string — Transliterated city (Latin characters)
          - `state` string — Transliterated state/province (Latin characters)
      - `createdAt` string, date-time, required — Creation timestamp
      - `updatedAt` string, date-time, required — Last update timestamp
    - `screeningStatus` string, nullable
  - `destinationAccount` AccountResponseDto
    - `id` string, required — Account ID (vba_xxx for virtual bank, vwa_xxx for virtual wallet, inb_xxx for infinite bank, inw_xxx for infinite wallet, eba_xxx for external bank, ewa_xxx for external wallet, pba_xxx for provider balance)
    - `customerId` string, required — Customer ID
    - `type` 'VIRTUAL_BANK' | 'VIRTUAL_WALLET' | 'INFINITE_BANK' | 'INFINITE_WALLET' | 'EXTERNAL_BANK' | 'EXTERNAL_WALLET' | 'EXTERNAL_PROXY' | 'PROVIDER_BALANCE', required — Account type
    - `externalReference` string — Client-provided external reference for mapping to your system
    - `bankDetails` object — Bank account details (for bank accounts)
      - `accountNumber` string
      - `routingNumber` string
      - `iban` string
      - `swiftCode` string
      - `bankName` string
      - `bankCountryCode` string
      - `bankAddress` object
        - `addressLine1` string
        - `addressLine2` string
        - `city` string
        - `state` string
        - `postalCode` string
        - `country` string
      - `beneficiaryName` string
      - `beneficiaryPhone` string
      - `beneficiaryAddress` object
        - `addressLine1` string
        - `addressLine2` string
        - `city` string
        - `state` string
        - `postalCode` string
        - `country` string
      - `supportedNetworks` string[] — Payment rails this account supports for payouts. Reflects the rails stored on the account; the API picks the actual routing provider per customer approvals at transfer time.
    - `walletDetails` object — Wallet details (for wallet accounts)
      - `walletAddress` string
      - `addressType` 'EVM' | 'TRON' | 'BITCOIN' | 'SOLANA'
      - `chains` string[]
      - `walletType` 'TREASURY' | 'TRANSACTION' | 'VIRTUAL' — Wallet type (for infinite wallets only)
    - `status` 'IN_REVIEW' | 'ACTIVE' | 'CLOSED', required — Account status
    - `currencyCodes` string[] — Currency codes supported by this account
    - `virtualBankAccount` object — Virtual bank account details
      - `id` string
      - `depositInstructions` object
        - `bankName` string
        - `bankAddress` object
          - `addressLine1` string
          - `addressLine2` string
          - `city` string
          - `state` string
          - `postalCode` string
          - `country` string
        - `accountNumber` string
        - `routingNumber` string
        - `iban` string
        - `swiftBic` string
        - `bankCountryCode` string
        - `beneficiaryName` string
      - `developerFeeFixed` string
      - `developerFeePercent` number
      - `sourceRail` string
      - `sourceCurrency` string
      - `destinationRail` string
      - `destinationCurrency` string
      - `sweepTargetAccountId` string
      - `originCapable` boolean
      - `originAccountId` string
    - `virtualWallet` object — Virtual wallet details (also known as liquidation addresses)
      - `id` string
      - `state` 'ACTIVE' | 'DEACTIVATED'
      - `destinationCurrency` string
      - `destinationRail` string
      - `sweepTargetAccountId` string
      - `originCapable` boolean
      - `originAccountId` string
    - `proxyDetails` object — Proxy account details (for proxy/alias-based accounts like PIX, UPI, PromptPay)
      - `aliasType` 'PHONE' | 'EMAIL' | 'NATIONAL_ID' | 'TAX_ID' | 'RANDOM' | 'CORPORATE_ID'
      - `aliasValue` string
      - `paymentRail` string
      - `beneficiaryName` string
      - `beneficiaryType` 'INDIVIDUAL' | 'BUSINESS'
    - `isThirdParty` boolean — Is this account owned by a third party?
    - `counterpartyId` string, nullable — Counterparty ID when this is a third-party recipient account
    - `referenceId` string — Client-provided reference ID
    - `originCapable` boolean, nullable — Whether this account can be used as the canonical transfer origin.
    - `originAccountId` string, nullable — Canonical origin account ID when this account is a virtual alias.
    - `metadata` AccountMetadataDto
      - `nickname` string — Account nickname
      - `purpose` string — Account purpose
      - `tags` string[] — Account tags
    - `createdAt` string, date-time, required — Account creation date
    - `updatedAt` string, date-time, required — Account last update date
    - `created` boolean — Whether this account was newly created in this request. Returns false if an existing account was returned (idempotent behavior).
    - `holdsBalance` boolean — Present and true when this is a balance account (USD or stablecoin). Deposits credit the account instead of being swept, and the balance can fund transfers. See GET /v1/accounts/{id}/balance.
    - `paymentRail` string — Payment rail for provider balance accounts (e.g. ETHEREUM). Omitted for other account types.
    - `lastSentAt` string, date-time, nullable — Timestamp of the last transfer sent from this account
    - `lastReceivedAt` string, date-time, nullable — Timestamp of the last transfer received to this account
    - `customer` CustomerResponseDto
      - `id` string, required — Customer ID
      - `customerName` string, required — Customer name
      - `organizationId` string, required — Organization ID
      - `type` 'INDIVIDUAL' | 'BUSINESS', required — Customer type
      - `status` 'DRAFT' | 'IN_REVIEW' | 'NEED_ACTIONS' | 'REJECTED' | 'ACTIVE' | 'INACTIVE' | 'SUSPENDED', required — Customer status
      - `email` string — Customer email address
      - `countryCode` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BR' | 'BS' | 'BT' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'EU' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' — Country code (ISO 3166-2)
      - `imageUrl` string — Customer image URL
      - `requestedCapabilities` string[], nullable — Capabilities requested by the customer
      - `createdAt` string, date-time, required — Customer creation date
      - `updatedAt` string, date-time, required — Customer last update date
      - `customerDetails` union — Customer details with transliteration support. For INDIVIDUAL customers: - firstName, lastName, middleName - transliteratedFirstName, transliteratedMiddleName, transliteratedLastName - dateOfBirth, phone, occupation, sourceOfIncome For BUSINESS customers: - businessName, tradeName, businessType, taxIdentificationNumber - website, industry, email, phone Verification and EDD-specific fields are submitted separately through the verification endpoints.
        - IndividualDetailsDto
          - `firstName` string — First name
          - `lastName` string — Last name
          - `middleName` string — Middle name
          - `transliteratedFirstName` string — Transliterated first name (Latin characters). Required when firstName contains non-Latin characters (Chinese, Arabic, Cyrillic, etc.).
          - `transliteratedMiddleName` string — Transliterated middle name (Latin characters). Required when middleName contains non-Latin characters.
          - `transliteratedLastName` string — Transliterated last name (Latin characters). Required when lastName contains non-Latin characters.
          - `dateOfBirth` string — Date of birth in ISO 8601 format (YYYY-MM-DD)
          - `nationality` string — Nationality (ISO 3166-2)
          - `phone` string — Phone number in E.164 format
          - `occupation` string — Occupation code
          - `employmentStatus` 'EMPLOYED' | 'SELF_EMPLOYED' | 'UNEMPLOYED' | 'STUDENT' | 'RETIRED' | 'HOMEMAKER' — Employment status
          - `sourceOfIncome` 'COMPANY_FUNDS' | 'ECOMMERCE_RESELLER' | 'GAMBLING_PROCEEDS' | 'GIFTS' | 'GOVERNMENT_BENEFITS' | 'INHERITANCE' | 'INVESTMENTS_LOANS' | 'PENSION_RETIREMENT' | 'SALARY' | 'SALE_OF_ASSETS_REAL_ESTATE' | 'SAVINGS' | 'SOMEONE_ELSES_FUNDS' — Source of income
          - `sourceOfFundsDescription` string — Source of funds description
        - BusinessDetailsDto
          - `businessName` string — Legal business name
          - `businessType` 'CORPORATION' | 'LLC' | 'PARTNERSHIP' | 'GEN_PARTNERSHIP' | 'LLP' | 'LP' | 'SOLE_PROPRIETORSHIP' | 'NON_PROFIT' | 'TRUST' | 'COOPERATIVE' | 'PRIVATE_LIMITED_COMPANY' | 'SPV' | 'JOINT_VENTURE' — Business legal structure
          - `taxIdentificationNumber` string — Tax identification number issued by the tax authority (e.g., EIN in the US, VAT number in EU). This is different from the business registration number. Validated against country-specific formats when countryCode is provided. Accepts NOT_APPLICABLE when no tax ID is available. If the value does not match the expected format, prefix with OVERRIDE: (e.g. OVERRIDE:12-3456789) to store it as-is. These should be used sparingly; missing or overridden tax IDs may trigger additional customer due diligence.
          - `website` string, uri — Business website URL
          - `industry` string — 6-digit NAICS industry classification code
          - `isCrypto` boolean — Set true if the business operates in crypto or digital assets.
          - `isRemoteCompany` boolean — Set true when the business operates remotely from an owner or director address.
          - `industryCryptoSubtype` 'PROTOCOL' | 'EXCHANGE' | 'INVESTMENT' | 'LENDER' | 'MARKET_MAKER' | 'SAAS' | 'MINER' — Crypto-specific industry subtype. Required when isCrypto is true.
          - `yearEstablished` number — Year the business was established
          - `numberOfEmployees` number — Number of employees
          - `tradeName` string — Business trade name (DBA). Separate multiple names with semicolons.
          - `description` string — Business description
          - `email` string, email — Business email address. Use an email on the company domain when available; personal email domains such as Gmail may require additional due diligence.
          - `phone` string — Business phone number in E.164 format
          - `registrationDate` string — Business registration date in ISO 8601 format (YYYY-MM-DD)
          - `registrationNumber` string — Business registration number issued by the state/authority when the business was registered (e.g., LLC filing number, corporation charter number). This is different from the tax identification number.
          - `hasMaterialIntermediaryOwnership` boolean — Whether the business has material intermediary ownership (25%+ owned by another entity)
          - `accountPurpose` 'PAYROLL' | 'VENDOR_PAYMENTS' | 'TREASURY' | 'OPERATIONS' | 'CAPITAL_DEPLOYMENT' | 'CROSS_BORDER_PAYMENTS' | 'STABLECOIN_CONVERSION' | 'ECOMMERCE' | 'OTHER' — Purpose of the account
          - `accountPurposeExplanation` string — Detailed explanation of account purpose
          - `sourceOfFunds` 'BUSINESS_REVENUE' | 'INVESTMENT' | 'OWNER_CAPITAL' | 'LOAN' | 'GRANTS' | 'EQUITY' | 'INHERITANCE' | 'GIFT' | 'OTHER' — Source of funds for the business
          - `sourceOfFundsDescription` string — Detailed description of source of funds
          - `estimatedAnnualRevenueUsd` 'PRE_REVENUE' | 'LESS_THAN_10K' | '10K_TO_50K' | '50K_TO_100K' | '100K_TO_500K' | '500K_TO_1M' | '1M_TO_5M' | '5M_TO_10M' | '10M_TO_50M' | '50M_TO_250M' | 'MORE_THAN_250M' | 'LESS_THAN_100K' — Estimated annual revenue in USD
          - `expectedMonthlyPaymentsUsd` number — Expected monthly fiat payment volume in USD-equivalent
          - `primaryTargetMarket` 'RETAIL' | 'COMMERCIAL' | 'GOVERNMENT' | 'OTHER' — Primary target market. RETAIL = B2C (consumers), COMMERCIAL = B2B (businesses), GOVERNMENT = B2G (government entities), OTHER = another market not covered by the standard options.
          - `operatesInProhibitedCountries` boolean — Whether the business operates in prohibited countries
          - `highRiskActivities` string[] — List of high-risk activities the business engages in
          - `highRiskActivitiesExplanation` string — Explanation of high-risk activities
          - `signedAgreementId` string — Signed agreement ID
      - `associatedEntities` AssociatedEntityResponseDto[] — Associated entities (beneficial owners and control persons) for business customers.
        - `id` string, required — Unique identifier
        - `createdAt` string, required — Created timestamp
        - `updatedAt` string, required — Last updated timestamp
        - `entityType` 'INDIVIDUAL' | 'BUSINESS', required — Type of entity
        - `parentEntityId` string — Parent entity ID for nested ownership. Use the associated business entity ID returned from the associated entity endpoints when linking a child owner beneath an intermediate business owner.
        - `details` union — Type-specific details (individual or business)
          - IndividualEntityDetailsDto
            - `firstName` string
            - `nickname` string
            - `lastName` string
            - `middleName` string
            - `dateOfBirth` string
            - `transliteratedFirstName` string
            - `transliteratedMiddleName` string
            - `transliteratedLastName` string
            - `taxIdentificationDocumentType` string
          - BusinessEntityDetailsDto
            - `businessName` string
            - `registrationNumber` string
            - `dateOfIncorporation` string
            - `businessAddress` AddressDto
              - …
        - `countryCode` string — Country code (ISO 3166-1 alpha-2)
        - `email` string — Email address
        - `phone` string — Phone number
        - `address` AddressDto
          - `addressLine1` string, required — Address line 1
          - `addressLine2` string — Address line 2 (apartment, suite, etc.)
          - `city` string, required — City
          - `state` string — State / Province
          - `postalCode` string, required — Postal code / ZIP code. May be empty for countries without a postal-code system, including the United Arab Emirates.
          - `country` string, required — Country code (ISO 3166-2)
          - `transliterated` TransliteratedAddressDto
            - `addressLine1` string — Transliterated address line 1 (Latin characters)
            - `addressLine2` string — Transliterated address line 2 (Latin characters)
            - `city` string — Transliterated city (Latin characters)
            - `state` string — Transliterated state/province (Latin characters)
        - `hasOwnership` boolean, required — Whether this entity is an owner. For an individual with indirect ownership whose percentage is not quantified, set this to true to identify them as a beneficial owner.
        - `hasControl` boolean, required — Has significant control
        - `ownershipPercentage` number — Ownership percentage
        - `isSigner` boolean — Has signing authority
        - `isDirector` boolean — Is a director
        - `role` 'CEO' | 'CFO' | 'COO' | 'PRESIDENT' | 'GENERAL_COUNSEL' | 'MANAGING_MEMBER' | 'TREASURER' | 'OTHER' — Structured role at the company.
        - `title` string — Custom title at the company.
        - `documents` string[] — Array of document IDs
        - `attestedOwnershipStructureAt` string — Timestamp when ownership structure was attested
        - `displayName` string — Display name
        - `verificationLink` VerificationLinkDto
          - `sessionId` string, required — Verification session ID
          - `verificationUrl` string, required — URL for the UBO to complete their verification
          - `expiresAt` string, required — When the verification link expires
          - `status` 'PENDING' | 'ACTIVE' | 'IN_PROGRESS' | 'COMPLETED' | 'EXPIRED' | 'CANCELLED' | 'SUBMITTED', required — Current status of the verification session
      - `addresses` CustomerAddressDto[] — Customer addresses. Each address must include addressLine1, city, postalCode, and country.
        - `addressLine1` string, required — Address line 1
        - `addressLine2` string — Address line 2 (apartment, suite, etc.)
        - `city` string, required — City
        - `state` string — State / Province
        - `postalCode` string, required — Postal code / ZIP code. May be empty for countries without a postal-code system, including the United Arab Emirates.
        - `country` string, required — Country code (ISO 3166-2)
        - `transliterated` TransliteratedAddressDto
          - `addressLine1` string — Transliterated address line 1 (Latin characters)
          - `addressLine2` string — Transliterated address line 2 (Latin characters)
          - `city` string — Transliterated city (Latin characters)
          - `state` string — Transliterated state/province (Latin characters)
        - `label` 'REGISTERED' | 'OPERATIONAL' | 'US_REGISTERED' | 'HEADQUARTERS' | 'BILLING' | 'SHIPPING' | 'HOME' | 'OFFICE' — Address label/type
        - `isDefault` boolean — Whether this is the default/primary address
      - `missingRequirements` MissingComplianceRequirementDto[] — Merged list of missing fields and documents required for full verification. Only populated when customer data is incomplete.
        - `requirementType` 'FIELD' | 'DOCUMENT', required — Requirement category
        - `key` string, required — Stable requirement key or field path
        - `displayName` string, required — Human-readable requirement label
        - `entityId` string — Associated entity ID when the missing requirement belongs to a beneficial owner or control person.
        - `entityDisplayName` string — Human-readable associated entity name when the missing requirement belongs to a beneficial owner or control person.
      - `accounts` array[], required
        - AccountResponseDto[] — Customer accounts (only included when expand=accounts). Returns all accounts for this customer.
      - `documents` DocumentResponseDto[] — Customer documents (only included when expand=documents). Returns all documents for this customer.
        - `id` string, required
        - `organizationId` string, required
        - `customerId` string, required
        - `transferId` string, nullable
        - `documentType` 'IDENTITY' | 'PROOF_OF_ADDRESS' | 'INVOICE' | 'CONTRACT' | 'BANK_STATEMENT' | 'BUSINESS_LICENSE' | 'ARTICLES_OF_INCORPORATION' | 'ARTICLES_OF_ASSOCIATION' | 'CERTIFICATE_OF_FORMATION' | 'CERTIFICATE_OF_INCUMBENCY' | 'OPERATING_AGREEMENT' | 'PARTNERSHIP_AGREEMENT' | 'OWNERSHIP_STRUCTURE' | 'SHAREHOLDER_AGREEMENT' | 'STOCK_CERTIFICATE' | 'TAX_RETURN' | 'FINANCIAL_STATEMENT' | 'MARKETING_MATERIALS' | 'DOMAIN_OWNERSHIP_PROOF' | 'BUSINESS_PLAN' | 'BILL_OF_LADING' | 'AML_POLICY' | 'AML_COMFORT_LETTER' | 'FUNDS_FLOW_DIAGRAM' | 'GOOD_STANDING_CERTIFICATE' | 'TIN_VERIFICATION' | 'MSB_LICENSE' | 'DIRECTORS_REGISTRY' | 'OWNERSHIP_CHART' | 'PROOF_OF_SIGNATORY_AUTHORITY' | 'PROOF_OF_SOURCE_OF_FUNDS' | 'PROOF_OF_ENTITY_NAME_CHANGE' | 'REMOTE_ADDRESS_ATTESTATION' | 'E_SIGNATURE_CERTIFICATE' | 'COMPLIANCE_NOTES' | 'PROOF_OF_SOURCE_OF_WEALTH' | 'TAX_EXEMPT_ENTITY_CONFIRMATION' | 'OTHER', required — Document type
        - `documentSubtype` string — Specific document subtype
        - `fileName` string, required
        - `contentType` string, required
        - `sizeBytes` number, required
        - `remarks` string, nullable — Free-form remarks or notes about the document
        - `fileHash` string, nullable — SHA-256 hash of file content
        - `downloadUrl` string — Signed URL to download the document
        - `status` 'PENDING' | 'UPLOADING' | 'UPLOADED' | 'FAILED', required — Document status
        - `createdAt` string, date-time, required
        - `uploadedAt` string, date-time, nullable
        - `associatedEntityId` string, nullable — Associated entity ID (e.g., UBO)
      - `treasury` CustomerTreasuryResponseDto
        - `customerId` string, required — Customer ID
        - `treasuries` TreasuryDto[], required — Customer treasuries with wallet balances
          - `id` string, required — Treasury ID
          - `name` string, nullable — Treasury name
          - `provider` 'BRALE' | 'BRIDGE' | 'CAPA' | 'CODEX' | 'EREBOR' | 'FIN' | 'INFINIA' | 'ONE_MONEY' | 'STABLES' | 'TURNKEY' | 'PRIVY' | 'INFINITE' | 'SOCURE' | 'SARDINE' — Provider backing this treasury
          - `balances` object, required — Balances held in this treasury keyed by currency code
          - `fundingMethods` TreasuryFundingMethodDto[], required — Funding methods that can pay into this treasury
            - `id` string, required — Funding method ID
            - `type` 'BANK_ACCOUNT' | 'CRYPTO_ADDRESS', required — Funding method type
            - `provider` 'BRALE' | 'BRIDGE' | 'CAPA' | 'CODEX' | 'EREBOR' | 'FIN' | 'INFINIA' | 'ONE_MONEY' | 'STABLES' | 'TURNKEY' | 'PRIVY' | 'INFINITE' | 'SOCURE' | 'SARDINE', required — Provider backing this treasury funding method
            - `currency` string — Primary currency accepted by this funding method
            - `currencyCodes` string[] — Currencies accepted by this funding method
            - `rail` string — Inbound payment rail or network
            - `rails` string[] — Supported inbound payment rails
            - `bankName` string — Bank name for bank funding methods
            - `beneficiaryName` string — Beneficiary name for bank funding methods
            - `accountNumber` string — Bank account number for bank funding methods
            - `routingNumber` string — Routing number for bank funding methods
            - `iban` string — IBAN for bank funding methods
            - `swiftBic` string — SWIFT/BIC code for bank funding methods
            - `address` string — Deposit address for crypto funding methods
            - `addressType` 'EVM' | 'TRON' | 'BITCOIN' | 'SOLANA' — Address type for crypto funding methods
            - `chains` string[] — Supported chains for crypto funding methods
          - `wallets` TreasuryWalletDto[], required — Wallets in this treasury
            - `address` string, required — Wallet address
            - `addressType` 'EVM' | 'TRON' | 'BITCOIN' | 'SOLANA', required — Address type
            - `balances` WalletTokenBalanceDto[], required — Token balances on this wallet
              - …
      - `verificationSessions` CustomerVerificationSessionResponseDto[] — Verification sessions (only included when expand=verificationSessions). Returns verification session summaries.
        - `id` string, required
        - `status` string, required
        - `createdAt` string, required
        - `completedAt` string, nullable
        - `progressPercentage` number, nullable
    - `sweepTargetAccount` AccountResponseDto — recursive
    - `counterparty` CounterpartyResponseDto
      - `id` string, required — Counterparty ID
      - `name` string, required — Counterparty legal name
      - `beneficiaryType` 'INDIVIDUAL' | 'BUSINESS', required — Entity type (individual or business)
      - `address` AddressDto
        - `addressLine1` string, required — Address line 1
        - `addressLine2` string — Address line 2 (apartment, suite, etc.)
        - `city` string, required — City
        - `state` string — State / Province
        - `postalCode` string, required — Postal code / ZIP code. May be empty for countries without a postal-code system, including the United Arab Emirates.
        - `country` string, required — Country code (ISO 3166-2)
        - `transliterated` TransliteratedAddressDto
          - `addressLine1` string — Transliterated address line 1 (Latin characters)
          - `addressLine2` string — Transliterated address line 2 (Latin characters)
          - `city` string — Transliterated city (Latin characters)
          - `state` string — Transliterated state/province (Latin characters)
      - `createdAt` string, date-time, required — Creation timestamp
      - `updatedAt` string, date-time, required — Last update timestamp
    - `screeningStatus` string, nullable
  - `sourceCustomer` CustomerResponseDto
    - `id` string, required — Customer ID
    - `customerName` string, required — Customer name
    - `organizationId` string, required — Organization ID
    - `type` 'INDIVIDUAL' | 'BUSINESS', required — Customer type
    - `status` 'DRAFT' | 'IN_REVIEW' | 'NEED_ACTIONS' | 'REJECTED' | 'ACTIVE' | 'INACTIVE' | 'SUSPENDED', required — Customer status
    - `email` string — Customer email address
    - `countryCode` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BR' | 'BS' | 'BT' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'EU' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' — Country code (ISO 3166-2)
    - `imageUrl` string — Customer image URL
    - `requestedCapabilities` string[], nullable — Capabilities requested by the customer
    - `createdAt` string, date-time, required — Customer creation date
    - `updatedAt` string, date-time, required — Customer last update date
    - `customerDetails` union — Customer details with transliteration support. For INDIVIDUAL customers: - firstName, lastName, middleName - transliteratedFirstName, transliteratedMiddleName, transliteratedLastName - dateOfBirth, phone, occupation, sourceOfIncome For BUSINESS customers: - businessName, tradeName, businessType, taxIdentificationNumber - website, industry, email, phone Verification and EDD-specific fields are submitted separately through the verification endpoints.
      - IndividualDetailsDto
        - `firstName` string — First name
        - `lastName` string — Last name
        - `middleName` string — Middle name
        - `transliteratedFirstName` string — Transliterated first name (Latin characters). Required when firstName contains non-Latin characters (Chinese, Arabic, Cyrillic, etc.).
        - `transliteratedMiddleName` string — Transliterated middle name (Latin characters). Required when middleName contains non-Latin characters.
        - `transliteratedLastName` string — Transliterated last name (Latin characters). Required when lastName contains non-Latin characters.
        - `dateOfBirth` string — Date of birth in ISO 8601 format (YYYY-MM-DD)
        - `nationality` string — Nationality (ISO 3166-2)
        - `phone` string — Phone number in E.164 format
        - `occupation` string — Occupation code
        - `employmentStatus` 'EMPLOYED' | 'SELF_EMPLOYED' | 'UNEMPLOYED' | 'STUDENT' | 'RETIRED' | 'HOMEMAKER' — Employment status
        - `sourceOfIncome` 'COMPANY_FUNDS' | 'ECOMMERCE_RESELLER' | 'GAMBLING_PROCEEDS' | 'GIFTS' | 'GOVERNMENT_BENEFITS' | 'INHERITANCE' | 'INVESTMENTS_LOANS' | 'PENSION_RETIREMENT' | 'SALARY' | 'SALE_OF_ASSETS_REAL_ESTATE' | 'SAVINGS' | 'SOMEONE_ELSES_FUNDS' — Source of income
        - `sourceOfFundsDescription` string — Source of funds description
      - BusinessDetailsDto
        - `businessName` string — Legal business name
        - `businessType` 'CORPORATION' | 'LLC' | 'PARTNERSHIP' | 'GEN_PARTNERSHIP' | 'LLP' | 'LP' | 'SOLE_PROPRIETORSHIP' | 'NON_PROFIT' | 'TRUST' | 'COOPERATIVE' | 'PRIVATE_LIMITED_COMPANY' | 'SPV' | 'JOINT_VENTURE' — Business legal structure
        - `taxIdentificationNumber` string — Tax identification number issued by the tax authority (e.g., EIN in the US, VAT number in EU). This is different from the business registration number. Validated against country-specific formats when countryCode is provided. Accepts NOT_APPLICABLE when no tax ID is available. If the value does not match the expected format, prefix with OVERRIDE: (e.g. OVERRIDE:12-3456789) to store it as-is. These should be used sparingly; missing or overridden tax IDs may trigger additional customer due diligence.
        - `website` string, uri — Business website URL
        - `industry` string — 6-digit NAICS industry classification code
        - `isCrypto` boolean — Set true if the business operates in crypto or digital assets.
        - `isRemoteCompany` boolean — Set true when the business operates remotely from an owner or director address.
        - `industryCryptoSubtype` 'PROTOCOL' | 'EXCHANGE' | 'INVESTMENT' | 'LENDER' | 'MARKET_MAKER' | 'SAAS' | 'MINER' — Crypto-specific industry subtype. Required when isCrypto is true.
        - `yearEstablished` number — Year the business was established
        - `numberOfEmployees` number — Number of employees
        - `tradeName` string — Business trade name (DBA). Separate multiple names with semicolons.
        - `description` string — Business description
        - `email` string, email — Business email address. Use an email on the company domain when available; personal email domains such as Gmail may require additional due diligence.
        - `phone` string — Business phone number in E.164 format
        - `registrationDate` string — Business registration date in ISO 8601 format (YYYY-MM-DD)
        - `registrationNumber` string — Business registration number issued by the state/authority when the business was registered (e.g., LLC filing number, corporation charter number). This is different from the tax identification number.
        - `hasMaterialIntermediaryOwnership` boolean — Whether the business has material intermediary ownership (25%+ owned by another entity)
        - `accountPurpose` 'PAYROLL' | 'VENDOR_PAYMENTS' | 'TREASURY' | 'OPERATIONS' | 'CAPITAL_DEPLOYMENT' | 'CROSS_BORDER_PAYMENTS' | 'STABLECOIN_CONVERSION' | 'ECOMMERCE' | 'OTHER' — Purpose of the account
        - `accountPurposeExplanation` string — Detailed explanation of account purpose
        - `sourceOfFunds` 'BUSINESS_REVENUE' | 'INVESTMENT' | 'OWNER_CAPITAL' | 'LOAN' | 'GRANTS' | 'EQUITY' | 'INHERITANCE' | 'GIFT' | 'OTHER' — Source of funds for the business
        - `sourceOfFundsDescription` string — Detailed description of source of funds
        - `estimatedAnnualRevenueUsd` 'PRE_REVENUE' | 'LESS_THAN_10K' | '10K_TO_50K' | '50K_TO_100K' | '100K_TO_500K' | '500K_TO_1M' | '1M_TO_5M' | '5M_TO_10M' | '10M_TO_50M' | '50M_TO_250M' | 'MORE_THAN_250M' | 'LESS_THAN_100K' — Estimated annual revenue in USD
        - `expectedMonthlyPaymentsUsd` number — Expected monthly fiat payment volume in USD-equivalent
        - `primaryTargetMarket` 'RETAIL' | 'COMMERCIAL' | 'GOVERNMENT' | 'OTHER' — Primary target market. RETAIL = B2C (consumers), COMMERCIAL = B2B (businesses), GOVERNMENT = B2G (government entities), OTHER = another market not covered by the standard options.
        - `operatesInProhibitedCountries` boolean — Whether the business operates in prohibited countries
        - `highRiskActivities` string[] — List of high-risk activities the business engages in
        - `highRiskActivitiesExplanation` string — Explanation of high-risk activities
        - `signedAgreementId` string — Signed agreement ID
    - `associatedEntities` AssociatedEntityResponseDto[] — Associated entities (beneficial owners and control persons) for business customers.
      - `id` string, required — Unique identifier
      - `createdAt` string, required — Created timestamp
      - `updatedAt` string, required — Last updated timestamp
      - `entityType` 'INDIVIDUAL' | 'BUSINESS', required — Type of entity
      - `parentEntityId` string — Parent entity ID for nested ownership. Use the associated business entity ID returned from the associated entity endpoints when linking a child owner beneath an intermediate business owner.
      - `details` union — Type-specific details (individual or business)
        - IndividualEntityDetailsDto
          - `firstName` string
          - `nickname` string
          - `lastName` string
          - `middleName` string
          - `dateOfBirth` string
          - `transliteratedFirstName` string
          - `transliteratedMiddleName` string
          - `transliteratedLastName` string
          - `taxIdentificationDocumentType` string
        - BusinessEntityDetailsDto
          - `businessName` string
          - `registrationNumber` string
          - `dateOfIncorporation` string
          - `businessAddress` AddressDto
            - `addressLine1` string, required — Address line 1
            - `addressLine2` string — Address line 2 (apartment, suite, etc.)
            - `city` string, required — City
            - `state` string — State / Province
            - `postalCode` string, required — Postal code / ZIP code. May be empty for countries without a postal-code system, including the United Arab Emirates.
            - `country` string, required — Country code (ISO 3166-2)
            - `transliterated` TransliteratedAddressDto
              - …
      - `countryCode` string — Country code (ISO 3166-1 alpha-2)
      - `email` string — Email address
      - `phone` string — Phone number
      - `address` AddressDto
        - `addressLine1` string, required — Address line 1
        - `addressLine2` string — Address line 2 (apartment, suite, etc.)
        - `city` string, required — City
        - `state` string — State / Province
        - `postalCode` string, required — Postal code / ZIP code. May be empty for countries without a postal-code system, including the United Arab Emirates.
        - `country` string, required — Country code (ISO 3166-2)
        - `transliterated` TransliteratedAddressDto
          - `addressLine1` string — Transliterated address line 1 (Latin characters)
          - `addressLine2` string — Transliterated address line 2 (Latin characters)
          - `city` string — Transliterated city (Latin characters)
          - `state` string — Transliterated state/province (Latin characters)
      - `hasOwnership` boolean, required — Whether this entity is an owner. For an individual with indirect ownership whose percentage is not quantified, set this to true to identify them as a beneficial owner.
      - `hasControl` boolean, required — Has significant control
      - `ownershipPercentage` number — Ownership percentage
      - `isSigner` boolean — Has signing authority
      - `isDirector` boolean — Is a director
      - `role` 'CEO' | 'CFO' | 'COO' | 'PRESIDENT' | 'GENERAL_COUNSEL' | 'MANAGING_MEMBER' | 'TREASURER' | 'OTHER' — Structured role at the company.
      - `title` string — Custom title at the company.
      - `documents` string[] — Array of document IDs
      - `attestedOwnershipStructureAt` string — Timestamp when ownership structure was attested
      - `displayName` string — Display name
      - `verificationLink` VerificationLinkDto
        - `sessionId` string, required — Verification session ID
        - `verificationUrl` string, required — URL for the UBO to complete their verification
        - `expiresAt` string, required — When the verification link expires
        - `status` 'PENDING' | 'ACTIVE' | 'IN_PROGRESS' | 'COMPLETED' | 'EXPIRED' | 'CANCELLED' | 'SUBMITTED', required — Current status of the verification session
    - `addresses` CustomerAddressDto[] — Customer addresses. Each address must include addressLine1, city, postalCode, and country.
      - `addressLine1` string, required — Address line 1
      - `addressLine2` string — Address line 2 (apartment, suite, etc.)
      - `city` string, required — City
      - `state` string — State / Province
      - `postalCode` string, required — Postal code / ZIP code. May be empty for countries without a postal-code system, including the United Arab Emirates.
      - `country` string, required — Country code (ISO 3166-2)
      - `transliterated` TransliteratedAddressDto
        - `addressLine1` string — Transliterated address line 1 (Latin characters)
        - `addressLine2` string — Transliterated address line 2 (Latin characters)
        - `city` string — Transliterated city (Latin characters)
        - `state` string — Transliterated state/province (Latin characters)
      - `label` 'REGISTERED' | 'OPERATIONAL' | 'US_REGISTERED' | 'HEADQUARTERS' | 'BILLING' | 'SHIPPING' | 'HOME' | 'OFFICE' — Address label/type
      - `isDefault` boolean — Whether this is the default/primary address
    - `missingRequirements` MissingComplianceRequirementDto[] — Merged list of missing fields and documents required for full verification. Only populated when customer data is incomplete.
      - `requirementType` 'FIELD' | 'DOCUMENT', required — Requirement category
      - `key` string, required — Stable requirement key or field path
      - `displayName` string, required — Human-readable requirement label
      - `entityId` string — Associated entity ID when the missing requirement belongs to a beneficial owner or control person.
      - `entityDisplayName` string — Human-readable associated entity name when the missing requirement belongs to a beneficial owner or control person.
    - `accounts` array[], required
      - AccountResponseDto[] — Customer accounts (only included when expand=accounts). Returns all accounts for this customer.
        - `id` string, required — Account ID (vba_xxx for virtual bank, vwa_xxx for virtual wallet, inb_xxx for infinite bank, inw_xxx for infinite wallet, eba_xxx for external bank, ewa_xxx for external wallet, pba_xxx for provider balance)
        - `customerId` string, required — Customer ID
        - `type` 'VIRTUAL_BANK' | 'VIRTUAL_WALLET' | 'INFINITE_BANK' | 'INFINITE_WALLET' | 'EXTERNAL_BANK' | 'EXTERNAL_WALLET' | 'EXTERNAL_PROXY' | 'PROVIDER_BALANCE', required — Account type
        - `externalReference` string — Client-provided external reference for mapping to your system
        - `bankDetails` object — Bank account details (for bank accounts)
          - `accountNumber` string
          - `routingNumber` string
          - `iban` string
          - `swiftCode` string
          - `bankName` string
          - `bankCountryCode` string
          - `bankAddress` object
            - `addressLine1` string
            - `addressLine2` string
            - `city` string
            - `state` string
            - `postalCode` string
            - `country` string
          - `beneficiaryName` string
          - `beneficiaryPhone` string
          - `beneficiaryAddress` object
            - `addressLine1` string
            - `addressLine2` string
            - `city` string
            - `state` string
            - `postalCode` string
            - `country` string
          - `supportedNetworks` string[] — Payment rails this account supports for payouts. Reflects the rails stored on the account; the API picks the actual routing provider per customer approvals at transfer time.
        - `walletDetails` object — Wallet details (for wallet accounts)
          - `walletAddress` string
          - `addressType` 'EVM' | 'TRON' | 'BITCOIN' | 'SOLANA'
          - `chains` string[]
          - `walletType` 'TREASURY' | 'TRANSACTION' | 'VIRTUAL' — Wallet type (for infinite wallets only)
        - `status` 'IN_REVIEW' | 'ACTIVE' | 'CLOSED', required — Account status
        - `currencyCodes` string[] — Currency codes supported by this account
        - `virtualBankAccount` object — Virtual bank account details
          - `id` string
          - `depositInstructions` object
            - `bankName` string
            - `bankAddress` object
              - …
            - `accountNumber` string
            - `routingNumber` string
            - `iban` string
            - `swiftBic` string
            - `bankCountryCode` string
            - `beneficiaryName` string
          - `developerFeeFixed` string
          - `developerFeePercent` number
          - `sourceRail` string
          - `sourceCurrency` string
          - `destinationRail` string
          - `destinationCurrency` string
          - `sweepTargetAccountId` string
          - `originCapable` boolean
          - `originAccountId` string
        - `virtualWallet` object — Virtual wallet details (also known as liquidation addresses)
          - `id` string
          - `state` 'ACTIVE' | 'DEACTIVATED'
          - `destinationCurrency` string
          - `destinationRail` string
          - `sweepTargetAccountId` string
          - `originCapable` boolean
          - `originAccountId` string
        - `proxyDetails` object — Proxy account details (for proxy/alias-based accounts like PIX, UPI, PromptPay)
          - `aliasType` 'PHONE' | 'EMAIL' | 'NATIONAL_ID' | 'TAX_ID' | 'RANDOM' | 'CORPORATE_ID'
          - `aliasValue` string
          - `paymentRail` string
          - `beneficiaryName` string
          - `beneficiaryType` 'INDIVIDUAL' | 'BUSINESS'
        - `isThirdParty` boolean — Is this account owned by a third party?
        - `counterpartyId` string, nullable — Counterparty ID when this is a third-party recipient account
        - `referenceId` string — Client-provided reference ID
        - `originCapable` boolean, nullable — Whether this account can be used as the canonical transfer origin.
        - `originAccountId` string, nullable — Canonical origin account ID when this account is a virtual alias.
        - `metadata` AccountMetadataDto
          - `nickname` string — Account nickname
          - `purpose` string — Account purpose
          - `tags` string[] — Account tags
        - `createdAt` string, date-time, required — Account creation date
        - `updatedAt` string, date-time, required — Account last update date
        - `created` boolean — Whether this account was newly created in this request. Returns false if an existing account was returned (idempotent behavior).
        - `holdsBalance` boolean — Present and true when this is a balance account (USD or stablecoin). Deposits credit the account instead of being swept, and the balance can fund transfers. See GET /v1/accounts/{id}/balance.
        - `paymentRail` string — Payment rail for provider balance accounts (e.g. ETHEREUM). Omitted for other account types.
        - `lastSentAt` string, date-time, nullable — Timestamp of the last transfer sent from this account
        - `lastReceivedAt` string, date-time, nullable — Timestamp of the last transfer received to this account
        - `customer` CustomerResponseDto — recursive
        - `sweepTargetAccount` AccountResponseDto — recursive
        - `counterparty` CounterpartyResponseDto
          - `id` string, required — Counterparty ID
          - `name` string, required — Counterparty legal name
          - `beneficiaryType` 'INDIVIDUAL' | 'BUSINESS', required — Entity type (individual or business)
          - `address` AddressDto
            - `addressLine1` string, required — Address line 1
            - `addressLine2` string — Address line 2 (apartment, suite, etc.)
            - `city` string, required — City
            - `state` string — State / Province
            - `postalCode` string, required — Postal code / ZIP code. May be empty for countries without a postal-code system, including the United Arab Emirates.
            - `country` string, required — Country code (ISO 3166-2)
            - `transliterated` TransliteratedAddressDto
              - …
          - `createdAt` string, date-time, required — Creation timestamp
          - `updatedAt` string, date-time, required — Last update timestamp
        - `screeningStatus` string, nullable
    - `documents` DocumentResponseDto[] — Customer documents (only included when expand=documents). Returns all documents for this customer.
      - `id` string, required
      - `organizationId` string, required
      - `customerId` string, required
      - `transferId` string, nullable
      - `documentType` 'IDENTITY' | 'PROOF_OF_ADDRESS' | 'INVOICE' | 'CONTRACT' | 'BANK_STATEMENT' | 'BUSINESS_LICENSE' | 'ARTICLES_OF_INCORPORATION' | 'ARTICLES_OF_ASSOCIATION' | 'CERTIFICATE_OF_FORMATION' | 'CERTIFICATE_OF_INCUMBENCY' | 'OPERATING_AGREEMENT' | 'PARTNERSHIP_AGREEMENT' | 'OWNERSHIP_STRUCTURE' | 'SHAREHOLDER_AGREEMENT' | 'STOCK_CERTIFICATE' | 'TAX_RETURN' | 'FINANCIAL_STATEMENT' | 'MARKETING_MATERIALS' | 'DOMAIN_OWNERSHIP_PROOF' | 'BUSINESS_PLAN' | 'BILL_OF_LADING' | 'AML_POLICY' | 'AML_COMFORT_LETTER' | 'FUNDS_FLOW_DIAGRAM' | 'GOOD_STANDING_CERTIFICATE' | 'TIN_VERIFICATION' | 'MSB_LICENSE' | 'DIRECTORS_REGISTRY' | 'OWNERSHIP_CHART' | 'PROOF_OF_SIGNATORY_AUTHORITY' | 'PROOF_OF_SOURCE_OF_FUNDS' | 'PROOF_OF_ENTITY_NAME_CHANGE' | 'REMOTE_ADDRESS_ATTESTATION' | 'E_SIGNATURE_CERTIFICATE' | 'COMPLIANCE_NOTES' | 'PROOF_OF_SOURCE_OF_WEALTH' | 'TAX_EXEMPT_ENTITY_CONFIRMATION' | 'OTHER', required — Document type
      - `documentSubtype` string — Specific document subtype
      - `fileName` string, required
      - `contentType` string, required
      - `sizeBytes` number, required
      - `remarks` string, nullable — Free-form remarks or notes about the document
      - `fileHash` string, nullable — SHA-256 hash of file content
      - `downloadUrl` string — Signed URL to download the document
      - `status` 'PENDING' | 'UPLOADING' | 'UPLOADED' | 'FAILED', required — Document status
      - `createdAt` string, date-time, required
      - `uploadedAt` string, date-time, nullable
      - `associatedEntityId` string, nullable — Associated entity ID (e.g., UBO)
    - `treasury` CustomerTreasuryResponseDto
      - `customerId` string, required — Customer ID
      - `treasuries` TreasuryDto[], required — Customer treasuries with wallet balances
        - `id` string, required — Treasury ID
        - `name` string, nullable — Treasury name
        - `provider` 'BRALE' | 'BRIDGE' | 'CAPA' | 'CODEX' | 'EREBOR' | 'FIN' | 'INFINIA' | 'ONE_MONEY' | 'STABLES' | 'TURNKEY' | 'PRIVY' | 'INFINITE' | 'SOCURE' | 'SARDINE' — Provider backing this treasury
        - `balances` object, required — Balances held in this treasury keyed by currency code
        - `fundingMethods` TreasuryFundingMethodDto[], required — Funding methods that can pay into this treasury
          - `id` string, required — Funding method ID
          - `type` 'BANK_ACCOUNT' | 'CRYPTO_ADDRESS', required — Funding method type
          - `provider` 'BRALE' | 'BRIDGE' | 'CAPA' | 'CODEX' | 'EREBOR' | 'FIN' | 'INFINIA' | 'ONE_MONEY' | 'STABLES' | 'TURNKEY' | 'PRIVY' | 'INFINITE' | 'SOCURE' | 'SARDINE', required — Provider backing this treasury funding method
          - `currency` string — Primary currency accepted by this funding method
          - `currencyCodes` string[] — Currencies accepted by this funding method
          - `rail` string — Inbound payment rail or network
          - `rails` string[] — Supported inbound payment rails
          - `bankName` string — Bank name for bank funding methods
          - `beneficiaryName` string — Beneficiary name for bank funding methods
          - `accountNumber` string — Bank account number for bank funding methods
          - `routingNumber` string — Routing number for bank funding methods
          - `iban` string — IBAN for bank funding methods
          - `swiftBic` string — SWIFT/BIC code for bank funding methods
          - `address` string — Deposit address for crypto funding methods
          - `addressType` 'EVM' | 'TRON' | 'BITCOIN' | 'SOLANA' — Address type for crypto funding methods
          - `chains` string[] — Supported chains for crypto funding methods
        - `wallets` TreasuryWalletDto[], required — Wallets in this treasury
          - `address` string, required — Wallet address
          - `addressType` 'EVM' | 'TRON' | 'BITCOIN' | 'SOLANA', required — Address type
          - `balances` WalletTokenBalanceDto[], required — Token balances on this wallet
            - `currency` string, required — Currency symbol
            - `balance` MoneyOutputDto, required
              - …
            - `chain` string, required — Chain name
    - `verificationSessions` CustomerVerificationSessionResponseDto[] — Verification sessions (only included when expand=verificationSessions). Returns verification session summaries.
      - `id` string, required
      - `status` string, required
      - `createdAt` string, required
      - `completedAt` string, nullable
      - `progressPercentage` number, nullable

## Other responses

- `401` — Unauthorized - Invalid or missing authentication credentials

---

[API](https://skmtc.dev/infinite/apis/infinite-api.md) · [All operations](https://skmtc.dev/infinite/apis/infinite-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/infinite/infinite-api/revisions/5426f2706725/schema)
