Polymarket CLOB order amount & tick size — PRO (fix invalid amounts / invalid tick size, py-clob-client)
Fix Polymarket's invalid amounts and invalid tick size for every CLOB market — including the 0.001-tick daily markets — and size your GTC orders so the fee skim doesn't leave your two legs unbalanced. If you've been stuck on this, you're not alone You post an order with py-clob-client, you've rounded the size to 2 decimals, and the CLOB still says invalid amounts. Or you try the daily market and get invalid tick size. Neither error is explained anywhere, because the rule isn't documented: a CLOB order's makerAmount = price × size × 1e6 and takerAmount = size × 1e6 must both be whole multiples of 10000, and the daily markets use a 0.001 tick instead of 0.01. Is this what you've been searching for? "polymarket invalid amounts" "polymarket invalid tick size" / "polymarket tick size" / "polymarket minimum tick size" "polymarket minimum order size" / "polymarket minimum order amount" "polymarket clob create order" / "polymarket create order api" "py-clob-client invalid amounts" You came up empty because the amount/tick rules aren't in the docs — that gap is why this exists. What it does Give it a price, a size, and the tick. It returns an aligned (price, size) whose maker and taker amounts are guaranteed valid, pre-checks the $1 / 5-share minimum, and (for resting orders) does fee-aware rounding so two legs stay balanced. python polymarket_order_amount_pro.py 0.999 8.4737 --tick 0.001 --gtc aligned : price=0.999 size=10.0 maker : 9990000 taker: 10000000 valid: True # (0.999 has a 10-share minimum step — the tool tells you instead of silently failing) What's inside polymarket_order_amount_pro.py — dynamic-tick FOK aligner, fee-aware GTC rounding, min-step + min-order checks, py-clob-client options builder. test_polymarket_order_amount_pro.py — 9 offline tests; property tests prove amounts are valid for every price at tick 0.01 AND 0.001. README.md + README.zh.md (English + 中文). Commercial license. What PRO handles that a quick fix misses Dynamic tick size — 0.001 daily markets vs 0.01; hard-coding 0.01 gets the daily market rejected. Fee-aware GTC rounding — 50%-nearest + ±tick price search so resting legs don't end up No > Yes after the fee skim. The 10-share step trap — at prices like 0.999 the minimum valid size step is 10 shares; the tool warns instead of silently overshooting. Drop-in options — the exact PartialCreateOrderOptions(tick_size=..., neg_risk=...) args. Free vs PRO There's a free, MIT-licensed helper that fixes invalid amounts for the standard 0.01-tick markets (5m/15m/1h/4h) on GitHub — grab it. The moment you touch the daily (0.001-tick) markets or rest GTC orders that must stay balanced, that's this PRO build. What it is, and what it isn't This computes order-amount and precision math. It does not place orders, sign, move funds, predict prices, or guarantee any fill or profit. Polymarket's rules can change; if a tick/amount rule changes, a fix is in scope. FAQ Why does round(size, 2) still give "invalid amounts"? Because the valid size step depends on the price (via a gcd/lcm of the 1e6 base), not just 2 decimals. Why does the daily market say "invalid tick size"? It uses a 0.001 tick; pass --tick 0.001 / order_options(tick_size=0.001). Does it work with py-clob-client? Yes — it returns the exact args for PartialCreateOrderOptions. Refund — 14-day fix-or-refund Downloadable source can't be "returned." If within 14 days it doesn't work as described, send a reproduction (command + output); we fix it, or refund fully if it still can't be made to work. No refunds for changed-mind or buyer-side environment issues. Open-source companion (free, 0.01-tick): https://github.com/BlueWhale-Quant-Lab/polymarket-clob-order-amount-tick-size
Get it → bluewhalequantlab.gumroad.com