Funding model: Polymarket, Predict.fun, Opinion, and Limitless fund through one Base USDC deposit wallet via
POST /transfers. Hyperliquid funds separately via Across. See Funding & Withdrawals.What you get
Managed wallets
Per-venue wallets provisioned on demand via Turnkey. No private keys to store, no signing flow to build. One account spans every supported venue.
One funding flow
Single USDC deposit wallet on Base. Move funds to any enabled venue with
POST /transfers. Bridge from Ethereum, Arbitrum, Polygon, BSC, or Optimism via Quote Transfer.Per-venue order shapes
Need full control? Place orders directly against a specific venue with native order types, with normalized request and response shapes.
Partner fees
Monetize an integration by attaching a partner fee policy. Set per-venue rates, take a cut of every fill.
Position management
Aggregated positions across venues, redemption of resolved markets, and consolidation back to your deposit wallet — all from one API.
Winding down your account
New account creation is closed, and trading stops on June 25, 2026. The path that matters now: cancel open orders → redeem resolved positions → withdraw. Full walkthrough in Funding & Withdrawals →Python
What’s in this tab
Market Discovery
Canonical markets, venue listings, outcome resolution, and matched pairs — the unified cross-venue discovery layer.
Accounts & Custody
Create accounts, enable venues, query balances and positions, redeem resolved markets, withdraw funds.
Funding & Transfers
Deposit info, internal transfers (deposit ↔ venue), cross-chain bridging via Quote Transfer.
Venue-Specific Orders
Native per-venue orders when you want explicit control. Normalized request and response shapes.
Partner Fees
Set per-venue fee rates and earn a share of every fill from accounts owned by your API key.
Guides
End-to-end walkthroughs for funding, placing trades, and fee monetization.
Supported venues
| Venue | Chain | Collateral | Order types |
|---|---|---|---|
| Polymarket | Polygon | pUSD | Limit, market |
| Predict.fun | BSC | USDT | Limit, market |
| Opinion | BSC | USDT | Limit, market |
| Limitless | Base | USDC | Limit, market |
| Hyperliquid | HyperCore | USDH (USDC-pegged) | Limit, market |
POST /transfers. Hyperliquid funding uses Across — see Funding & Withdrawals for the details.
Discovering markets to trade
Market discovery is built into this tab — the Market Discovery section gives you the unified Predexon-native view:- Canonical Markets — cross-venue market containers with outcome-level
predexon_ids - Canonical Listings — venue-native execution metadata behind each outcome
- Canonical Outcome — resolve a
predexon_idto every venue listing for that outcome - Matched Pairs — pre-computed cross-venue arb candidates
Account Limits
Each API key can create accounts up to its plan limit:| Tier | Account limit |
|---|---|
| Free | 5 |
| Dev | 50 |
| Pro | 1,000 |
| Enterprise | Custom |
Error Handling
Every error response uses the same envelope:error— stable snake_case code. Branch on this; it never changes value once shipped.message— human-readable explanation. Free-form, may change; show it to humans but don’t parse it.requestId— request correlation id, also returned in thex-request-idresponse header. Quote it when contacting support.
| Status | Common error codes | Action |
|---|---|---|
| 400 | validation_error, missing_field, invalid_field, insufficient_balance, min_notional_not_met, parse_error | Fix the request and retry |
| 401 | unauthorized, invalid_api_key | Check your x-api-key header |
| 403 | forbidden, account_not_owned | Verify the account belongs to your key |
| 404 | account_not_found, order_not_found, transfer_not_found, endpoint_not_found | Check the ID or URL |
| 409 | conflict, nonce_replay | Retry the request |
| 413 | payload_too_large | Reduce the request body size |
| 429 | rate_limited | Back off; respect tier limits |
| 5xx | internal_error, upstream_error | Retry with exponential backoff |
5xx errors with exponential backoff. Do not retry 4xx errors — they indicate a problem with the request.
POST /api/accounts/{accountId}/transfers returns a resource body with status: 'failed' instead of an error envelope when the operation ran but didn’t deliver — if the on-chain transfer reverted, it returns 201 with transfer.status === 'failed'. Read transfer.error / transfer.errorCode.The API call succeeded — the resource failed. Branch on status, not on HTTP code.Authentication & limits
All endpoints in this tab live onhttps://trade.predexon.com and authenticate via the x-api-key header — the same key you use for Data & Signals. Trading API calls are free on every plan and never count toward your Data API request quota. See Authentication and Rate limits in Start Here for full plan details.