Prediction Router
Platforms

Polymarket

Connect a Polymarket Deposit Wallet account to trade on the CLOB

Polymarket is a crypto-native prediction market on the Polygon network.

Capabilities

FeatureSupported
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:

FieldWhere to find it
walletYour account wallet address: polymarket.com → profile menu → copy address
privateKeyThe 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).