The Trader Data API is about traders: wallets, PnL, positions, history, and leaderboards derived from on-chain settlement. For realtime market data, live trades and order books, see Market Data. Requests here use the base path
/trader-analytics and are sometimes referred to as the “Data API” in older material.https://partner-api.bravadotrade.com/trader-analytics.
Authentication
Sign Data API requests with your partner API key, using the same HMAC scheme as the Trade API. Send these headers on every call:
Your key needs the
analytics.read scope (select the Data API product when creating the key in the Console), and your partner account needs the request’s venue enabled — see Venues below.
Every response carries X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset; a 429 includes Retry-After.
No credentials needed for
GET /healthz and the free tax-report surface: /traders/{address}/tax-report, /traders/{address}/tax-report/8949, and /traders/{address}/event-graph are public.Venues
Every Data API request belongs to exactly one venue, and your partner account must have that venue enabled (403 VENUE_NOT_ENABLED otherwise):
Accounting coverage
Bravado reconstructs wallet cost basis and realized PnL using a share-level FIFO engine. Open positions are marked to market. You can read public wallet analytics without a funded trading account. On Polymarket, processed wallets can also return PMWAS statements, R1 dispositions, performance metrics and R8 reconciliation certificates. A certificate reports internal accounting checks; it is not an independent audit opinion. Full statements depend on wallet processing and can return503 with available: false while unavailable.
Tax reports disclose whether they use PMWAS statements or a serving-engine FIFO fallback. The fallback does not provide the same lot lineage and cash-flow coverage as a full statement. Entity rollups aggregate mapped member wallets; they do not infer arbitrary wallet clusters.
Predict.fun supports core wallet analytics. PMWAS statements, tax reports, reconciliation and entity rollups are Polymarket-only today.
Data-only access and onboarding
You can use Trader Data with ananalytics.read key and no trading permissions. Bravado can arrange evaluation access, venue enablement and the appropriate request allowance directly. Confirm commercial use and redistribution terms during onboarding.
Create an account in the Bravado Console, then open Endpoints to configure your product and API keys to manage credentials. Contact the team if your organisation needs additional venue or product access. See API credits for published request costs; exact quotas and historical coverage depend on the product and dataset.
Trader intelligence
Beyond leaderboards, use wallet profiles, open and closed positions, trade history and category performance. Polymarket top holders are available throughGET /clob-proxy/holders?market={conditionId}; this proxies venue holder data and is not a smart-money score.
For similar-wallet discovery, clusters, per-market intelligence or additional style labels, contact us to scope the analysis. These are custom development requests rather than existing general-purpose endpoints.
Key metrics
Realized PnL
Cashflow-based net profit after fees, computed over the full position lifecycle including trades, splits, merges, redemptions, and market resolutions. Splits and merges are correctly excluded from volume inflation.
Unrealized PnL
Open position shares marked to the latest CLOB midpoint prices. Updates in real time as market prices move.
Volume
USDC notional traded, filtered to exclude CTF split, merge, and redeem transactions. This gives you true trading volume, not inflated on-chain throughput.
Win rate
Closed-position stats at the outcome level, a position is a “win” if it closed with positive realized PnL. Calculated independently of position size.
The window parameter
Analytics endpoints that document window accept a ?window= query parameter that controls the rolling lookback period for returned metrics.
What the window affects: PnL, volume, and trade counts use daily or hourly rollups that respect the window boundary. Windowed queries are fast because they aggregate pre-computed buckets.
What the window does not affect: Fee totals, streak metadata, and drawdown statistics are always computed all-time regardless of the
window value. This is by design, these metrics are meaningless when truncated to a short window.
Wallet addresses are matched case-insensitively, and the
0x prefix is optional — a bare 40-hex address, as returned in leaderboard rows, is accepted and treated identically.Leaderboards
Bravado maintains two live leaderboards ranked by thewindow you specify:
- PnL leaderboard
- Volume leaderboard
Returns traders ranked over the selected window. The ranking runs in the database over the complete candidate set on the served column, with a deterministic tie-break, so pages never overlap. Default ranking is
total_pnl for window=all and realized_pnl (what was realized inside the window) for windowed boards.The response carries
total (size of the candidate set after min_trades and the bot filter; null only if it could not be counted), has_more (offset + rows < total), and echoes the resolved sort and order.It also carries a totals object — a board-wide aggregate over that same candidate set, for a stat-strip header rather than for paging:traders always equals total. profitable_traders/unprofitable_traders classify by the sign of total_pnl (realized + current open mark-to-market) — the one figure defined the same way on every window. totals is null only if it could not be computed; it never adds latency, since it’s computed alongside the ranked page rather than after it.Trader profile
The trader endpoints return comprehensive performance data for a single wallet across all markets.
Additional per-wallet endpoints:
Tax statements
Bravado generates formal accounting documents for tax reporting and financial reconciliation. Each statement type covers a specific aspect of wallet activity.Dispositions (Form 8949-style)
Dispositions (Form 8949-style)
Lists every closed position as a disposition row with acquisition date, disposal date, proceeds, cost basis, gain/loss, and holding-period term (
SHORT for positions held ≤ 365 days, LONG for positions held > 365 days). Formatted to mirror IRS Form 8949 for US taxpayers.Income
Income
Itemizes non-trade income received by the wallet: liquidity rewards, maker rebates, and referral bonuses. Each line includes the on-chain transaction hash and USDC amount.
Open positions
Open positions
A point-in-time snapshot of all open positions, share balances, cost bases, mark prices, and unrealized PnL. Useful for year-end Schedule D footnotes.
Capital flows
Capital flows
A chronological log of deposits into and withdrawals from the wallet. Distinguishes between USDC.e and pUSD flows.
Performance metrics
Performance metrics
Quantitative performance summary:
Reconciliation certificate
Reconciliation certificate
A machine-readable report of internal reconciliation checks for the processed statement. Read the individual check results and coverage disclosures; the certificate is not a guarantee of complete source history or an independent audit.