Request access and get your API key
OMS is in early access. Start by requesting access from the dashboard.Once approved, open the OMS Dashboard and navigate to API Keys. Generate a new key and store it immediately, it is shown only once.All API requests use Bearer authentication:
Request OMS access
Submit your details to get sandbox credentials.
Create a customer
Every wallet, transaction, and payment route in OMS belongs to a customer record. Create one before anything else.Store the
cst_ ID. The endorsements array starts empty. KYC review grants the endorsements that unlock fiat operations. Your account manager will confirm which endorsement flows apply to your use case.In sandbox mode all customers are auto-approved with full endorsements so you can test without a KYC integration.
Provision a wallet
Create a custodial wallet for the customer. The customer ID goes in the path, and the body specifies the The
asset and chain to hold. OMS derives the onchain address and manages the keys, no wallet SDK or user signing required.address is the onchain Polygon address. The wlt_ ID is what you pass as source or destination in quotes and transactions.Run your first transaction
The cash-in flow is available in the OMS API today and is the recommended path for your first run. The bank transfer flow is documented for when external accounts are available to you.
- Cash-in
- Bank transfer
Let a customer deposit physical cash at a retail location and receive USDC in their wallet.OMS returns a
depositInstructions.code valid for 1 hour. The customer presents the code at the retail location, hands over cash, and USDC lands in their wallet automatically.See the Cash-in guide for the full flow.Configure webhooks
OMS fires webhooks at every meaningful state change. You can poll
Webhook payloads include the full object, so you rarely need to poll for additional data.
GET /transactions/{id} instead, but webhooks are strongly recommended for production.Configure subscriptions in the OMS Dashboard under Webhooks, or create them via the API with POST /v0.9/webhooks and a url. The signing secret is returned once on creation, so store it immediately. Key events to subscribe to:| Event | When it fires |
|---|---|
transaction.fiatToCrypto.completed | USDC delivered to wallet |
transaction.cryptoToFiat.completed | Fiat landed in bank account |
cashIn.completed | Cash deposit processed |
transaction.*.failed | Any transaction failure |
customer.endorsement.granted | KYC approved |
What’s next
Cash-in
Full walkthrough of the cash deposit flow, including deposit code generation and retail location selection.
Bank transfers
Move money between bank accounts and wallets in both directions using ACH and card rails.
Payments overview
How OMS handles payments, stablecoin settlement, and compliant fiat access end to end.
API reference
Complete endpoint reference for all OMS resources.