Create a cash-in deposit code
Creates a cash-in: reserves a deposit code the customer presents at a physical cash location to deposit fiat, which is then converted to crypto and credited to the destination wallet. The 201 response includes the cash-in and its deposit instructions (the code and its expiry). Pass an Idempotency-Key header to safely retry without creating duplicates.
Authorizations
Token from POST /auth/token
Headers
Required on POST and PUT requests. Use a unique value per logical mutation attempt, for example a UUID.
Body
Request body for creating a cash-in. Names the customer, the cash source location, and the crypto destination.
The customer depositing cash (cst_ prefix).
Where the customer will deposit cash.
Crypto instrument to deliver to (walletOms or walletExternal).
The cash amount to deposit.
When true, OMS absorbs the on-chain gas cost for the destination delivery. Only true is currently supported.
Free-form key-value pairs stored on the resource and echoed back on reads.
Response
The request has succeeded and a new resource has been created as a result.
A code-based cash deposit. The customer takes the issued code to a retail location and deposits cash, which OMS converts to crypto and delivers to the destination. Amounts start as estimates and are finalized once the cash is deposited.
Cash-in ID (ci_ prefix).
^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$Cash-in flavor.
cryptoToCrypto, fiatToCrypto, cryptoToFiat Current lifecycle status of the cash-in.
pending, processing, completed, failed, expired The OMS customer that owns this record (cst_ prefix).
^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$Where the customer deposits cash: the provider and location.
Crypto instrument the converted funds are delivered to.
The cash amount to be deposited.
Resolved detail of the chosen cash location.
When the cash-in was created.
When the cash-in was last updated.
Resource type discriminator. Always "cashIn".
cashIn Granular sub-status adding detail behind status.
order_reserved, settled, cash_deposit_expired, cash_deposit_failed, provider_order_failed, provider_order_template_error The side the amount was fixed on when creating the cash-in. OMS calculated the other side.
source, destination The deposit code and instructions the customer presents at the retail location.
Exchange and effective rates applied to this cash-in.
USD cost of gas absorbed by the developer when sponsoring gas. Always "0" in alpha - gas is sponsored. Spec § 4.1.
OMS fee schedule applied to this cash-in.
The Transaction produced once the cash-in completes. Null while pending.
^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$When true, OMS absorbs the on-chain gas cost for the destination delivery. Only true is currently supported.
Free-form key-value pairs supplied at creation or update.
Developer fee entries echoed back from the request. Omitted in alpha - request side is stripped per spec § 2. The field stays on the schema so it can be reintroduced without a breaking change when developer fees ship.
When the cash-in reached a terminal state. Null while in progress.
When the issued deposit code expires. Single source of truth for cash-in expiry (#2144); the per-instruction expiresAt was removed in favor of this.