Skip to main content
Coverage has two sides and they are not symmetric. A client can receive fiat only over a rail it has opened, in one of a short list of currencies. It can pay a beneficiary in many more — every payout method below is a destination you can save as a contact, whether or not the same market can send money the other way.
This page is the shape of the catalogue, not a promise for your account. Rail availability is decided per integrator, per client and per partner, and the only authoritative answers are GET /dapi/v1/banks for a given client and GET /dapi/v1/contacts/{contactId}/capabilities for a given contact. Read them; do not derive from this page.

Money in

These are the methods a client can hold a virtual account in, and the currency each one receives. A payer wires that currency; the client is credited in the account that rail settles into. Money can also arrive on chain with no rail at all: anything sent to the client’s baseSmartWallet on Base is its balance the moment it confirms, and a transfer from another chain can be quoted first with POST /dapi/v1/payins carrying originChainId. Neither path needs a verified client — only a ready one.

Money out

Every method here is a destination a contact can hold. Grouped by market, with the identifiers each one routes on in Rails and payment methods.

Americas

Europe, Middle East and Africa

Asia-Pacific

swift is the exception to the grouping above: it is an international wire, not a domestic system, and it carries USD to a beneficiary bank in most of the world. A method suffixed _ewallet routes to a mobile wallet on a phone number rather than to a bank account. A method suffixed _local is that market’s domestic clearing system. Neither changes how you call the API: both are a contact, then a payout.

On chain

A client balance settles on Base, in USDC or EURC. A wallet contact on Base holding either token is paid straight out of the balance, with nothing converted and no partner involved. A contact on any other chain, or expecting any other token, is paid through a cross-chain route — the same POST /dapi/v1/payouts, quoted with fromChainId and toChainId. GET /dapi/v1/chains answers the live list: every chain, its EVM chainId, and each token’s decimals and contract address. Read it at startup rather than hardcoding the codes in Chain codes.

What actually decides availability

Four things narrow the catalogue above, and each one has a refusal that names it. The cheapest way to find out what a client can really do is to create one, verify it and read GET /dapi/v1/banks — in the sandbox exactly as in production. Naming the currencies and markets you sell into is part of the conversation that switches your integrator account on; see Going live.

Next: Fees

Where a fee is declared, where it is quoted, and which side of a payment absorbs it.