Get Tick Size
Polymarket-compat GET /tick-size/{token_id}.
Resolution order (freshest source wins):
-
CLOB WS overlay: if a recent
tick_size_changeevent has been observed for this token, emit the post-change value. PM shrinks the tick from 0.01 → 0.001 when a book moves past 0.96 or below 0.04 (and grows back when the book pulls away). The two directions have asymmetric correctness consequences:- Grow (0.001 → 0.01): previously-valid 0.001-step
quotes are no longer multiples of the new tick. PM rejects
with
INVALID_ORDER_MIN_TICK_SIZE. This is the case where missing the change silently breaks the bot. - Shrink (0.01 → 0.001): 0.01-step quotes are still valid multiples of 0.001, so orders aren’t rejected — but the bot is leaving precision on the table and quoting less competitively than the rest of the book. SDK porters reading PM docs expect tick refresh in both directions.
- Grow (0.001 → 0.01): previously-valid 0.001-step
quotes are no longer multiples of the new tick. PM rejects
with
-
markets.minimum_tick_sizecolumn (populated by the Gamma sync fromorderPriceMinTickSize). -
404
TOKEN_NOT_FOUNDwhen the token doesn’t resolve to any market. A missing token returns 404 rather than a default 0.01 fallback — quoting on the wrong tick is a real-money risk for py-clob-client porters.
On transient upstream failure (DB/Redis unavailable) the handler
returns 503 with Retry-After: 2, NOT a silent default tick.
Value consistency: the tick VALUE is resolved
through :func:resolve_canonical_tick, the single source shared with
GET /book and order validation, so all three surfaces agree. The
tick-value chain remains network-free (allow_live_book=False):
overlay → DB column → default, with NO per-read GET /book fetch.
When the authoritative fallback flag is enabled, the preceding
token-existence gate may consult the CLOB only after a local miss.
/book reads keep seeding the overlay so this surface stays fresh
without paying a book fetch on every read. This handler keeps
the JSON-number wire shape (minimum_tick_size: 0.01) — PM emits
/tick-size as a number, distinct from /book’s string
tick_size; we change the value source, not the type. The
token-existence (404) and upstream-failure (503) envelopes below are
unchanged.