Skip to main content
Before you start: the OMS API is in early access. Every endpoint, including the ones in this guide, requires an early-access API key. Request access before you begin.

How it works

A customer holds USDC in an OMS wallet and wants to withdraw as physical cash. OMS converts the crypto to fiat, issues a time-limited pickup code, and the customer collects cash at a retail counter or ATM. This is the complement to Cash-in. Cash-in funds a wallet from cash; cash pickup withdraws from a wallet to cash.
Cash pickup flow
1AppOMSPOST /quotes (USDC → USD/cash)
2OMSAppQuote with pickup fee breakdown
3AppCustomerShow amount to receive
4CustomerAppConfirm
5AppOMSPOST /transactions {quote}
6OMSPull USDC from wallet
7OMSAppWebhook: cryptoToFiat.processing (cashPickupReady)
8AppCustomerShow pickup code + location
9CustomerRetailPresent code, collect cash
10OMSAppWebhook: cryptoToFiat.completed

Planned capabilities

  • Quote-and-confirm flow with fee breakdown before USDC leaves the wallet
  • Time-limited pickup codes with automatic refund on expiry
  • Location lookup by geography (GET /cash-locations)
  • Support for US retail networks and ATMs
  • Webhook-driven status tracking: processing.cashPickupReadycompleted.cashPickupCollected (or completed.cashPickupExpired if uncollected)

Cash pickup is under active development and not yet available in the OMS API. To be notified when it launches, register your interest.

Register interest

Share your use case and we’ll reach out when cash pickup is available.