Maker-Tight
Maker-Tight is a passive market-making strategy that posts resting maker orders inside the current touch when market conditions are benign (low volati
What it does
Maker-Tight is a passive market-making strategy that posts resting maker orders inside the current touch when market conditions are benign (low volatility, adequate volume, clean order flow). It quotes both YES and NO sides at a configurable edge (edge_bps) from the mid-price, sized to clip_size_usd. When spread is too tight to earn the edge, or when order-flow imbalance signals toxic flow, the bot skips the cycle and cancels any open quotes. This is a user-controlled execution tool for posting maker liquidity on predictive-event markets — not a directional betting strategy. Maker rebates (20–25% of platform fees, paid in pUSD) contribute to the overall return profile.
Pipeline placement
Applies to: Liquid binary markets where 24h volume ≥ min_volume_24h_usd, spread > min_spread_bps, and no toxic order flow is detecte
Why it matters
| If this fails | Consequence |
|---|---|
| Quoting into toxic flow without detection | Informed takers repeatedly fill the maker side immediately after posting, resulting in adverse selection losses that erode the quoted spread over time. Worked example Setup: Market 0x33b shows a 0.62/0.63 book with 4,500 pUSD depth on each side. Spread is 1 tick. Strategy is configured for `min_edge_bps=8, ladder_levels=3, per_level_size=400 pUSD`. Without bot: Without a tight-market specialist, the team's only maker is the generic ladder bot, which is configured for 3-tick spreads. It quotes inside 0.61/0.64 — outside the actual market — and never gets a fill. The rebate budget for the day goes unused. With bot: maker_tight quotes 0.621/0.629 across 3 levels per side. It earns the ladder rebate on the 12 fills that day, with Risk capping per-market inventory at 1,200 pUSD. Every quote carries a builderCode so the rebate is attributed correctly. |
| Posting quotes when spread < min_spread_bps | Quoting inside an already-tight spread earns no edge; the maker rebate does not cover the risk of being adversely selected on a fast-moving market. |
| Inventory skew not applied | Without skewing quotes toward the short side as inventory builds, the bot accumulates a directional position that violates the passive-maker intent and increases settlement risk. |
| feeRateBps hardcoded on signed maker order (V1 pattern) | CLOB V2 rejects orders with feeRateBps. Maker fees are operator-set at match time; the signed order must not contain this field. Maker fee_bps is capped at 50 bps. |
Inputs
Polymarket inputs
| Input | Source | Required | Use |
|---|---|---|---|
| Live order book — best bid, best ask, mid-price | ws_market (CLOB WebSocket) | required | Compute current spread (ask - bid) and mid-price to determine quoting levels. |
| Order-flow imbalance over last N seconds | ws_market (trade tape) | required | Detect toxic flow: if taker-initiated buy volume >> sell volume, the market is directional and maker posting is paused. |
| 24h trading volume in pUSD | clob_public | required | Only post on markets meeting min_volume_24h_usd; illiquid markets have wide spreads that attract toxic flow. |
| Running inventory position on each market | clob_auth (open positions) | required | Compute inventory skew factor; shift bid and ask prices toward the direction that reduces open inventory. |
Internal inputs
| Input | Source | Required | Use |
|---|---|---|---|
| KillSwitch active flag | KillSwitch | required | Cancel all open maker quotes and emit no new OrderIntents if KillSwitch is active. |
| Builder code bytes32 | internal config | required | Injected into builder field on every maker OrderIntent for attribution. Maker fee_bps ≤ 50. |
Authority
What this bot is permitted to do
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
| Code | Severity | Meaning | Action |
|---|---|---|---|
| MAKER_TIGHT_QUOTING | INFO | Spread is adequate, volume passes filter, no toxic flow detected. Maker bid+ask OrderIntents emitted. | Emit two GTC post_only OrderIntents. |
| MAKER_TIGHT_SPREAD_TOO_TIGHT | INFO | Market spread is narrower than 2 * edge_bps hard floor, or volume is below min_volume_24h_usd hard floor. Quoting is not viable. | Skip; emit DecisionReport intent_emitted=false (sampled 1/100). |
| MAKER_TIGHT_TOXIC_FLOW_DETECTED | WARN | Taker-initiated buy volume over the last 30s exceeds the toxic flow threshold (0.75 ratio). Directional flow detected. | Skip; cancel open quotes; emit DecisionReport intent_emitted=false. |
| MAKER_TIGHT_EDGE_MARGINAL | WARN | edge_bps is between the warning threshold (6) and the hard floor (3). Quoting at reduced clip size. | Emit OrderIntents at 50% clip size; log warning. |
| MAKER_TIGHT_HIGH_SKEW | WARN | inventory_skew_factor is above the warning threshold (0.6). Inventory is being aggressively managed. | Continue quoting; log warning; monitor inventory_ratio. |
| MAKER_TIGHT_LOW_VOLUME | WARN | 24h volume is between the warning (150K) and hard floor (50K). Market is less liquid than preferred. | Emit at 50% clip size; log warning. |
| STALE_MARKET_DATA | HARD_REJECT | Book snapshot older than 5s or position data unavailable. | Cancel open quotes; no new OrderIntents. |
| KILL_SWITCH_ACTIVE | HARD_REJECT | Global kill switch is active. | Cancel all open quotes; no new OrderIntents. |
Related bots in Strategy
Used by
Reverse index — strategies that currently reference strat.maker-tight. If you change this bot's authority or reason codes, these strategies must re-pass shadow.
| Strategy | State | Activity |
|---|---|---|
| NBA props — line-shop | demo-wired | last triggered 37m ago |
| Crypto Q2 — basket rebalance | frozen | last triggered 44m ago |
Showing 2 of 2 · demo-wired ≠ production-live
⚙ Configuration — strat.maker_tight
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 →