Polytraders Dev Guide
internal
Phase 1 · 9/109 wired

← Principles & schemas

Glossary

Plain-English definitions of every acronym, term, and Polymarket concept this guide uses. If a word appears in a bot page and is not defined here, file an issue.

A–C

Authority hierarchy
Risk > Security > Execution > Strategy > Discovery > Intelligence > Governance. A higher-authority layer can always block a lower one.
Backtest
An offline replay of a strategy against stored historical book/trade data for a chosen market set and time window. Output stays inside the strategy authoring surface and is always badged BACKTEST — it is never surfaced as a marketed track record.
Bot
In this dev guide, "bot" means any system activity — Discovery, Strategy, Risk, Execution, Security, Governance and Intelligence services all count. The dev guide ships 109 frozen bot specs across those seven families. Note: some downstream products use "bot" more narrowly (e.g. only auto-traders); see the product-team glossary in their own docs for that scope.
Bot class
One of: Guardrail, Execution Utility, Alpha Strategy, Signal Service, Governance Service, User Tool. Class describes what a bot does; layer describes where it sits.
Builder attribution
Polymarket's mechanism for paying integrators a share of the trading fee. In V2, attribution lives in the builderCode field on the signed order. Maker max 50 bps, taker max 100 bps.
Builder code
A bytes32 identifier for an integrator. Set on every order to claim attribution. Replaces V1's HMAC headers.
CLOB
Central Limit Order Book. Polymarket's matching engine. V2 since Apr 28, 2026.
Cluster
A read-only correlation grouping of markets, produced automatically from market metadata plus price-correlation. Three jobs in M2: (a) Portfolio risk uses clusters for cross-market exposure caps, (b) reporting uses them on receipt disclosure, and (c) strategies bind to clusters as their market scope — the set of markets the strategy evaluates. Clusters themselves are not user-edited in M2. Contrast with Watchlist.
Market scope
The set of markets a strategy evaluates within its target Portfolio's universe. Two modes in M2: cluster binding (primary — strategy binds to one or more clusters, in-scope set evolves with cluster membership) and manual list (fallback — hand-picked condition IDs, capped at 50 per strategy). Filter-expression DSL is deferred to M3. Backtest uses the same scope semantics as live. Scope transitions are audited via STRAT_MARKET_IN_SCOPE / STRAT_MARKET_OUT_OF_SCOPE.
condition_id
The 32-byte hex identifier of a Polymarket market on Polygon.
CTFExchangeV2
The on-chain settlement contract for V2. matchOrders() is the entry point.

D–G

Data API
https://data-api.polymarket.com. Public, no auth. Historical fills, prices, volumes.
EIP-712
The Ethereum standard for signing typed data. V2 Exchange domain version is "2"; ClobAuth stays at "1".
ExecutionPlan
The output of the Risk pipeline; the input to the Execution layer. See the schema on the Principles page.
Failure-mode block
The four-field summary every bot must declare: main_failure_mode, false_positive_risk, false_negative_risk, safe_fallback.
Gamma API
https://gamma-api.polymarket.com. Public, no auth. Markets and events metadata, including negRisk flags.
GovernanceLog
The immutable, audit-grade log emitted by Governance bots for every config change, manual override, or reconciliation event.

H–N

Idempotency
Running a bot twice with the same input must produce the same effect once. Idempotency keys live on the OrderIntent (intent_id) and propagate through the pipeline.
Liquidity-Pulse
The internal liquidity-quality model used by MarketQualityRanker and OpportunityQueue. Section 3.14 in the catalogue. Not a copy-trading feature.
Maker rebate
20–25% of fees collected, paid in pUSD, calculated per market. April 2026 pool: $5M for sports + esports.
NegRiskAdapter
The on-chain contract that lets you burn NO across a negative-risk set and receive pUSD, optionally re-minting YES elsewhere.
Negative-risk market
A Polymarket market type where outcomes are mutually exclusive and the sum of YES prices ought to equal $1. Sub-types: standard (closed set) and augmented (open set with explicit "Other"). Convert-arb opportunities exist when sum < $1.

O–S

OrderIntent
The standard message a Strategy emits. Read by every Risk bot. Carries strategy_id, market_id, side, size_usd, price, order_type, optional builder block.
Optimistic Oracle
UMA's resolution mechanism. $750 pUSD proposer bond, 2-hour challenge window. Disputed twice → escalates to UMA DVM (24–48h debate + ~48h voting).
Platform fee
Polymarket's protocol fee. Formula: C × feeRate × p × (1-p). Peaks at p = 0.5. Currently taker-only. Crypto markets up to 1.80%, sports 0.75%, geopolitical/global free.
Portfolio
The unit of account on Polytraders. Strategies run inside a portfolio, positions belong to a portfolio, balances and risk rules are per-portfolio. Strategy launches must select a target portfolio. See portfolios.
pUSD
Polymarket's V2 collateral asset. Standard ERC-20, USDC-backed. Replaces USDC.e.
Reason code
A stable, UPPER_SNAKE_CASE machine identifier on every bot output. See the reason-codes registry.
Risk layers
Three layers, each with a distinct job. Strategy — signal generation logic plus strategy-specific entry filters (e.g. min liquidity). Portfolio — sizing caps, max concurrent positions, cluster exposure, daily loss limit. Tenant — kill-switches, jurisdiction blocks, V2-only enforcement, builderCode pinning. Higher layer wins.
RiskVote
The output schema every Risk bot uses. APPROVE / RESHAPE_REQUIRED / REJECT / WARNING_ONLY.
RTDS
Real-time data stream. WebSocket endpoint wss://ws-live-data.polymarket.com. Crypto prices, equity prices, comments topics.
score_type
The kind of strategy_score a strategy emits. One of fair_value, confidence, expected_edge, custom. Each strategy declares its own; the UI renders the appropriate label.
strategy_score
The generic per-signal score a strategy emits. Replaces the legacy "Confidence Score" / "Fair Value" column. The interpretation is set by score_type: probabilistic strategies use fair_value, momentum/technical strategies typically use confidence or expected_edge. This keeps the platform open to non-probabilistic strategy families.

T–Z

Tenant
The outermost scope: an organisation on Polytraders. Holds tenant-level guardrails (kill-switches, jurisdiction blocks, V2-only enforcement, builderCode pinning), one-or-many portfolios, and shared registries.
Tick size
The minimum price increment on Polymarket. Currently 0.001 (0.1¢). Can change per market — observe the tick_size_change WebSocket event.
UMA
Universal Market Access. The protocol behind Polymarket's Optimistic Oracle.
Watchlist
A manual, user-curated grouping of markets. A view only — watchlists never gate data ingestion, and the registry always stores the full universe. Contrast with Cluster (automatic, read-only, used by risk).
WebSocket channels
Four endpoints. Market (book / trades / resolution events), User (auth-required, your fills/orders), Sports (live game data), RTDS (real-time price feeds). Distinct hostnames.