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.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.
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"
}
}
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.
| Capability | Sandbox tier | Trade-capped tier | Trade-full tier |
|---|---|---|---|
| Read markets, movers, resolution | Yes | Yes | Yes |
| Read own portfolio + orders | Yes | Yes | Yes |
| Place orders | Yes, up to $10 each | Yes, up to $100 each | Uncapped |
| Daily notional cap | $100 | $1,000 | Uncapped |
| Cancel orders | Yes | Yes | Yes |
| Rate limit (per minute) | 60 | 300 | 3000 |
| Fee-attribution ledger | Yes (fills recorded to fee_ledger) | Yes | Yes |
| Attributable to your app | Yes — 40% builder share (12 bps: 6 acq + 6 exec), 17% creator share (5 bps) | Yes | Yes |
| Expiry | 30 days from mint | Perpetual | Perpetual |
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.
# 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" }
Sandbox is for zero-friction exploration. When you're ready to route real user flow:
use_case ≥ 50 chars + homepage_url provided + ≤ 3 intended_scopes + no dup handle in last 30 days.self_serve → read_live at $100 30d attributed volume, then read_live → trade_capped at $1,000 (see v2.3.0). Beyond trade_capped (trade_full, genesis, partner) requires admin operator approval.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.