Coverage
Supported stablecoins, chains, and fiat rails, and how to discover your account's live corridors programmatically.
Stablecoins and chains
Each asset is deliverable only on chains its issuer natively supports. There are no wrapped or bridged variants. Solana is live at launch. The EVM chains are built and enable next.
| Asset | Solana | Base | Ethereum | Polygon |
|---|---|---|---|---|
| USDC | Live | Next | Next | Next |
| USDT | Live | not offered | Next | Next |
A chain that is not yet enabled returns 400 unsupported_chain on wallet
creation, and its corridors do not appear in GET /api/corridors.
Every object that names a chain also carries network: mainnet in
live, testnet in sandbox. The chain value is the same
in both, so your integration does not change between them.
Fiat rails
| Currency | Rail | Status | Per-transaction limits | deposit_instructions |
|---|---|---|---|---|
| USD | ACH (ach) | Live | 1 to 1,000,000 | us_bank_account: account_number, routing_number |
| USD | Fedwire (wire) | Live | 1 to 20,000,000 | us_bank_account: account_number, routing_number |
| USD | RTP (rtp) | Not yet live | 1 to 10,000,000 | us_bank_account: account_number, routing_number |
All USD rails reach the same account number, and the account's
payment_rails lists the rails it receives over today. RTP corridors
already appear in GET /api/corridors and are served in sandbox, but a live
account lists rtp only once the bank serves it. A USD account also
exposes routing_number_ach, routing_number_wire, and
routing_number_rtp where the bank differentiates them.
Deposit instructions always use the rail's native vocabulary inside the
same deposit_instructions object, so a new rail arrives without reshaping
your integration. EUR over SEPA, with EURC and EURe delivery, returns after
launch.
Discover, do not hard-code
The tables above describe the platform. The live corridors, with your effective fees, are served by the API:
curl -s $BASE/api/corridors -H "Api-Key: $KEY"
{
"data": [
{
"object": "corridor",
"service": "onramp",
"source": {"currency": "usd", "payment_rail": "ach"},
"target": {"asset": "usdc", "chain": "solana", "network": "mainnet"},
"min_amount": "1",
"max_amount": "1000000",
"fees": {
"bps": "30",
"spread_bps": "0",
"min": "0.3",
"collection": "monthly"
},
"estimated_settlement": "instant"
}
],
"has_more": false,
"next_cursor": null
}
Build corridor pickers and validation from this endpoint rather than from these tables. A new corridor appears here as soon as it is enabled, with no change on your side.
service is one of onramp (fiat in, stablecoin delivered), offramp
(stablecoin in, the bank account paid directly), or swap (stablecoin to
stablecoin). Only onramp is live at launch.
Compliance note. Availability can also differ by your customers'
jurisdictions. A customer we do not serve for a currency gets
region_unsupported in that endorsement's issues bucket.