Balance
Authentication
This endpoint accepts either an API key (X-API-Key: <key>, or the
PM-compat POLY_API_KEY / Authorization: Bearer ps_live_... aliases) or
a Supabase Bearer JWT (Authorization: Bearer <jwt>). The balance
returned is always the API wallet regardless of which scheme you use.
(Most account endpoints — positions, portfolio, history, equity — are API-key
only; balance and reset-api-balance are the exceptions that also accept the
JWT.)
Request
Response
Numeric & Decimal Precision: Cash fields (
balance, starting_balance) are
formatted to 2 decimal places. P&L-derived fields (unrealized_pnl, total_value)
preserve full Decimal precision (up to 19+ decimal places) from internal position
accounting. Always parse monetary fields with Decimal(str_value) (Python) or a
bignumber library, never cast to IEEE-754 float.Need a clean slate?
POST /v1/account/reset-api-balance resets the API
wallet to your tier baseline (Pro: 25,000) and closes all
open API positions. On a paid tier resets are currently uncapped — the
cooldown is API_RESET_COOLDOWN_DAYS, presently 0. On Free it returns
402 UPGRADE_REQUIRED; the $100 budget is non-renewable. See
Wallets for the full reset semantics.Python Example
Errors
All errors return a JSON body of the shape{"error": "<CODE>", "message": "<human-readable>"}.