List Transactions
Every transaction — trades, crypto transfers, bank transfers and ACH pulls, platform fees — newest first, whichever API version created it.
The v3 counterpart of GET /api/v2/transactions, which keeps working. The ids are the same transactions under a txn_ prefix, and each row carries its kind's own detail in snake_case.
A workspace-scoped key lists the whole workspace's transactions, or one account's with account_id; an account-scoped key lists its own account's.
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
/v3/transactions
Query parameters
| Parameter | Type | Description |
|---|---|---|
account_id | string (cst_…) | Only this account's transactions. An account-scoped key lists its own and may omit it. |
transaction_type | string | Comma-separated kinds: crypto, bank, trade, platform_fee. Absent lists every kind. |
status | string | Comma-separated statuses, each the word the transaction's rail uses (for example pending,processing). |
side | string | buy or sell: only trades on that side. |
instrument_type | string | Comma-separated bank rails: ach, wire, swift, clabe, debitcard, phonenum, pix, cvu, transfer. |
wire_type | string | domestic or international: only wires of that kind. |
direction | string | deposit or withdraw: only bank and crypto transfers that way. Trades have no direction and drop out. |
coin | string | Only transactions that touched this currency (any casing). A trade matches on either leg. |
created_at_gte | string (date-time) | Only transactions created at or after this instant. |
created_at_lt | string (date-time) | Only transactions created before this instant. |
q | string | Free text, at least 3 characters once trimmed, over the reference, the ids, the account's email, the coins, the kind, the status and the side, rail or direction. An id the API returned — txn_…, wtx_…, ach_… — finds the transaction it names. |
page | integer | Page number, from 1. Default 1. |
limit | integer | Rows per page. Default 25, at most 100: a larger value is capped at 100 (see Lists). |
Response Sample
{
"data": [
{
"id": "txn_01m5d6g7cceefv3dc12dc9jb3y",
"reference": "ach_01m5d6g7cceefv3dc12dc9jb3y",
"account_id": "cst_01h455vb4pex5vsknk084sn02q",
"account_email": "eric.brown@acme.com",
"account_name": "Eric Brown",
"type": "bank",
"status": "completed",
"status_reason": "Hold over, credit available",
"status_history": [
{ "status": "pending", "at": "2026-10-20T17:42:00Z" },
{ "status": "processing", "at": "2026-10-20T17:47:00Z" },
{ "status": "completed", "reason": "Hold over, credit available", "at": "2026-10-21T04:18:26Z" }
],
"coins": ["USD"],
"bank": {
"direction": "deposit",
"instrument_type": "ach",
"currency": "USD",
"amount": "100",
"total": "100",
"reserved": "10",
"sender": { "name": "Eric Brown", "bank_name": "Wells Fargo", "account_number": "••••3168" },
"ach_pull_id": "ach_01m5d6g7cceefv3dc12dc9jb3y"
},
"created_at": "2026-10-20T17:42:00Z",
"updated_at": "2026-10-21T04:18:26Z"
}
],
"page": 1,
"limit": 25,
"total_items": 1,
"total_pages": 1
}
Response Schema
| Field | Type | Description |
|---|---|---|
data | array | The transactions on this page, each with the fields of a Get a Transaction response. |
page, limit, total_items, total_pages | integer | Pagination, as described in the API v3 overview. |
Errors
| Status | message | When |
|---|---|---|
400 | failed to parse request | page or limit is not an integer, account_id is not a cst_… id, or a created_at_* bound is not a date-time. |
400 | invalid_transaction_type | transaction_type names a kind that does not exist. |
400 | invalid_instrument_type | instrument_type names a rail that does not exist. |
400 | window_inverted | created_at_lt is not after created_at_gte. |
401 | unauthorized | Missing or invalid signature. |
403 | forbidden | An account-scoped key named another account in account_id. |
422 | validation message | side, wire_type or direction is not one of its values, or q is shorter than 3 characters once trimmed. |
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:
- Instagram: BlockWyre Instagram
- Twitter: BlockWyre Twitter
- Facebook: BlockWyre Facebook
- LinkedIn: BlockWyre LinkedIn
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!