Skip to main content

Wallets

PolySimulator separates trading balance into distinct wallets so that bot trading, manual UI trading, and paid sandbox experiments don’t interfere with each other. The wallet that fills your order depends on how the order was authenticated.

Wallets at a glance

As an API user, you only need to think about the API wallet. The UI MAIN and SANDBOX wallets are for human-trader use on the website.

The API wallet

When you create your first key with POST /v1/keys/bootstrap, your account is seeded with your tier’s API wallet baseline (10,000onPro,10,000 on Pro, 25,000 on Pro+; Free-tier API keys are read-only and have no API wallet seeded). Every order you place via X-API-Key debits this wallet — GET /v1/account/balance always reports the API wallet balance for API-authenticated requests.

Resetting the API wallet

You can reset the API wallet to your tier’s starting balance at any time — this also closes any open API-sourced positions. Pro keys reset to 10,000;Pro+keysresetto10,000; Pro+ keys reset to 25,000.
The reset response carries four fields:
API wallet resets are free and currently uncapped — there is no cooldown during the beta period (through 2026-08-31). After that a daily cooldown may apply, but resets stay included with the API tier. Use them aggressively to test new strategies from a clean baseline.

Scoping account reads to a wallet

The account read endpoints accept a wallet_id query parameter with three forms (case-insensitive keywords): Supported on Positions, Trade History, Profile Analysis, Portfolio and Equity Curve. Balance is always API-wallet scoped. Any other wallet_id value returns 422 VALIDATION_FAILED.
Migration note (2026-06-10): GET /v1/account/positions, GET /v1/account/history and GET /v1/account/profile-analysis previously defaulted to all wallets when wallet_id was omitted. Since 2026-06-10 they default to the API wallet, consistent with Balance/Portfolio/Equity. Pass wallet_id=all to keep the old behaviour.

Why the wallets are separate

The split exists so that:
  • Bots can crash without nuking your UI portfolio. A runaway loop that blows the API wallet doesn’t touch your $1,000 MAIN balance or any SANDBOX experiment.
  • The leaderboard stays clean. Only MAIN-wallet trades count toward leaderboard ranking — bot performance is tracked separately on the API beta dashboard.
  • Paid top-ups don’t mix with sacred state. Top-ups always credit SANDBOX wallets; the MAIN $1,000 is preserved as the canonical “fresh-account” baseline for any user.

Top-ups (paid)

Top-ups are paid Stripe purchases that credit a SANDBOX wallet for users who want extra paper-trading capital on the UI side. They do not affect the API wallet. If you only use the API, you can ignore this entire section.

See also

  • BalanceGET /v1/account/balance reference
  • Portfolio — combined balance + positions snapshot
  • API keys — bootstrap and key management