asset and a network; fiat sides carry an asset (usd or cad) and a rail-specific network.
Crypto assets and networks
OMS custodial wallets and on-chain instruments hold stablecoins:| Asset | Description |
|---|---|
usdc | USD Coin |
usdt | Tether USD |
network (for example polygon). Each side also resolves a blockchainAsset object that carries the on-chain identity: the wire-level protocol (evm, svm, or sui), the chainId, and the tokenId.
Polygon is the recommended network for most use cases: sub-2-second finality, fractions-of-a-cent transaction cost, and native USDC (no bridging or wrapping).
Deposit-address inbound simulation accepts stablecoins (
USDC, USDT) on a defined set of source chains. See Deposit addresses for the inbound flow.Fiat rails
Fiat instruments are identified by atype and carry a rail-specific network:
| Instrument | Asset | Network | Description |
|---|---|---|---|
bankUs | usd | ach | US dollars via ACH bank transfer |
bankUs | usd | achSameDay | US dollars via same-day ACH |
bankUs | usd | wire | US dollars via domestic wire |
bankUs | usd | rtp | US dollars via real-time payments |
bankIban | usd | swift | US dollars to an IBAN account over SWIFT |
bankCanada | usd | swift | US dollars to a Canadian account over SWIFT |
bankCanada | cad | local | Canadian dollars over local rails |
card | usd | card | US dollars via debit card |
cash | usd | cash | US dollars via physical cash at retail locations |
settlementType on the quote: internal (OMS custodies the crypto) or external (an on-chain wallet). A card buy defaults to external; a card sell defaults to internal. The field is ignored for non-card rails.
Which rails a customer can use depends on the endorsements granted to that customer (basic, cryptoCustody, and usd). Endorsements are granted after verification and delivered via webhook. See Entities and relationships for the endorsement model.
Exchange rates and FX
USD and its stablecoins convert by issuer redemption: USD to USDC or USDT is redeemed 1:1 with the issuer, so there is no market, exchange, or central-bank reference rate and no FX spread. What a quote locks is the fee schedule, not a fluctuating rate. The quote’spricing object expresses this:
pricing.exchangeRate: units of the destination asset per unit of the source asset.pricing.effectiveRate: the all-in rate the customer receives after fees.pricing.fixedAmountSide: which side of the trade the amount was specified on.expiresAt: when the locked pricing expires.
feesDeducted breakdown reports OMS, developer, and gas fees separately.
Settlement times
Typical production times from initiating a payment to the confirmation event. Inbound confirmations fire when the bank confirms receipt; the same timing applies to payouts.| Rail | Typical settlement |
|---|---|
| ACH | Next business day (morning ET of the effective date) |
| Same-Day ACH | Same business day |
| Fedwire | About an hour, within the Fedwire window |
| RTP | Instant, 24/7 |
| SWIFT | 1 to 2 business days |
| Polygon, Solana | About a minute |
| Ethereum, Base | About 5 minutes |
Cash networks
OMS supports cash deposits and withdrawals through a partner retail network. A cash-in generates a code the customer presents at a retail location; OMS monitors for the deposit and auto-creates acashToCrypto transaction when cash is received. Cash payouts (cryptoToCash) are delivered as a pickup: the amount must be a multiple of 20.00, up to a maximum of 400.00 per transaction.
Query available locations with GET /cash-locations, passing the provider, the customer’s latitude and longitude, and a flow of cash_in or cash_out. See the Cash-ins and cash-outs page for the full flow.