Skip to content

Get a transaction

GET
/transactions/{txId}
txId
required
string

The transaction.

object
id
required
string
wallet_id
required
string
state
required

Lifecycle: created → checks → signedbroadcastconfirmedfinal. Terminal failures are failed (broadcast/chain error) or rejected (refused by policy, limits, or a bad intent).

string
Allowed values: created policy_checked awaiting_cosigner signed broadcast confirmed final failed rejected
chain_tx_hash

The on-chain transaction hash, once broadcast

string
error_code

Set when state is failed/rejected (see Error codes)

string
created_at
string format: date-time

Missing, malformed, or invalid request signature.

Failures return a single human-readable error message; the HTTP status carries the category (400 validation, 401 auth, 403 refused, 404 missing, 409 conflict, 429 rate limit). When a signing request is refused for a specific reason, the message names it — for example the amount exceeds a spend limit, the policy denied the recipient, or the intent signature did not verify.

object
error
required
string
code
required

Stable machine slug (invalid_request, unauthorized, forbidden, not_found, conflict, rate_limited); a refused sign names the reason in the message

string
Example
{
"error": "request signature did not verify",
"code": "unauthorized"
}

The resource does not exist (or is not visible to your org).

Failures return a single human-readable error message; the HTTP status carries the category (400 validation, 401 auth, 403 refused, 404 missing, 409 conflict, 429 rate limit). When a signing request is refused for a specific reason, the message names it — for example the amount exceeds a spend limit, the policy denied the recipient, or the intent signature did not verify.

object
error
required
string
code
required

Stable machine slug (invalid_request, unauthorized, forbidden, not_found, conflict, rate_limited); a refused sign names the reason in the message

string
Example
{
"error": "vault not found",
"code": "not_found"
}