Reports
Server-side wallet activity report payloads for PDF and dashboard rendering, including balances, transactions, tax inputs, interactions, related-wallet summaries, and active stake positions.
Wallet Activity Report
GET
/v1/reports?request=walletActivityBuilds a multi-wallet activity report with current liquid value, active stake value, transaction history, stake transaction flows, and optional related-wallet graph data.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| request | string | REQUIRED | — | Must be `walletActivity` |
| addresses | string | REQUIRED | — | Comma, space, or newline separated wallet addresses. Up to 20 wallets per report. Use `address` for a single-wallet alias. |
| datePreset | string | optional | custom | Range preset: all, yearToDate/ytd, last30, last90, or custom. |
| startDate | string | optional | — | Custom range start date as YYYY-MM-DD. Ignored when startMs/startUnix is provided. |
| endDate | string | optional | — | Custom range end date as YYYY-MM-DD. Defaults to today when omitted. |
| startMs / endMs | integer | optional | — | Millisecond timestamp range overrides. startUnix/endUnix are also accepted as seconds. |
| sections | string | optional | — | Comma-separated section shortcut: balances, transactions, tax, interactions, bubbleMap. When set, it overrides the include* flags. |
| includeBalances | boolean | optional | true | Include current token balances. Active stake positions are loaded when balances or interactions are enabled. |
| includeTransactions | boolean | optional | true | Include reported transactions, including stake transactions categorized as `stake` when present. |
| includeTax | boolean | optional | true | Include estimated tax/PnL input summaries. |
| includeInteractions | boolean | optional | true | Include interaction summaries. Also enables active stake position loading. |
| includeBubbleMap | boolean | optional | false | Include related-wallet graph summary data for report visualizations. |
| hideSpam | boolean | optional | true | Hide likely spam tokens from balance and report outputs. |
| contractWhitelist | string | optional | — | Comma-separated contract IDs to include. Use %2B for plus signs in URLs. Include $ZRA+0000 when filtering and expecting stake positions. |
| maxTransactionsPerWallet | integer | optional | 1000 | Maximum fetched transactions per wallet. Capped at 5000. |
| relatedWalletLimit | integer | optional | 45 | Maximum related-wallet nodes returned when bubbleMap is enabled. |
| relatedWalletHopDepth | integer | optional | 3 | Related-wallet traversal depth when bubbleMap is enabled. |
🪙 Usage & Credits
This endpoint consumes 1 preflight + 50-2500 metered credits per request against your active API tier.
Notes
- Report summaries distinguish `currentValueUsd` (liquid wallet token value), `currentStakeValueUsd` (active/releasing stake principal value), and `currentPortfolioValueUsd` (liquid plus stake value).
- Active stake positions are returned for ZERA wallets when balances or interactions are enabled and no contract whitelist is supplied, or when the whitelist includes `$ZRA+0000`.
- Stake transactions appear in `reportedTransactions` with `category: stake` and flow kinds such as `locked` and `unlocked`; report and wallet stake summaries aggregate those flows.
- The endpoint performs a 1-credit auth preflight, then debits deferred metered credits from measured work. Use `credits.actualWorkUnits` and `chargeStats` to inspect the final cost model.
Response
json
{
"generatedAtMs": "integer",
"rangeStartMs": "integer | null",
"rangeEndMs": "integer | null",
"summary": {
"walletCount": "integer",
"currentValueUsd": "float",
"currentStakeValueUsd": "float",
"currentPortfolioValueUsd": "float",
"activeStakePositions": "integer",
"activeStakedAmount": "float",
"stakeTransactions": "integer",
"stakeLockedAmount": "float",
"stakeUnlockedAmount": "float",
"stakeLockedValueUsd": "float",
"stakeUnlockedValueUsd": "float",
"reportedTransactions": "integer",
"fetchedTransactions": "integer",
"relatedRelations": "integer",
"truncatedWallets": "integer"
},
"wallets": [
{
"inputAddress": "string",
"scopedAddress": "string",
"chain": "string",
"currentValueUsd": "float",
"tokens": [
{
"symbol": "string",
"amount": "float",
"valueUsd": "float",
"rate": "float",
"spamLikely": "boolean"
}
],
"stakePositions": [
{
"bumpId": "integer",
"wallet": "string",
"amount": "float",
"valueUsd": "float",
"reward": "float *",
"term": "string",
"stakeType": "string",
"startTime": "integer",
"endTime": "integer *",
"status": "string",
"currentRate": "float"
}
],
"stakeSummary": {
"activeStakePositions": "integer",
"activeStakedAmount": "float",
"activeStakedValueUsd": "float",
"stakeTransactions": "integer",
"stakeLockedAmount": "float",
"stakeUnlockedAmount": "float",
"stakeLockedValueUsd": "float",
"stakeUnlockedValueUsd": "float"
},
"reportedTransactions": [
{
"hash": "string",
"timestampMs": "integer | null",
"category": "stake | transfer | swap | bridge | ...",
"displayType": "string",
"flows": [
{
"kind": "locked | unlocked | sent | received | ...",
"symbol": "string",
"amount": "float",
"usdEstimate": "float"
}
]
}
]
}
],
"chargeStats": {
"stakeWalletsLoaded": "integer",
"stakePositionsReturned": "integer",
"transactionsReported": "integer"
},
"credits": {
"actualWorkUnits": "integer",
"preauthorizedWorkUnits": "integer *",
"model": "string"
}
}Errors
| Status | Condition |
|---|---|
| 400 | Missing or invalid address/addresses parameter |
| 401 | Missing or invalid authorization |
| 403 | Insufficient credits for the report work |