Get transaction by ID
Retrieves a single transaction by ID.
Authorizations
Token from POST /auth/token
Path Parameters
Transaction ID (txn_ prefix).
Response
The request has succeeded.
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.
Transaction ID (txn_ 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})$Resource type discriminator. Always "transaction".
transaction Current lifecycle status. See subStatus for finer granularity.
processing, awaitingAction, completed, failed Status-scoped sub-state (e.g. processing.fundsPulled). Always present: each
status carries a default member (e.g. processing.initiated) when no more
specific value applies.
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, processing.inboundPending, processing.inboundProcessing, failed.inboundFailed, failed.returnPending, failed.returnStarted, failed.returnComplete, failed.returnFailed, processing.initiated, awaitingAction.held, completed.settled, failed.unspecified, failed.expired, failed.outboundFailed The owning (sender) customer. OMSX customer TypeID (cst_…).
^[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})$What created this transaction, as a uniform {type, id} reference —
dereference the resource by id for its full record. null for a
genuine out-of-band arrival with no originating OMS resource at all
(e.g. funds pushed directly to a wallet from outside OMS); the
manual arm (id: null) is reserved for a future operator-initiated
transaction, distinct from an out-of-band arrival.
The funding side: a typed instrument carrying identity and detail.
- OMS wallet
- External wallet
- Fiat wallet
- US bank account
- IBAN bank account
- Canadian bank account
- Card
- Cash
The receiving side: a typed instrument plus payoutOrigin.
- OMS wallet
- External wallet
- Fiat wallet
- US bank account
- IBAN bank account
- Canadian bank account
- Card
- Cash
Consolidated economics.
Corridor composite derived from the two sides.
cryptoToCrypto, cryptoToCash, cryptoToFiatAccount, cashToCrypto, fiatAccountToCrypto, fiatAccountToFiatAccount Resolved id + display name of the owning customer, so list/detail rendering needs no follow-up customer fetch (v0.12, #2665).
Estimated completion time. Present when the destination rail has a predictable settlement time (e.g. bank payouts and some crypto legs); null otherwise.
Failure detail. Set when the transaction fails; includes refund or recovery state where applicable.
Present while status is awaitingAction; explains the hold + deadline.
Populated when the hold model is wired.
- Sender attribution
- Deposit address frozen
- Deposit address inactive
Free-form key-value pairs supplied at creation or update.
When the transaction was created.
When the transaction was last updated.
Expiry of the transaction's actionable window: present on auto-created transactions and on cash payouts (the pickup-code expiry), and retained after completion for audit. Null for other quote-initiated transactions.
The owning project. Populated only on the cross-project admin endpoints (e.g. GET /admin/transactions/redrivable) so operators can tell which project a stranded transaction belongs to. Omitted on partner endpoints, where the project is implicit from the auth token.
^prj_.+$