- Cash-in: the customer deposits physical cash at a retail location and receives crypto in the destination wallet.
- Cash-out (cash pickup): the customer withdraws crypto from a wallet and collects physical cash at a retail counter or ATM.
usd endorsement on the customer.
Cash-in
A cash-in is an in-person cash deposit flow. You create a cash-in that reserves a deposit code. The customer takes that code to a partner retail location, deposits cash, and OMS automatically converts it to crypto and delivers it to the destination wallet (cashToCrypto).
Cash-ins skip the quote step: the customer decides how much to deposit at the counter, so no amount is fixed at creation. Pass an indicatedAmount on the source for an upfront pricing estimate.
Cash-in limits
Create a cash-in
POST /cash-ins. The request names the customer, the cash source location, and the crypto destination.
Pass an
Idempotency-Key header to safely retry without creating duplicates.
Cash-in object
depositInstructions.code in your UI. When you pass an indicatedAmount, the source and destination amounts carry the estimated figures and fees so you can show the customer what to expect before they visit the location. Amounts start as estimates and are finalized once the cash is deposited. The created transaction’s ID appears on transactionId once the deposit is made.
Cash-in flow
POST /cash-ins/{cashInId}/refresh: there is no need to create a new cash-in.
Cash-in status
The
subStatus field adds granular detail behind these values, for example order_reserved, settled, cash_deposit_expired, cash_deposit_failed, provider_order_failed, and provider_order_template_error.
Cash-in operations
Simulating a cash-in (sandbox)
In sandbox, drive a cash-in through its lifecycle without a real deposit using the simulation endpoints. Each endpoint is scoped to a specific cash-in by ID and returns404 in production.
Cash-out
A cash-out (cash pickup) is the inverse of a cash-in: the customer holds crypto in an OMS wallet and withdraws it as physical cash. It uses a standard quote with acash destination (cryptoToCash). OMS pulls crypto from the wallet, issues a time-limited pickup code, and the customer collects cash at a partner retail location. Set the amount on the destination side; it must be a multiple of 400.00 per transaction.
Cash pickup is under active development and available through early access. To enable it for your project, contact us.
Request access
Share your use case and we’ll reach out about cash pickup.
Cash-out limits
Cash-out flow
Supported locations
Cash deposits and withdrawals are processed through OMS’s partner retail and ATM network across the US. List nearby locations withGET /cash-locations, passing the provider, latitude, and longitude query parameters, an optional radius and limit, and a flow of cash_in or cash_out to select the provider configuration. Each location returns its distance from the supplied coordinates, and each provider returns its per-transaction and per-customer daily limits.
Related
- Cash-in guide: full walkthrough with request and response
- Cash pickup guide: the cash-out flow in detail
- Transactions: standard two-step flow for card and bank transfers