Skip to main content
The Bravado Data API surfaces trader performance data derived entirely from on-chain Polygon settlement records. Every PnL figure, position valuation, and fee total is calculated by a share-level FIFO cost-basis engine that replays each wallet’s full transaction history, no off-chain estimates or manual adjustments. The base URL for all endpoints is https://bravado-api-k7kaq.ondigitalocean.app.

Authentication

All endpoints (except /healthz) require a Bearer token in the Authorization header.

All Endpoints

PnL Model

Understanding how Bravado calculates PnL helps you interpret every number returned by the API. Realized PnL uses a cashflow model: proceeds from selling or redeeming shares minus the original cost to acquire them, net of fees, accounting for the full position lifecycle including partial closes and market resolution. Unrealized PnL marks open position shares at the latest available token prices from on-chain data. This figure changes continuously as market prices move. Fees are always reported gross, as a separate line item, regardless of whether you request basis=net. Net basis adjusts realized_pnl and total_pnl for fee impact, but the fees and total_fees fields always show the raw fee total. Income (maker rebates, liquidity rewards, referral rewards) is a separate line that is never netted into PnL. Use the income parameter to control how much detail you receive.

Common Query Parameters

The following parameters are accepted by multiple endpoints across the API.
string
default:"all"
Rolling time window for metric calculation. Accepted values: 1h, 4h, 24h, 7d, 30d, 90d, 365d, all.
string
default:"net"
Cost basis presentation. net deducts fees from realized PnL; gross excludes fee adjustments from PnL figures. The fees field is always populated regardless.
string
default:"total"
Income line-item detail. total returns a single aggregated income figure; detail breaks income into maker_rebate, reward_income, and liquidity_reward; none omits income entirely. The detail option is available on all-time queries only.

Numeric Types

All monetary values (PnL, volume, prices, balances) are returned as JSON strings to preserve decimal precision. Parse them with an arbitrary-precision decimal library before performing arithmetic.

Wallet Addresses

All {address} path parameters accept Polygon EOA addresses in 0x… format. Matching is case-insensitive. You may pass checksummed or lowercase addresses interchangeably.

Timestamps

Timestamp fields are Unix seconds integers unless the field name indicates otherwise (for example, fields ending in _at may be RFC 3339 strings). Check individual endpoint documentation for field-level details.

Errors

All error responses follow a consistent shape with an appropriate HTTP status code.
Common status codes:

Liveness Probe

You can verify API availability without authentication using the health endpoint.
ts is an RFC 3339 UTC timestamp. This endpoint requires no Authorization header and returns 200 when the service is healthy.