Create an outbound crypto transfer. Creates the same Payment resource as POST /payments with rail: crypto, but with a crypto-native request schema.
Travel Rule (FATF Recommendation 16): For crypto transfers above jurisdictional thresholds (3,000 US), originator and beneficiary data must be provided via the travelRule field. EU and UK require travel rule data for ALL crypto transfers regardless of amount. Originator info is auto-populated from the customer’s entity record when omitted.
Networks: Specify the target blockchain via the network field. Supported chains: ethereum, solana, tron, base, polygon.
Confirmation tracking: The Payment response includes cryptoTransferStatus (pending_confirmation → confirmed or failed) to track on-chain confirmation.
API key issued at onboarding. Passed as a Bearer token in the Authorization header: Authorization: Bearer <api-key>. Identifies the caller and determines organization scope. Invalid or revoked keys return 401 with error type authentication_error.
Ed25519 or RSA-SHA256 asymmetric signature over the request payload (ADR-0015). Provides request integrity and non-repudiation. The signature covers the HTTP method, path, query string, request body, and timestamp. Invalid signatures return 401 with error type authentication_error.
Unix timestamp (seconds) of when the request was signed. Server rejects requests where the timestamp drifts beyond +/-60 seconds from server time to prevent replay attacks. Must match the timestamp used in the signature computation.
Idempotency key for this request. UUID v4 recommended. Max 128 characters. 24-hour retention. Same key + same body replays original response with Idempotency-Replayed: true. Same key + different body returns 409 (code: duplicate_idempotency_key). Same key while the original request is still processing returns 409 with a Retry-After header (code: idempotency_key_in_flight).
128"550e8400-e29b-41d4-a716-446655440000"
Rail-specific crypto payment creation. For crypto transfers, FATF Travel Rule data may be required depending on the jurisdiction and transfer amount. Originator info is auto-populated from the customer's entity record when omitted.
Account resource identifier.
^acc_[A-Za-z0-9]+$"acc_01953e1a5f4b7002"
Payment method resource identifier.
^pm_[A-Za-z0-9]+$"pm_01953e1a5f4b7300"
Crypto amount for request input. Value MUST be in smallest unit (e.g., for USDC with 6 decimals, "500000000" = 500.000000).
{
"asset": "USDC",
"value": "500000000",
"chain": "ethereum"
}Counterparty resource identifier.
^cpt_[A-Za-z0-9]+$"cpt_01953e1a5f4b7004"
FATF Travel Rule data. Required for crypto transfers above jurisdictional thresholds ($1,000 FATF/EU, $3,000 US). EU/UK require data for ALL transfers.
Consumer-defined key-value store. Available on all primary resources. Max 50 keys. Keys must match ^[a-zA-Z0-9_]{1,40}$. Values are strings (max 500 chars) or null.
Target blockchain network for the crypto payment.
ethereum, solana, base, ink, sui Crypto payment created.
An outbound payment instruction. Created via the unified POST /payments endpoint or rail-specific convenience endpoints. All create the same resource with the same status machine and webhook events.
Payment resource identifier.
^pmt_[A-Za-z0-9]+$"pmt_01953e1a5f4b7005"
Customer resource identifier.
^cus_[A-Za-z0-9]+$"cus_01953e1a5f4b7000"
External lifecycle status of a payment. Terminal states: completed, returned, reversed, refunded, failed, canceled.
created, requires_action, in_review, processing, completed, returned, reversed, refunded, failed, canceled Payment rail used for delivery.
ach, fedwire, swift, crypto, open UTC timestamp in RFC 3339 / ISO 8601 format.
"2026-02-23T12:00:00Z"
UTC timestamp in RFC 3339 / ISO 8601 format.
"2026-02-23T12:00:00Z"
Account resource identifier.
^acc_[A-Za-z0-9]+$"acc_01953e1a5f4b7002"
Counterparty resource identifier.
^cpt_[A-Za-z0-9]+$"cpt_01953e1a5f4b7004"
Payment method resource identifier.
^pm_[A-Za-z0-9]+$"pm_01953e1a5f4b7300"
Payment direction. Always 'outbound' — inbound payments are tracked via the separate InboundPayment resource.
outbound Monetary amount with exponent-based precision. Value is in smallest currency unit (e.g., cents for USD). displayValue is the human-readable decimal.
{
"currency": "USD",
"exponent": 2,
"value": "150000",
"displayValue": "1500.00"
}Monetary amount with exponent-based precision. Value is in smallest currency unit (e.g., cents for USD). displayValue is the human-readable decimal.
{
"currency": "USD",
"exponent": 2,
"value": "150000",
"displayValue": "1500.00"
}Which side of the payment amount is authoritative. 'send' means the sender's debit amount is fixed; 'receive' means the recipient's credit amount is fixed.
send, receive Controls FX execution on cross-currency payments. use_quote requires a pre-locked quoteId. at_market executes at current market rate.
use_quote, at_market FX quote resource identifier.
^qte_[A-Za-z0-9]+$"qte_01953e1a5f4b7006"
FX rate information embedded in payments and conversions.
Fee details on payments and estimates. Per ADR-0006.
Monetary amount with exponent-based precision. Value is in smallest currency unit (e.g., cents for USD). displayValue is the human-readable decimal.
{
"currency": "USD",
"exponent": 2,
"value": "150000",
"displayValue": "1500.00"
}Whether the payment can currently be canceled.
cancelable, not_cancelable Reason why a payment is in requires_action status.
cop_required, beneficiary_verification_required, rfi_pending, quote_expired, return_action_required, compliance_hold, travel_rule_required Read-only compliance metadata on payments and counterparties.
Rail-specific details (ACH SEC code, SWIFT charges, etc.).
Consumer-defined payment reference.
"INV-2026-001"
Purpose of payment. Required for SWIFT and SEPA payments to certain corridors.
goods_and_services, intercompany_transfer, investments, payroll, treasury_management, pension, tax_payment, trade_of_goods, financial_services, donations_and_charity, rent_and_lease, reimbursement, salary_and_compensation, other Consumer-defined key-value store. Available on all primary resources. Max 50 keys. Keys must match ^[a-zA-Z0-9_]{1,40}$. Values are strings (max 500 chars) or null.
UTC timestamp in RFC 3339 / ISO 8601 format.
"2026-02-23T12:00:00Z"
ACH return reason code. Present only when rail is ach and the payment has been returned.
R01, R02, R03, R04, R05, R06, R07, R08, R09, R10, R11, R13, R14, R15, R16, R17, R20, R23, R29, R51 Blockchain network used for crypto payments. Present only when rail is crypto.
ethereum, solana, base, ink, sui On-chain confirmation status for crypto payments. Present only when rail is crypto.
pending_confirmation, confirmed, failed Travel rule data transmitted for this payment. Present only for crypto payments.
Beneficiary name verification result (CoP/VoP). Present when payment has undergone beneficiary verification.