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 requestbasis=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.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.