usd endorsement on the customer. A card is referenced by its ext_card_ external-account ID and always requires asset: usd; its network is inferred server-side.
Register a card once with POST /external-accounts, then reference the returned ext_card_ ID on quotes. See Registering a card.
Card as a funding source
Reference the card as the quotesource (pull-from-card). The customer pays with their card and OMS delivers crypto to the destination wallet.
Card as a payout destination
Reference the card as the quotedestination (push-to-card). OMS pushes the payout from an OMS wallet source to the card.
Settlement type
The card rail accepts an optionalsettlementType on the quote request:
internal: OMS custodies the crypto.external: the crypto settles to an on-chain wallet.
external, and a card sell (push-to-card) defaults to internal. The field is ignored for non-card rails.
Registering a card
Register a card withPOST /external-accounts, using type: "card" and the card detail object. Cards use the same registration endpoint as every other external account type:
The billing address is a property of the card, not the customer’s KYC identity: a customer may register cards with differing billing addresses, so supply it per card rather than deriving it from the customer record.
The response returns only
cardNumberLast4, cardProvider, expiryMonth, and expiryYear; the full card number and CVV are never stored or echoed back. A card starts pending and flips to active (usable on quotes) or failed. See External accounts for the shared registration and lifecycle model.
Related
- Currencies and rails: the full list of supported assets and rails
- External accounts: the shared model for cards, banks, and external wallets
- Transactions: the quote-and-execute flow for card and bank transfers