Sandbox

Anonymous self-serve sandbox key in 30 seconds. Same api.predictasiax.com host. Tier-capped so nothing you do can move real money. No email required.

Sandbox is now a tier, not a separate environment. Previously PAX operated a dedicated sandbox.predictasiax.com host with faucet + mock-oracle. As of v2.0.0 (2026-08-19), sandbox lives on the same production API with a per-key tier=self_serve flag that hard-caps orders at $10 each and $100/day. Fills are simulated at mid-price. No faucet, no reset, no waiting.

Mint a sandbox key

Anyone, from any IP, no authentication:

curl -X POST https://api.predictasiax.com/v1/sandbox-keys \
  -H "Content-Type: application/json" \
  -d '{"org_name":"my-test"}'

Response:

{
  "data": {
    "sk": "sk_live_abcdef0123...",       // this is your bearer — shown ONCE
    "api_key_id": "api_sbx_...",
    "builder_id": "bld_sbx_...",
    "app_id":     "app_sbx_...",
    "tier": "self_serve",
    "caps": {
      "max_order_usdt": "10",
      "daily_notional_usdt": "100"
    },
    "expires_at_ms": 1789741484472,      // 30 days out
    "sandbox_url": "https://api.predictasiax.com",
    "docs_url":    "https://docs.predictasiax.com/getting-started",
    "upgrade_url": "https://docs.predictasiax.com/request-access"
  }
}
Anti-abuse limits. POST /v1/sandbox-keys is rate-limited to 1 mint per IP per day and 1 mint per browser fingerprint per day. Both limits must clear. This protects against key-spam. Every subsequent mint from a hit-limit source returns 429 RATE_LIMITED.

What sandbox tier can do

CapabilitySandbox tierTrade-capped tierTrade-full tier
Read markets, movers, resolutionYesYesYes
Read own portfolio + ordersYesYesYes
Place ordersYes, up to $10 eachYes, up to $100 eachUncapped
Daily notional cap$100$1,000Uncapped
Cancel ordersYesYesYes
Rate limit (per minute)603003000
Fee-attribution ledgerYes (fills recorded to fee_ledger)YesYes
Attributable to your appYes — 40% builder share (12 bps: 6 acq + 6 exec), 17% creator share (5 bps)YesYes
Expiry30 days from mintPerpetualPerpetual

Everything else on the API works the same. There is no faucet, reset, or mock-oracle endpoint — orders on any tier fill instantly at the current mid-price in the CF-side control plane, so testing requires no waiting.

Use your key

# List markets
curl https://api.predictasiax.com/v1/markets \
  -H "Authorization: Bearer $SK"

# Place a $1 order (well within $10 cap)
curl -X POST https://api.predictasiax.com/v1/orders \
  -H "Authorization: Bearer $SK" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: my-first-order-$(date +%s)" \
  -d '{
    "user_id":         "your-user-id",
    "market_id":       "m_btc_150k_2026",
    "side":            "yes",
    "price":           "0.55",
    "size":            "2",
    "client_order_id": "cli-001"
  }'
# → filled + fee_ledger row + returned split shares

# Order over $10 → 429 TIER_LIMIT_EXCEEDED with detail:
#   { "tier": "self_serve", "cap": "10" }

Upgrade to trade-capped or trade-full

Sandbox is for zero-friction exploration. When you're ready to route real user flow:

  1. Submit Request access with a real-time channel handle (Telegram / Signal / Discord / Matrix / X DM). No email harvested.
  2. Requests are triaged into green (fast-tracked, response same business day) / yellow (standard queue, 3 business days) / red (auto-rejected — e.g. OFAC jurisdiction, use-case too thin). Green criteria: use_case ≥ 50 chars + homepage_url provided + ≤ 3 intended_scopes + no dup handle in last 30 days.
  3. An admin will DM you an NDA on your channel. Once signed, credentials are delivered via 1Password Secure Sharing (never on plain-text email).
  4. Auto-graduation cron promotes self_serveread_live at $100 30d attributed volume, then read_livetrade_capped at $1,000 (see v2.3.0). Beyond trade_capped (trade_full, genesis, partner) requires admin operator approval.
One prefix, one host, tier-scoped. All sandbox and production keys use the sk_live_* prefix and target api.predictasiax.com/v1. The tier flag on the key controls capability — self_serve caps orders at $10 each / $100 daily with simulated mid-price fills; read_live / trade_capped / trade_full unlock real trading with progressively higher limits; genesis / partner unlock upgraded rate limits. Promote to production by upgrading tier — no code change, no host switch.