Execute a transaction (send)
Executes a transfer by accepting an open quote. Reference the quote by its ID; OMS pulls funds from the quote’s source and delivers them to its destination. Pass an Idempotency-Key header to safely retry without sending twice.
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 executing a transaction. References the quote to accept; the remaining fields are optional routing hints and metadata.
External-account id of the debit card funding (buy) or receiving (sell) this transaction. OMS resolves it to the underlying card provider identifier.
Destination details for crediting funds to a wallet held in external custody.
Deprecated for cards: raw card-provider payment method id. Use externalAccountId instead.
Response
The request has succeeded and a new resource has been created as a result.
A single movement of money from a source to a destination. Created by accepting a quote, or generated automatically by a deposit address, virtual account, or cash-in. Track its progress with status.
The owning (sender) customer. OMSX customer TypeID (cst_…).
The destination side of a transaction or quote: a typed instrument plus payoutOrigin. Amounts live only in pricing.
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
transaction Consolidated economics.
OMS-custodied crypto wallet instrument.
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
Lifecycle of a transaction. processing: funds in motion. awaitingAction:
non-terminal, blocked on developer/upstream/compliance (see hold); returns
to processing once cleared. completed: delivered. failed: terminal failure.
processing, awaitingAction, completed, failed Details of an asynchronous settlement failure on a transaction (e.g. a downstream payout that failed after the initial request succeeded). Present only once a failure has occurred.
Present while status is awaitingAction; explains the hold and deadline to resolve it.
- Option 1
- Option 2
- Option 3
What created this transaction, carrying that origin's deposit instructions.
- Option 1
- Option 2
- Option 3
- Option 4
The owning project. Populated only on cross-project operator endpoints; omitted on partner endpoints, where the project is implicit from the auth token.
Composite of source and destination instrument categories, inferred from each side. Replaces the older TransferType. The cash corridors (cryptoToCash, cashToCrypto) are derived from a cash-pickup destination or cash-in source respectively; the rest map straight from the internal corridor type.
cryptoToCrypto, cryptoToCash, cryptoToFiatAccount, cashToCrypto, fiatAccountToCrypto Finer-grained, status-scoped sub-state of a transaction. Each member is namespaced by its parent status (e.g. processing.cashPickupReady). The
closed set; absent when the transaction has no meaningful sub-state.
processing.fundsPulled, processing.cashPickupReady, processing.underReview, completed.cashPickupCollected, completed.cashPickupExpired, awaitingAction.awaitingSenderAttribution, awaitingAction.depositAddressFrozen, awaitingAction.depositAddressInactive, failed.attributionTimeout, failed.depositAddressFrozenTimeout, failed.depositAddressInactiveTimeout, failed.depositAddressClosed, processing.awaitingCryptoOut, processing.cryptoOut, processing.awaitingFiatOut, processing.fiatOut