⚠ INTERNAL — Operator UX mock · Design preview of V2 development path · demo-wired ≠ production-live · back to dev guide
Polygon · pUSD 10
📓 Developer Guide 📋 Reason Codes 📈 Shadow Mode
JD John Doe · Admin

Sum-to-One Arb

strat.sum-to-one-arb
Strategy live General live frozen flagship

Sum-to-One Arb detects when the combined cost of buying both YES and NO tokens on a standard binary market falls below $1.

What it does

Sum-to-One Arb detects when the combined cost of buying both YES and NO tokens on a standard binary market falls below $1.00 pUSD, net of platform fees and a configurable fee buffer. When edge (in basis points) exceeds min_edge_bps, the bot emits a pair of OrderIntents — one for YES and one for NO — sized to the smaller of the two books up to max_leg_size_usd. Both legs fill to produce a guaranteed $1.00 settlement regardless of outcome. This is a user-controlled execution tool that exploits CLOB pricing dislocations in standard 2-outcome markets. It does not touch negative-risk or multi-outcome events; those are handled by neg-risk-sum-arb.

Pipeline placement

runs after: Market scanner / opportunity feed Sum-to-One Arb runs before: Risk guardrail pipeline

Applies to: All standard binary (2-outcome YES/NO) CLOB markets where best_ask_YES + best_ask_NO < 1.00 pUSD net of fee buffer

Why it matters

If this failsConsequence
Edge is measured incorrectly (ignores fees)Platform fee C×feeRate×p×(1-p) peaks at p=0.5. Entering without fee buffer eats the edge entirely and turns a positive-expectation trade into a loss.
Slippage consumes one leg between intent generation and fillIf the YES leg fills but the NO leg moves before submission, the combined cost may exceed $1.00 and the guaranteed profit becomes a guaranteed loss.
Market closes or resolves between the two legsSubmitting a GTC order for the second leg on a market that has resolved or halted leaves an open order with no offsetting settlement path.
feeRateBps hardcoded on signed order (V1 pattern)CLOB V2 rejects orders with feeRateBps present. Fees are operator-set at match time. The signed order must not contain this field.

Inputs

Polymarket inputs

InputSourceRequiredUse
Best ask on YES and NO token IDsws_market (CLOB WebSocket)requiredCompute sum_of_asks = best_ask_YES + best_ask_NO and measure edge against 1.00 pUSD.
Top-of-book depth for both legsclob_publicrequiredSize each leg to the minimum of depth available and max_leg_size_usd.
Market condition ID, outcome token IDs, negRisk flagclob_public / internalrequiredConfirm market is binary (negRisk=false) and not closed or resolved.
Platform fee rate for market categoryonchain (CTFExchangeV2 fee config)requiredEstimate fee drag C×feeRate×p×(1-p); crypto ≤1.80%, sports 0.75%, geopolitical free.
Market open/closed/resolved statusclob_publicrequiredSkip closed or resolved markets immediately.

Internal inputs

InputSourceRequiredUse
KillSwitch active flagKillSwitchrequiredAbort intent emission if KillSwitch is active.
Builder code bytes32internal configrequiredInjected into builder field on every signed V2 order for attribution.

Authority

What this bot is permitted to do

Trade

State

Readiness

General live

Status

live

Class

Alpha Strategy

Default mode

general_live

Developer owner

Polytraders core — Strategy pod

Capital impact

Direct

Reason codes emitted

CodeSeverityMeaningAction
SUM_TO_ONE_ARB_EDGE_PRESENTINFONet edge after fee and slippage buffers meets or exceeds min_edge_bps. OrderIntent pair emitted.Emit YES + NO OrderIntents.
SUM_TO_ONE_ARB_NO_EDGEINFONet edge is below the 5 bps absolute hard floor. No trade opportunity exists after fees.Skip; emit DecisionReport with intent_emitted=false (sampled 1/100).
SUM_TO_ONE_ARB_EDGE_MARGINALWARNEdge is between the hard floor (5 bps) and the warning threshold (15 bps). Trade is marginal.Emit OrderIntents at 50% leg size; log warning.
SUM_TO_ONE_ARB_DEPTH_INSUFFICIENTWARNTop-of-book depth on one or both legs is below the minimum viable trade size (10 pUSD).Skip; emit DecisionReport with intent_emitted=false.
STALE_MARKET_DATAHARD_REJECTBook snapshot or market metadata is older than 5 seconds.Skip; no OrderIntent emitted.
MARKET_CLOSEDHARD_REJECTMarket is closed, resolved, or has neg_risk=true (wrong strategy).Skip immediately; no OrderIntent emitted.
KILL_SWITCH_ACTIVEHARD_REJECTGlobal kill switch is active.Skip all markets; no OrderIntents emitted.
PARAMETER_CHANGE_REQUIRES_APPROVALHARD_REJECTA config change would push a parameter past its locked hard limit (e.g. max_leg_size_usd > 1000).Reject config change; do not apply.

Used by

Reverse index — strategies that currently reference strat.sum-to-one-arb. If you change this bot's authority or reason codes, these strategies must re-pass shadow.

StrategyStateActivity
Crypto Q2 — basket rebalancefrozenlast triggered 19m ago
US Elect — book-builderdemo-wiredlast triggered 26m ago
NBA H2H — moneyline market-makedemo-wiredlast triggered 33m ago

Showing 3 of 3 · demo-wired ≠ production-live

Why this matters

Strategy bots does NOT sign, route, or directly submit orders to the chain. Understanding the authority boundary prevents misuse and makes promotion-gate reviews faster and more reliable. View raw spec JSON →
Polytraders Operator UX Mock · INTERNAL · demo-wired ≠ production-live · the plan · reason codes · shadow-mode pipeline
⚙ Page Configuration
Current page settings
Loading configuration…