Skip to main content

Get a Transaction

One transaction, with its status history, whichever API version created it.

The v3 counterpart of GET /api/v2/transactions/{transactionId}, which keeps working: the v2 id with a txn_ prefix is the v3 id.

A workspace-scoped key reads any transaction of the workspace; an account-scoped key reads only its own account's, and another account's reads as 404.

Authorization:

Every request is signed with your API key: a short-lived JWT, signed with your private key, sent in one header on /v3/* and /api/v2/* alike.

Headers:
Authorization: APIKey {SIGNED_JWT}

How to build and sign the JWT: Authentication.

Endpoint

GET

/v3/transactions/{transaction_id}

Path parameters​

ParameterTypeDescription
transaction_idstring (txn_…)Required. The transaction.

Response Sample​

{
"id": "txn_01k9a1b3c5d7e9f1g3h5j7k9m1",
"reference": "inv-2026-10-0042",
"account_id": "cst_01h455vb4pex5vsknk084sn02q",
"account_email": "ops@acme.com",
"account_name": "Acme Imports LLC",
"type": "crypto",
"status": "success",
"status_history": [
{ "status": "pending", "at": "2026-10-20T18:00:00Z" },
{ "status": "success", "at": "2026-10-20T18:11:37Z" }
],
"coins": ["USDC"],
"executed_by": { "api_key": true },
"crypto": {
"direction": "withdraw",
"withdrawal_id": "wtx_01k9a1b3c5d7e9f1g3h5j7k9m1",
"grace_ends_at": "2026-10-20T18:05:00Z",
"coin": "USDC",
"network": "ethereum",
"amount": "250",
"fee": "10",
"total": "240",
"fiat_rate": "0.9998",
"target_address": "0x8f3b2c1d0e9a7b6c5d4e3f2a1b0c9d8e7f6a5b4c",
"tx_hash": "0x9f1c2b3a4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f8"
},
"created_at": "2026-10-20T18:00:00Z",
"updated_at": "2026-10-20T18:11:37Z"
}

Response Schema​

Every transaction carries the common fields and exactly one detail object: the one type names. A field the transaction's rail did not record is absent. Amounts are decimal strings in the detail's own currency; nothing is converted or added up across kinds.

FieldTypeDescription
idstring (txn_…)The transaction.
referencestringWhat a person searches the list by: the reference given when the transaction was created, or the rail's own.
account_idstring (cst_…)Whose transaction it is.
account_email, account_namestringThe account's email and name when the transaction was recorded.
typestringcrypto, bank, trade or platform_fee.
statusstringWhere the transaction is, in its rail's own words (pending, processing, completed, success, failed, …).
status_reasonstringWhy it is in that status, when the rail says.
status_historyarrayEvery status it went through, in order: status, reason, at.
coinsarray of stringEvery currency it touched: one for a transfer or a fee, both legs for a trade.
executed_byobjectWho started it for the account: member_id (mbr_…) and member_email for a member of the workspace, api_key: true for an API key. Absent when the account's holder acted, or when nobody was recorded.
cryptoobjectA crypto transfer: direction (deposit or withdraw), withdrawal_id or deposit_id (the same transfer under its wtx_… id; Get a Crypto Withdrawal reads one created through v3), grace_ends_at on a withdrawal created through v3 (until then a pending one can be cancelled; absent on one created through v2), coin, network, amount, fee, total (what was credited or what the counterparty received), network_fee and network_fee_currency, fiat_rate (one coin in USD when it was recorded), target_address, tx_hash.
bankobjectA bank transfer: direction, instrument_type, wire_type (on a wire), currency, amount, fee, total, reserved (what of total the reserve holds), transaction_reference, imad (a wire), trace_number and addenda (an ACH entry), sender and beneficiary (each name, bank_name, account_number, routing_number, swift_code, iban), ach_pull_id (an ACH pull), linked_transaction_id (a related transaction, such as the wire a return deposit gives back).
tradeobjectA trade: order_type, product, side, quantity of quantity_currency (what the account spends), quote_quantity of quote_currency (what it ends up with), rate, fee and fee_currency.
platform_feeobjectA fee the platform charged the workspace: currency, amount, period, description.
created_atstring (date-time)When the transaction was created.
updated_atstring (date-time)When it last changed.

Errors​

StatusmessageWhen
400failed to parse requesttransaction_id is not a txn_… id.
401unauthorizedMissing or invalid signature.
404transaction_not_foundNo such transaction, or it belongs to another account.

Support and Resources​

If you need assistance or have any questions, our support team is here to help. You can contact our support team at support@blockwyre.com.

Stay Updated​

Stay up-to-date with the latest news, updates, and features from BlockWyre by following us on social media:

We are excited to have you on board and look forward to seeing how you leverage BlockWyre's powerful tools to enhance your financial operations. Happy integrating!