- Consumer apps that want to offer crypto-backed savings or spending accounts
- Crypto exchanges and brokers handling retail on/off-ramp volume
- DeFi frontends that need fiat on-ramps for users without existing crypto holdings
- Apps onboarding cash-preferring or unbanked users who fund without a bank account or card
Cash-in funding, crypto-to-crypto sends, bank funding, and bank payouts all run on the OMS API today. Create a virtual account for inbound ACH with
POST /virtual-accounts, and register the customer’s bank account for payouts with POST /external-accounts. In sandbox you can exercise inbound ACH with the virtual-account simulate endpoint. The OMS API is in early access: request access for an API key.How it works
Both directions use the same quote-then-execute flow. The source is always an OMS wallet, and the customer agrees to a rate and fee breakdown before any money moves. Rates lock at quote time for a short window, so the customer sees exactly what they’ll receive. To move money out as a crypto-to-crypto send, run the samePOST /quotes then POST /transactions flow: the source is the customer’s wallet and the destination is another wallet or an external blockchain address. Bank payouts follow the flow above, with the destination referencing an external account, registered with POST /external-accounts, by its ext_ identifier.
OMS resources
| Resource | Role |
|---|---|
| Customer | Identity record with KYC and endorsements |
| Wallet | Custodial USDC balance |
| Virtual account | Dedicated account number for inbound ACH funding, created with POST /virtual-accounts |
| External account | Customer’s bank account, registered with POST /external-accounts and referenced by ext_ ID |
| Quote | Rate lock with fee breakdown before execution |
fiatAccountToCrypto transaction | Converts inbound fiat to USDC and credits the wallet |
cashToCrypto transaction | Converts cash-in funding to USDC and credits the wallet |
cryptoToCrypto transaction | Sends USDC from the wallet to another wallet or external blockchain address |
cryptoToFiatAccount transaction | Pulls USDC from the wallet, delivers fiat via ACH or wire |
Implementation
Customer onboarding
Create customer records, collect KYC, and provision wallets.
Fiat to crypto
Quote and execute cash-in funding and ACH on-ramps via virtual accounts.
Crypto to fiat
Quote and execute ACH or wire off-ramps.
Bank transfers
Full walkthrough of both funding and withdrawal flows.