Transaction types
The signing window
Initiating a transaction (eg. Get withdraw payload, Get deposit payload) creates a draft transaction and returns itstransaction_id together with the payload to sign. Until the signature is submitted through Sign a payload, this draft only exists internally - in a created or claimed status the API never returns. It is not listed by List all transactions or List all transactions across every account, and Get single transaction returns 404 Not Found for its ID.
Draft transactions are also ephemeral. At most one unsigned draft exists per account: initiating a new transaction discards any previous unsigned draft, and its transaction_id becomes permanently invalid.
Once the payload is signed, the transaction becomes visible with one of the statuses documented below (withdrawal_initiated, processing, completed, …). A 404 from Get single transaction therefore means one of three things:
- the ID never existed;
- it belonged to an unsigned draft that has been superseded by a newer one;
- the transaction is still inside the brief signing window, and will appear once signed.
Transaction statuses
The transaction status can be checked by calling the Get transaction endpoint. Only signed transactions carry a status - drafts waiting to be signed are not returned by the API at all, as described in the signing window above.- Onramp deposit statuses
- Offramp withdrawal statuses
- Queued withdrawal statuses
waiting_for_funds- The transaction has been signed. The system is waiting for the bank transfer to trigger the broadcasting of the transaction.funds_in_transfer- The funds have been scheduled to arrive with Bridge soon.processing- The funds have arrived with Bridge and are currently being on-ramped. The transaction is being broadcasted.completed- The transaction has been broadcasted and executed. The funds have been transferred to the vault.
Lifecycle events, review, and refunds
The publicpayment_in_review status means a payment is under review; do not treat it as funding completion. refunded means the payment was refunded. Other observable statuses include funds_received, simulation_failed, and reverted; transactions do not necessarily visit every status.
Transaction webhooks now emit version 2 events for observable status transitions, including review, refunds, and cancellation. Read the current summary from data.transaction and its previous observable status from data.previousStatus (which can be null). Continue accepting the original version on retried historical deliveries.
Retrieving transactions
The lookup query keys below are
transactionId and accountId (camelCase), as already defined in the previous OpenAPI. This is a correction to the handwritten guide, not a new API parameter rename.- Single transaction
- By account
- Across all accounts
Get single transaction returns one transaction by its ID.Query parameters
transactionId- UUID of the transaction.

