API Reference
Insiders API

Insiders API Routes

Base URL: https://api.polyinsiders.com/api
Codebase: /polyinsiders-backend-v1/src/routes/

🔒 = requires user JWT (Authorization: Bearer <token>). 🔑 = requires admin JWT.


Auth · /api/auth

MethodPathAuthDescription
POST/loginLogin via email/social (Privy)
POST/verifyVerify login token
POST/login/walletLogin via wallet signature
POST/wallet/link🔒Link an additional wallet
POST/wallet/privy🔒Link Privy-managed wallet
GET/wallet🔒Get linked wallets
POST/set-primary-wallet🔒Set primary wallet
DELETE/wallet/:walletId🔒Unlink a wallet
POST/wallet/2fa/init🔒Initiate 2FA setup
POST/wallet/2fa/verify🔒Verify 2FA code
POST/wallet/2fa/disable🔒Disable 2FA
GET/wallet/2fa🔒Get 2FA status

Trading · /api/trade

MethodPathAuthDescription
POST/buy🔒Buy an outcome token
POST/sell🔒Sell an outcome token
POST/buy-signal🔒Buy directly from a signal
POST/sell-position🔒Sell an open position

EOA Trade · /api/eoa-trade

MethodPathAuthDescription
POST/prepare🔒Prepare an EOA order
POST/execute🔒Execute prepared EOA trade

Legacy (deprecated)

MethodPathAuthDescription
POST/api/buy🔒Legacy buy — use /trade/buy
POST/api/sell🔒Legacy sell — use /trade/sell

Signals · /api/signals

MethodPathAuthDescription
GET/v1V1 signals (public)
GET/v1.2🔒V1.2 signals
GET/:id🔒Single signal by ID
GET/stats🔒Signal performance stats
GET/user/:id🔒Signals by user

V1.3 Signal System · /api/v13

MethodPathAuthDescription
GET/signalsAll V1.3 signals
GET/signals/:idSingle V1.3 signal
GET/stats/overallOverall performance stats
GET/stats/by-tagStats grouped by tag
GET/stats/timelineDaily performance timeline
GET/stats/recentLast 1h / 4h / 24h stats
GET/leaderboardTop traders by tag (?tag= required)
GET/markets/activeActive markets with V1.3 signals

GET /api/v13/signals query params:
tag · sent · resolved · limit (default 50, max 500) · offset · since (ISO timestamp) · conditionId · isSmartMoney


Portfolio · /api/portfolio

MethodPathAuthDescription
GET/positions🔒Current open positions
GET/stats🔒Portfolio summary stats
GET/history🔒Trade history

PnL · /api/pnl

MethodPathAuthDescription
GET/market/:marketTitlePnL for a market
GET/signal/:signalIdPnL for a signal
GET/data/:marketTitleRaw PnL chart data

User Position PnL · /api/user-pnl

MethodPathAuthDescription
POST/shareCreate shareable position card
GET/image/:shareIdPosition OG image
GET/meta/:shareIdPosition OG metadata

Market · /api/market

MethodPathAuthDescription
GET/market/:slugPolymarket market by slug

Balances · /api/balances

MethodPathAuthDescription
GET/:walletToken balances for a wallet
GET/:wallet/multichainMultichain balances
POST/Batch balance lookup

TPSL · /api/tpsl

See TPSL Routes for full documentation.

MethodPathAuthDescription
POST/triggers🔒Create TP/SL trigger
GET/triggers🔒List user's triggers
GET/triggers/:id🔒Get single trigger
PATCH/triggers/:id🔒Update trigger
DELETE/triggers/:id🔒Cancel trigger

Copy Trading · /api/copytrade

See Copy Trading Routes for full documentation.

MethodPathAuthDescription
GET/top-tradersTop traders to copy
GET/trader/:addressTrader profile
GET/history🔒Copy trade history
POST/subscriptions🔒Create copy subscription
GET/subscriptions🔒List subscriptions
GET/subscriptions/:id🔒Get subscription
PATCH/subscriptions/:id🔒Update subscription
DELETE/subscriptions/:id🔒Cancel subscription

Limit Orders · /api/limit

MethodPathAuthDescription
GET/🔒List open limit orders
DELETE/:orderId🔒Cancel a limit order
DELETE/cancel-all🔒Cancel all open limit orders

Wallets · /api/wallets

MethodPathAuthDescription
GET/:addressWallet profile
GET/:address/closed-positionsClosed positions
GET/:address/pnl-chartPnL chart data
GET/:address/statsWallet stats
PUT/:walletId/name🔒Rename a wallet
POST/:walletId/approve-fees🔒Approve fee allowance
GET/:walletId/fee-status🔒Fee approval status

Wallet Tags · /api/v2

⚠️ Wrong host — currently on tpslapi.polyinsiders.com, not the main API.
VITE_WALLET_TAGS_API_URL defaults to https://tpslapi.polyinsiders.com. Routes below are relative to that host.

🚫

Migration required — move tags API into main ClickHouse pipeline ASAP.
Tags are currently served from a separate host (tpslapi.polyinsiders.com) backed by a standalone CH-fed daemon. This needs to be consolidated into apiclick.polyinsiders.com or the main ClickHouse query layer. Until then, any infra change to tpslapi directly breaks tags across the entire frontend (leaderboard, wallet detail, copy-trade UI, trader search).

MethodPathAuthDescription
POST/api/v2/wallets/tagsBulk tag lookup (≤100 wallets per call, body: {wallet_addresses:[]})
GET/api/v2/wallet/:address/tagsTags for a single wallet
GET/api/v2/wallets/tags/schemaSlug → display_name/emoji/floor table (cached 5min)
GET/api/v2/wallets/by-tag/:tagWallets with a given tag

