Polymarket
Connect a Polymarket Deposit Wallet account to trade on the CLOB
Polymarket is a crypto-native prediction market on the Polygon network.
Capabilities
| Feature | Supported |
|---|---|
| Search markets | ✓ |
| Place / cancel orders | ✓ |
| Read balance | ✓ |
| Read positions | ✓ |
| Read history | ✓ |
Supported accounts
Prediction Router supports Polymarket accounts that use a Deposit Wallet, the default wallet for every Polymarket account created since May 2026. Legacy Proxy and Safe wallets, and plain EOA wallets, aren't supported: Polymarket no longer accepts orders from plain wallets.
You need two things:
| Field | Where to find it |
|---|---|
wallet | Your account wallet address: polymarket.com → profile menu → copy address |
privateKey | The signer key that owns that Deposit Wallet, e.g. exported from polymarket.com settings or from the wallet you log in with |
Prediction Router checks that wallet is the Deposit Wallet derived from privateKey, and rejects anything else.
Connecting
Connecting takes two calls. First, exchange your key and wallet for a Polymarket credential:
curl -X POST "https://prediction-router-api.kalashshah47.workers.dev/v1/platform-accounts/polymarket/derive-api-key" \
-H "Authorization: Bearer pr_..." \
-H "Content-Type: application/json" \
-d '{
"privateKey": "0xyour-signer-private-key",
"wallet": "0xyour-polymarket-wallet-address"
}'Response:
{ "credential": "{\"apiKey\":\"…\",\"secret\":\"…\",\"passphrase\":\"…\",\"address\":\"0x…\",\"privateKey\":\"0x…\",\"wallet\":\"0x…\"}" }Then store it as a platform account:
curl -X POST "https://prediction-router-api.kalashshah47.workers.dev/v1/platform-accounts" \
-H "Authorization: Bearer pr_..." \
-H "Content-Type: application/json" \
-d '{ "platform": "polymarket", "label": "Main account", "credential": "<credential from step 1>" }'The signer key is encrypted at rest and used only to sign orders for your Deposit Wallet. Prediction Router never withdraws or moves funds.
Accounts connected before Deposit Wallet support return 400 INVALID_CREDENTIAL with a request to reconnect.
Funding and approvals
Your Deposit Wallet must hold pUSD (Polymarket's USD collateral) and have trading approvals set. Completing onboarding on polymarket.com (depositing funds) sets both. Prediction Router refreshes Polymarket's allowance cache when you connect. If an order fails with not enough balance / allowance, deposit funds or finish onboarding on polymarket.com.
Orders
outcomeId is the outcome's CLOB token ID, amount is the number of shares, and price is the limit price per share. Orders rest good-till-cancelled.
Currency
Balances and history are denominated in USD (pUSD, reported as USDC).