BasisTrader
BasisTrader identifies and trades the price basis between a Polymarket market and an off-platform reference (sportsbook line, futures price, or consen
What it does
BasisTrader identifies and trades the price basis between a Polymarket market and an off-platform reference (sportsbook line, futures price, or consensus poll) when the resolution rules of both platforms are provably identical. The bot buys the Polymarket leg when it is cheap relative to the reference and the basis exceeds min_basis_bps after fees.
Pipeline placement
Applies to: Polymarket binary markets with an identified off-platform reference (sportsbook, futures, poll) sharing identical resolu
Why it matters
| If this fails | Consequence |
|---|---|
| Reference instrument diverges post-entry due to rule change | If the off-platform reference changes its resolution criteria after the basis trade is entered, the position is no longer hedged and becomes an unprotected directional bet. |
| Stale input data | Acting on stale signals for BasisTrader produces trades based on outdated market conditions, generating adverse fills. |
| KillSwitch not respected | Emitting OrderIntents while KillSwitch is active bypasses risk controls. |
Inputs
Polymarket inputs
| Input | Source | Required | Use |
|---|---|---|---|
| CLOB book (mid, depth, spread) | ws_market | required | Read current market price and available depth for order sizing. |
| Market status (open/closed/resolved) | clob_public | required | Skip closed or resolved markets. |
Internal inputs
| Input | Source | Required | Use |
|---|---|---|---|
| KillSwitch active flag | KillSwitch | required | Abort all intent emission if KillSwitch active. |
| BasisTrader analytics signal | internal (analytics engine) | required | Provides the core BasisTrader signal that drives trade decisions. |
| Builder code bytes32 | internal config | required | Injected into builder field on every signed V2 OrderIntent. |
Authority
What this bot is permitted to do
State
Readiness
Spec started
Status
planned
Class
Alpha Strategy
Default mode
shadow_only
Developer owner
Polytraders core — Strategy pod
Capital impact
Direct
Reason codes emitted
| Code | Severity | Meaning | Action |
|---|---|---|---|
| BT_TRADE | INFO | All gates passed. IOC OrderIntent emitted for BasisTrader. | Emit IOC OrderIntent. |
| BT_MARGINAL | WARN | Edge is within the warning threshold; size reduced 50%. | Emit at 50% size; log warning. |
| BT_NO_EDGE | INFO | Edge below hard floor. Skipping. | Skip; emit sampled DecisionReport. |
| BT_RULE_MISMATCH | HARD_REJECT | Resolution rules differ between Polymarket and reference instrument. | Skip; no OrderIntent. |
| BT_REFERENCE_STALE | HARD_REJECT | Reference instrument price is stale (> 30s). | Skip; no OrderIntent. |
| BT_HARD_REJECT | HARD_REJECT | A critical gate condition blocked the trade (stale data, kill switch, or hard parameter breach). | Skip; no OrderIntent. |
| KILL_SWITCH_ACTIVE | HARD_REJECT | Global kill switch is active. | Skip all markets; no OrderIntents emitted. |
Related bots in Strategy
Used by
Reverse index — strategies that currently reference strat.basistrader. If you change this bot's authority or reason codes, these strategies must re-pass shadow.
| Strategy | State | Activity |
|---|---|---|
| AI Frontier — release-day taker | frozen | last triggered 45m ago |
| NBA props — line-shop | demo-wired | last triggered 5m ago |
| Crypto Q2 — basket rebalance | frozen | last triggered 12m 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 →