FAK order explained: how Fill-And-Kill works on Polymarket
A deep-dive for active traders into how a FAK order works on Polymarket, execution mechanics, edge cases, and practical tactics for intra-market arb and tight markets.
FAK order explained: how Fill-And-Kill works on Polymarket
Maikling sagot: ang isang FAK order (Fill-And-Kill) sa Polymarket ay isang market-style na utos na sumusubok ng agarang pagpapatupad laban sa CLOB at kinaka-cancel ang anumang hindi napunong natitirang bahagi. Ang gabay na ito, isinulat para sa mga aktibong trader, ay nagpapaliwanag ng mechanics ng execution, kung paano kumikilos ang FAK sa antas ng tick, mga karaniwang failure mode, at praktikal na taktika para sa intra-market arbitrage at tight markets.
Key takeaways
- Ang FAK ay nag-eexecute agad laban sa mga resting order sa CLOB ng Polymarket at kinaka-cancel ang anumang natitirang quantity; isipin ito bilang isang market order na awtomatikong kinaka-cancel ang residual.
- Ang CLOB helper sa SDK ay nag-eexpose ng isang createMarketOrder utility na gumagawa ng FAK behaviour; ang mga FAK ay may built-in na slippage protection kumpara sa naive market fills.
- Ang near-tick at tick-size changes (0.01 vs 0.001) ay maaaring magbago ng epektibong execution. Laging i-check ang tick size at midpoint bago mag-route ng FAK.
- Inaalis ng FAK ang maker risk pero inia-expose ka sa partial fills, slippage, taker fees, resolution, at oracle dispute risk — huwag kailanman tawaging "risk-free" ang isang FAK execution nang hindi inililista ang mga ito.
- Para sa intra-market arbitrage, kapaki-pakinabang ang FAK para kunapin ang mabilis na edges, ngunit kailangan mong mag-budget para sa partial fills, fees, at timing ng settlement.
Bakit gumagamit ang Polymarket ng FAK (praktikal na dahilan)
Sinusuportahan ng CLOB ng Polymarket ang parehong limit orders at isang market-order helper na kumikilos bilang FAK. Ang disenyo ay tumutugma sa gasless, UX-first na approach ng exchange: karamihan ng mga user ay inaasahan ang instant execution kapag pinili nila ang market-style routing, ngunit kailangang iwasan ng protocol ang pag-iwan ng indefinite open positions na dulot ng agresibong market orders. Tinutugunan ng FAK ang dalawang pangangailangan — nageexecute ito agad at kinaka-kill ang natitira, na pumipigil sa mga agresibong order na manatili sa book.
Execution mechanics (step-by-step)
- Iniutos mo sa client o SDK na gumawa ng market order. Nag-iisyu ang helper ng isang FAK laban sa CLOB.
- Lumalakad ang order sa book, tumutugma laban sa mga resting limit order sa pataas na price levels (para sa buys) o pababang levels (para sa sells), hanggang mapuno ang target quantity o wala nang karagdagang liquidity sa pinapayagang mga presyo.
- Anumang quantity na hindi agad natugma ay kinaka-cancel (kinakill). Hindi ka mag-iiwan ng open, agresibong limit order sa book.
- Sinisingil ng exchange ang taker fees sa na-execute na quantity. Zero ang maker fees para sa resting liquidity na tinamaan mo.
Tick sizes and their effect on FAK
Gumagamit ang Polymarket ng dynamic tick size. Karaniwan ito ay $0.01, ngunit kapag ang mga presyo ay malapit sa extremes (higit sa 0.96 o mas mababa sa 0.04) ang tick ay tumitigas sa $0.001. Dalawang praktikal na kahihinatnan:
- Nagbabago ang mga price step na maaaring iyong tawirin habang lumalakad sa book. Sa isang tightened tick, ang isang FAK ay maaaring mag-execute sa mas granular na price points, na nagpapababa ng slippage para sa labis na skewed na mga market.
- Maaaring mag-shift ang iyong midpoint at perceived edge kapag nagbago ang tick size. Laging i-check ang kasalukuyang tick bago mag-size ng FAK.
Slippage, partial fills, and the role of the SDK helper
Dinisenyo ang FAK para hindi mag-iwan ng open quantity, ngunit hindi nito ginagarantiyahan ang full fill. Nangyayari ang partial fills kapag ang resting book depth ay hindi sapat para sa iyong laki sa oras ng submission. Karaniwan ibinabalik ng SDK createMarketOrder helper ang executed quantity at average price upang makapagsagawa ka ng programmatic na reaksyon.
Dalawang karaniwang pattern na ginagamit ng mga trader:
- Maliit na size, paulit-ulit na FAKs: hatiin ang malaking target sa maraming maliit na FAK at isumite nang mabilis upang konsumerin ang nakikitang liquidity habang binabawasan ang per-order price impact.
- Agresibong single FAK: gamitin kapag kailangan mo ng agarang exposure at tinatanggap ang posibleng slippage at taker fees.
Fees and economics
Nag-aapply ang Polymarket ng taker fees ayon sa category (variable, kasalukuyang nasa pagitan ng 0% at 1.8% ayon sa fee bands ng platform). Zero ang maker fees. Para sa panandaliang arbitrage kung saan manipis ang margins, isali nang malinaw ang taker fees sa iyong edge calculation. Kung nire-route mo ang mga order sa pamamagitan ng isang Builder, ang builder fees (basis points) at ang Builder Program tiers ay maaari ring makaapekto sa economics.
Risks you must account for
Huwag kailanman tawaging "risk-free" ang isang FAK execution nang hindi inililista ang mga sumusunod na panganib:
- Resolution at oracle disputes: maaaring i-pause ng mga UMA dispute ang settlement at baguhin ang timing ng realised P&L.
- Slippage at partial fills: ang FAK ay maaaring mag-fill ng partial o sa hindi inaasahang presyo habang kinaka-cancel ang natitira.
- Pagbabago ng fees at builder fees: binabawasan ng taker fees at builder fees ang realised edge.
- Timing ng settlement at merge/redeem lag: ang mga token ay ERC-1155 at nangangailangan ng CTF operations upang gumawa at i-redeem ang complete sets.
- Smart-contract at operational risk: habang sinisponsor ng Polymarket ang gas sa pamamagitan ng Relayer, ang bugs sa smart contract o relayer outages ay mga panganib sa protocol level.
Common failure modes and how to detect them
- Immediate partial fill: ipinapakita ng returned execution ang mas maliit na quantity kaysa sa hinihingi — hawakan ito programmatically sa pamamagitan ng muling pagsusuri ng natitirang target.
- Zero fill: gumalaw ang book bago ang iyong submission. I-check ang best_bid_ask at last_trade_price sa pamamagitan ng Market WebSocket o CLOB reads at isaalang-alang ang resubmission logic.
- Hindi inaasahang tick change: kung humigpit ang tick habang inaasahan ng iyong strategy ang $0.01 steps, maaaring ma-invalid ang iyong inaasahang slippage profile. Mag-subscribe sa tick_size_change events sa Market WS.
Practical tactics for arbitrage and tight markets
- Para sa intra-market binary arbitrage (pagbili ng parehong panig kapag Σ bestAsk < $1.00), mas piliin ang maliit at sabay na FAKs sa dalawang legs upang maiwasan na mapunan ang isang leg habang hindi napupunan ang kabila. Kung ang isang leg ay partial lamang ang fill, maaari kang maiwan na net-long o net-short — maging handa na mag-hedge o mag-unwind.
- I-monitor ang book off-chain: gamitin ang Market WS best_bid_ask at last_trade_price upang matiyak na nananatili ang liquidity na inaasahan mo bago magpadala ng FAKs.
- Kapag nagtatrade malapit sa resolution o sa napaka-tight na spreads, bawasan ang laki ng order at dagdagan ang frequency. Mabilis magbago ang spread sa liquid markets at maaaring magsara sa loob ng ilang segundo.
- Isama ang taker fees at builder fees kapag kinakalkula ang edge. Maaaring mawala ang nominal na edge kapag isinama ang fees at risk ng partial-fill.
Paano nito naaapektuhan ang iyong trading
Kung madalas kang mag-trade o nagpapatakbo ng arbitrage bot, ituring ang FAK bilang iyong default market execution primitive sa Polymarket. Ang instant-cancel behaviour nito ay pumipigil sa iyo na mag-iwan ng passive, agresibong priced orders sa book, ngunit nagdaragdag ito ng execution uncertainty. Gumawa ng logic para:
- I-check ang tick size at best_bid_ask agad bago bawat FAK.
- Limitahan ang laki ng order kaugnay ng nakikitang depth; mas piliin ang maraming maliit na FAKs kaysa isang malaking isa kapag manipis ang book.
- I-record ang executed quantities at average prices para sa post-trade accounting; ibinabalik ng SDK helper ang mga halagang ito.
- Laging isama ang taker at builder fees sa profitability checks at isama ang resolution at settlement risk sa post-trade reconciliation.
Resources and next reads
- Polymarket CLOB explainer: /guides/polymarket-clob-explained
- Intra-market arbitrage mechanics: /guides/intra-market-binary-arbitrage-explained
- Full arbitrage primer: /guides/polymarket-arbitrage-complete-guide
Closing note
FAK order explained concisely: it is a market-style FAK that executes immediately on Polymarket's CLOB and cancels any remainder. Use it to capture fleeting edges, but design around partial fills, tick changes, and fees.
Frequently asked questions
What's the difference between a FAK and a plain market order on Polymarket?
Polymarket exposes a market-order helper that implements Fill-And-Kill semantics: it executes immediately against resting liquidity and cancels any unfilled remainder. In practice, that means you won't leave an aggressive limit order on the book after submission; residual quantity is cancelled. The SDK's createMarketOrder returns executed quantity and average price so you can handle partial fills.
How should I size FAK orders for arbitrage?
Size FAKs against visible book depth. When the spread is thin, break your target into multiple small FAKs to reduce per-order price impact. For binary intra-market arbitrage, submit the two legs simultaneously at sizes you can reasonably expect the top-of-book to fill; be prepared to hedge if one leg only partially fills.
Do FAK orders pay maker or taker fees?
FAK executions are treated as taker fills and are subject to Polymarket's taker fees (variable by category). Maker fees for resting liquidity are zero. If you route through a Builder, builder fees in basis points may also apply.
Can a FAK execution be reversed if UMA disputes resolution?
No — UMA disputes affect resolution and settlement timing after trading is complete. Trades executed with FAK are final on-chain; however, resolution disputes can delay redeem/settle operations and thus affect the timing of realized P&L.
How can I detect a tick-size change before sending a FAK?
Subscribe to the Market WS (wss://ws-subscriptions-clob.polymarket.com/ws/market) and listen for tick_size_change events. Also query the CLOB's public reads for current tick metadata. Adjust sizing and slippage expectations when ticks tighten from $0.01 to $0.001 near price extremes.
Mga term na binanggit
Kaugnay na mga gabay
Pang-edukasyon lamang. Hindi payong pinansyal, ligal, o ukol sa buwis. Maaaring hindi available ang Polymarket sa iyong hurisdiksyon.