PolyZig exposes a full REST API and a first-party Model Context Protocol server. Hosted clients like Poke connect with PolyZig OAuth, so users sign in with Apple or email instead of pasting keys. Developer clients can still use scoped pzk_* keys. Agents can discover top traders, preview trades, start copy configs, monitor PnL, and place orders with sub-500ms execution.
Poke uses PolyZig OAuth so users approve access with Apple/email login. Developer clients can mint API keys from the dashboard with explicit scopes. Deny-by-default route gates keep unscoped agent credentials out of writes.
REST writes use Idempotency-Key headers. MCP writes use an idempotency_key argument and fail closed if Redis safety is unavailable. Direct live orders and copy-config creation also require an unexpired preview_id.
Every error has a stable code. Pagination metadata in response headers. Money serialized as decimal strings (*_dec mirror fields). OpenAPI 3.1 spec published at /openapi.json and Swagger UI at /api/docs.
Poke recipes should register/connect through PolyZig OAuth. The user signs in with Apple, email, or another enabled PolyZig identity, approves scopes, and Poke receives a scoped pzo_* access token.
Authorization server: https://api.polyzig.com/.well-known/oauth-authorization-server
Protected resource: https://api.polyzig.com/.well-known/oauth-protected-resource
MCP URL: https://api.polyzig.com/api/mcp
Credential mode: OAuth user login (Apple/email/connected identity)
Recommended scopes: read:account read:positions read:trades read:markets trade:execute trade:cancelSign in, visit /dashboard/keys, and create a key with the scopes your agent needs. The secret is shown once.
curl https://api.polyzig.com/api/users/me \
-H "Authorization: Bearer pzk_live_..."Always set paper_trading: true on the first run for any new target — watch a session, check PnL, then promote.
# Create a paper-trading copy config for a target wallet
curl -X POST https://api.polyzig.com/api/configs \
-H "Authorization: Bearer pzk_live_..." \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"target_address": "0xWHALE_ADDRESS",
"target_name": "polymarket-whale",
"size_multiplier": "0.1",
"paper_trading": true
}'Poke uses the OAuth metadata above. For developer clients, drop this into Claude Desktop's claude_desktop_config.json (or Cursor's equivalent). Your agent gets the full tool catalogue, scoped to what your key allows.
{
"mcpServers": {
"polyzig": {
"type": "http",
"url": "https://api.polyzig.com/api/mcp",
"headers": {
"Authorization": "Bearer pzk_live_..."
}
}
}
}Clients that consult /.well-known/mcp.json pick up the endpoint, transport, and scope list automatically.
Default to the minimum scopes your agent needs. A monitoring agent should not have trade:execute; a copy-trading agent should not have wallet:write.
| Scope | Grants |
|---|---|
read:account | Profile, balance, PnL summary |
read:positions | Open + paper positions |
read:trades | Trade history and fills |
read:markets | Market search, depth, history, open orders, leaderboard data |
trade:execute | Place orders; create + start + stop copy configs |
trade:cancel | Cancel resting CLOB orders |
wallet:write | Claim resolved positions, withdraw, wrap-to-pUSD |
26 first-party tools. The MCP server returns only the subset your credential's scopes permit, so an agent doing read-only monitoring does not see write tools.
get_platform_statsget_trading_readinessread:accountsearch_marketsread:marketsget_market_detailsread:marketsget_market_depthread:marketsget_market_price_historyread:marketslist_top_tradersread:marketslist_open_positionsread:positionslist_paper_positionsread:positionslist_tradesread:tradesget_user_summaryread:accountlist_copy_configsread:accountget_copy_configread:accountget_config_pnlread:accountget_config_tradesread:tradessuggest_multiplierread:marketspreview_copy_configtrade:executecreate_copy_configtrade:executestart_copyingtrade:executestop_copyingtrade:executedelete_copy_configtrade:executepreview_market_ordertrade:executeplace_market_ordertrade:executelist_open_ordersread:marketscancel_ordertrade:cancelclaim_positionswallet:writeSign in and mint your first key in under a minute. Start with read:* scopes — promote to write access once you trust the agent loop.