The Wallet Stats API gives you access to financial analytics powered by your Fragment ledger — the same data that powers the Whop dashboard charts. The wallet is resolved automatically from your API key’s auth context. See the API Reference for the full list of parameters and allowed values.Documentation Index
Fetch the complete documentation index at: https://docs.whop.com/llms.txt
Use this file to discover all available pages before exploring further.
The
time_series endpoint requires the company:balance:read permission. See
Permissions to learn how to request
permissions for your app.Discover available filters
Before building queries, call the describe endpoint to get the full taxonomy of reporting categories, groupings, and line categories with human-readable descriptions. No authentication required.reporting_categories— predefined report scopes (e.g.gross_income,net_activity) and which line categories each one includesgroupings— logical buckets (e.g.payments,refunds,disputes) and their line categoriesline_categories— every active transaction type with its description, grouping, and which reports it belongs to
time_series endpoint. See the Describe API Reference for the full response schema.
Time Series
amount and line_count per period. Filter with reporting_category, grouping, or line_category to narrow results.
The wallet is resolved from your API key’s auth context — no account ID needed in the URL.
Parameters
| Parameter | Type | Default | Required | Description |
|---|---|---|---|---|
account_id | string | — | no | Query a sub-account’s wallet (e.g. biz_xxx). Omit to use the caller’s own wallet. |
from | date | — | yes | Start date, ISO 8601 (e.g. 2025-01-01) |
to | date | — | yes | End date, ISO 8601 (e.g. 2025-12-31) |
group_by | string | month | no | Granularity: day, week, or month |
reporting_category | string | all | no | Filter to a reporting category: net_activity, gtv, gross_income, net_income, payment_processing_fees |
grouping | string[] | all | no | Filter by grouping(s): payments, refunds, fees, disputes, withdrawals, etc. |
line_category | string[] | all | no | Filter by transaction type(s) (e.g. payment_gross, payment_refund) |
currency | string | all | no | Filter to a single currency (e.g. usd) |
convert_currency | string | — | no | Convert all amounts to this currency using historical exchange rates |
timezone | string | UTC | no | IANA timezone for period boundaries |
Example
Filtering
Usereporting_category to scope to a predefined set of line categories (e.g. only income-related activity):
grouping to narrow to specific groupings (e.g. only payments and refunds):
line_category for the most granular filtering:
reporting_category first, then grouping, then line_category.
There are two separate currency controls: filter and convert.
Filter — currency restricts rows to a single currency:
convert_currency converts all amounts to a target currency using historical exchange rates, collapsing multi-currency rows into one per period:
currency field and you may get multiple rows per period (one per currency):
currency=eur&convert_currency=usd filters to EUR rows then converts them to USD.
Errors
| Status | Cause |
|---|---|
| 400 | Missing or invalid parameters |
| 401 | Missing or invalid API key |
| 403 | API key lacks company:balance:read permission |
Statement
Report Types
report_type | What it shows |
|---|---|
balance_activity | Cash inflows/outflows by category over time |
income_statement | Income and expenses over time |
balance_summary | Account balances at period end, with beginning and ending balance totals |

