Transaction Stats
How many transactions a window holds, split by status and by type, and optionally how many the window before it held. Counts only: no amounts (for those, see Report Summary).
New in v3: v2 has no equivalent.
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/stats
Query parameters
| Parameter | Type | Description |
|---|---|---|
from | string (date-time) | Required. Start of the window, inclusive. RFC 3339 with an offset, e.g. 2026-08-11T00:00:00-03:00. |
to | string (date-time) | Required. End of the window, exclusive. Same format. At most 366 days after from. |
transaction_type | string | Only one type: trade, crypto, bank or platform_fee. Absent counts every type. |
status | string | Only one status, matched exactly as stored (e.g. success). Absent counts every status. |
compare | string | previous also counts the window of the same length that ends where this one starts. Any other value is ignored. |
There is no time zone parameter: from and to are instants, so send them with your zone's offset. "Today in Buenos Aires" is from=2026-08-11T00:00:00-03:00&to=2026-08-12T00:00:00-03:00. A bare date (2026-08-11) is read as midnight UTC. A transaction belongs to the window its creation time falls in.
There is no account_id parameter. A workspace-scoped key (or a dashboard member) counts the whole workspace; an account-scoped key (or a customer) counts its own account only, and naming another account in account_id is refused with 403.
Response Sample
GET /v3/transactions/stats?from=2026-08-11T00:00:00-03:00&to=2026-08-12T00:00:00-03:00&compare=previous
{
"from": "2026-08-11T03:00:00Z",
"to": "2026-08-12T03:00:00Z",
"count": 156,
"by_status": { "success": 149, "pending": 5, "failed": 2 },
"by_type": { "trade": 92, "crypto": 41, "bank": 23 },
"previous": {
"from": "2026-08-10T03:00:00Z",
"to": "2026-08-11T03:00:00Z",
"count": 142
}
}
Response Schema
| Field | Type | Description |
|---|---|---|
from / to | string (date-time) | The window counted, echoed back in UTC. |
count | integer | How many transactions the window holds. |
by_status | object | Count per status, keyed by the status as stored. Not a closed list: a status you have not seen before still shows up. {} when the window is empty. |
by_type | object | Count per type (trade, crypto, bank, platform_fee). {} when the window is empty. |
previous | object | Present only with compare=previous. Absent means no comparison was asked for; an empty previous window answers count: 0. |
previous.from / previous.to | string (date-time) | The window of the same length ending at from. Same length, not the previous calendar period. |
previous.count | integer | How many transactions that window holds. |
Errors
| Status | message | When |
|---|---|---|
400 | failed to parse request | from or to is not a timestamp, or transaction_type is not one of the types above. |
400 | window_incomplete | from or to is missing. |
400 | window_inverted | to is not after from. |
400 | window_too_wide | The window is longer than 366 days. |
401 | unauthorized | Missing or invalid signature. |
403 | forbidden | An account-scoped key named another account in account_id. |
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!