WalletTag shape:

{
  tag: string
  display_name: string
  emoji: string
  category: string
  confidence: number
  evidence?: Record<string, number>
  first_assigned_at: string
  last_refreshed_at: string
}

Wallet Setup · /api/wallet-setup

MethodPathAuthDescription
GET/:walletId/status🔒Wallet setup status
POST/:walletId/complete🔒Mark setup complete
POST/:walletId/auto-approve🔒Auto-approve fees

Wallet Withdraw · /api/wallet-withdraw

MethodPathAuthDescription
GET/config🔒Withdrawal config (limits, fees)
POST/:walletAddress/destinations🔒Add destination address
POST/:walletAddress/withdraw🔒Initiate withdrawal
POST/:walletAddress/bridge-withdraw🔒Bridge-based withdrawal

Swap · /api/swap

MethodPathAuthDescription
POST/usdc-to-usdce/allPreview all USDC→USDCe routes
POST/usdc-to-usdceExecute USDC→USDCe
POST/usdce-to-pusdPreview USDCe→pUSD
POST/usdce-to-pusd/execute🔒Execute USDCe→pUSD

Transfer · /api/transfer

MethodPathAuthDescription
POST/🔒Transfer tokens between wallets

Bridge · /api/bridge

MethodPathAuthDescription
GET/supported-assetsSupported bridge assets
POST/depositInitiate bridge deposit
POST/withdrawInitiate bridge withdrawal
POST/quoteGet bridge quote
GET/status/:addressBridge transaction status

Approvals · /api/approvals

MethodPathAuthDescription
GET/Pending approvals (?wallet=)
POST/Create approval
POST/execute🔒Execute approvals

Redeem · /api/redeem

MethodPathAuthDescription
GET/asset/:assetIdGet redeemable asset info
POST/assetRedeem an asset
GET/condition-id/:assetIdGet condition ID
POST/conditionRedeem by condition

Batch · /api/batch

MethodPathAuthDescription
POST/Batch transaction execution

Referral (Legacy v1) · /api/referral

⚠️

This is the legacy v1 referral API in the main backend. New integrations should target the Referral v2 service.

MethodPathAuthDescription
POST/codes🔒Create referral code
GET/codes🔒List user's codes
POST/apply🔒Apply a referral code
GET/stats🔒Referral stats
GET/balance🔒Referral earnings balance
GET/referrals🔒List referred users
GET/tier🔒Current tier

Rebate · /api/rebate

MethodPathAuthDescription
GET/tier🔒Current rebate tier
GET/balance🔒Rebate balance
GET/history🔒Rebate history
POST/withdraw🔒Request rebate withdrawal
GET/withdrawals🔒Withdrawal requests
DELETE/withdrawals/:id🔒Cancel withdrawal

Points · /api/points

MethodPathAuthDescription
GET/balance🔒Points balance
GET/history🔒Points history
GET/rewards🔒Available rewards
POST/redeem🔒Redeem points
GET/redemptions🔒Redemption history

Leaderboard · /api/leaderboard

MethodPathAuthDescription
GET/leaderboardGlobal leaderboard
GET/:addressTrader entry
GET/:address/signalsTrader's signals
GET/:address/pnl-chartTrader PnL chart
GET/:address/tagsTrader's tags
POST/batch-scoresBatch score lookup

Activity · /api/activity

MethodPathAuthDescription
GET/:walletAddress🔒Activity feed for wallet

Analytics · /api/analytics

MethodPathAuthDescription
GET/Platform analytics snapshot

User & Identity

/api/user

MethodPathAuthDescription
GET/ (various)🔒User profile endpoints

/api/username

MethodPathAuthDescription
POST/resolveResolve username → userId
GET/resolve/:usernameGet user by username
GET/searchSearch usernames

Language · /api/language

MethodPathAuthDescription
GET/:identifierGet strings for locale
POST/update🔒Update language strings
POST/update/:identifierUpdate by identifier

AI Chat · /api/gemini

MethodPathAuthDescription
POST/chatAI chat (market context)
POST/insightsAI market insights
POST/researchAI deep research

CLOB Proxy · /api/clob-proxy

MethodPathAuthDescription
POST/auth/api-keyGet CLOB API key
GET/auth/derive-api-keyDerive CLOB API key
GET/timeCLOB server time

L2 Credentials · /api/l2-credentials

MethodPathAuthDescription
POST/store🔒Store Polymarket L2 credentials
GET/check/:walletAddress🔒Check if L2 creds exist

Last Price · /api/lastprice

MethodPathAuthDescription
GET/Last traded price (?marketId=)

Pro · /api/pro

MethodPathAuthDescription
GET/status/:userId🔒Pro subscription status
POST/upgrade/:userId🔒Upgrade to Pro
POST/downgrade/:userId🔒Downgrade from Pro

Admin · /api/admin

🚫

All admin routes require admin-level JWT. Never expose to end users.

User Management

MethodPathDescription
GET/user-lookupLookup user by query
GET/user-searchSearch users

Referral Admin

MethodPathDescription
PATCH/referral/tier/:userIdSet user referral tier
GET/referral/overviewReferral program overview
GET/referral/withdrawalsAll referral withdrawal requests

Rebate Admin

MethodPathDescription
GET/rebate/withdrawalsAll rebate withdrawals
GET/rebate/tiersTier config
PATCH/rebate/tiers/:tierUpdate tier config
PATCH/rebate/tier/:userIdSet user tier
GET/rebate/chainsChain configs
POST/rebate/chainsAdd chain config
GET/rebate/overviewRebate overview stats

Points Admin

MethodPathDescription
POST/points/rewardsCreate reward
PATCH/points/rewards/:idUpdate reward
POST/points/awardManual points award