FAK order explained: how Fill-And-Kill works on Polymarket
Penjelasan mendalam untuk trader aktif tentang bagaimana order FAK bekerja di Polymarket, mekanika eksekusi, kasus tepi, dan taktik praktis untuk intra-market arb dan pasar ketat.
FAK order explained: how Fill-And-Kill works on Polymarket
Jawaban singkat: order FAK (Fill-And-Kill) di Polymarket adalah instruksi bergaya market yang mencoba dieksekusi segera melawan CLOB dan membatalkan sisa yang tidak terisi. Panduan ini, ditujukan untuk trader aktif, menjelaskan mekanika eksekusi, bagaimana FAK berperilaku pada level tick, mode kegagalan umum, dan taktik praktis untuk arbitrase intra-market dan pasar ketat.
Key takeaways
- FAK mengeksekusi segera terhadap resting orders di CLOB Polymarket dan membatalkan sisa kuantitas; anggap ini sebagai market order dengan pembatalan otomatis untuk sisa.
- Helper CLOB dalam SDK mengekspose utilitas createMarketOrder tunggal yang menghasilkan perilaku FAK; FAK memiliki proteksi slippage bawaan dibandingkan fill market naive.
- Perubahan near-tick dan tick-size (0.01 vs 0.001) dapat mengubah eksekusi efektif. Selalu periksa tick size dan midpoint sebelum merutekan FAK.
- FAK menghilangkan maker risk tetapi mengekspos Anda pada partial fills, slippage, taker fees, risiko resolusi, dan dispute oracle — jangan pernah menyebut eksekusi FAK "risk-free" tanpa mencantumkan ini.
- Untuk arbitrase intra-market, FAK berguna untuk menangkap edge yang singkat, tetapi Anda harus menganggarkan untuk partial fills, biaya, dan timing settlement.
Why Polymarket uses FAK (the practical rationale)
CLOB Polymarket mendukung limit orders dan helper market-order yang berperilaku seperti FAK. Desain ini sesuai dengan pendekatan UX-first dan gasless pertukaran: kebanyakan pengguna mengharapkan eksekusi instan saat memilih routing bergaya market, tetapi protokol juga harus menghindari posisi terbuka yang tertinggal akibat market orders agresif. FAK memenuhi kedua kebutuhan — ia mengeksekusi segera dan meng-kill sisa, mencegah order agresif yang menggantung di buku.
Execution mechanics (step-by-step)
- Anda memberi instruksi ke client atau SDK untuk membuat market order. Helper menerbitkan FAK terhadap CLOB.
- Order menelusuri buku, mencocokkan dengan resting limit orders pada level harga menaik (untuk beli) atau menurun (untuk jual), sampai target kuantitas terisi atau tidak ada lagi likuiditas pada harga yang diperbolehkan.
- Setiap kuantitas yang tidak cocok segera dibatalkan (dihapus). Anda tidak pernah meninggalkan limit order agresif yang terbuka di belakang.
- Pertukaran mengenakan taker fees pada kuantitas yang dieksekusi. Maker fees untuk likuiditas resting yang Anda kenai adalah nol.
Tick sizes and their effect on FAK
Polymarket menggunakan tick size dinamis. Biasanya $0.01, tetapi saat harga mendekati ekstrem (di atas 0.96 atau di bawah 0.04) tick mengerut menjadi $0.001. Dua konsekuensi praktis:
- Langkah harga yang mungkin Anda lewati saat menelusuri buku berubah. Pada tick yang lebih ketat, FAK dapat mengeksekusi pada titik harga yang lebih granular, mengurangi slippage untuk pasar yang sangat miring.
- Midpoint dan edge yang Anda rasakan dapat bergeser ketika tick size berubah. Selalu periksa tick saat ini sebelum mengukur ukuran FAK.
Slippage, partial fills, and the role of the SDK helper
FAK dirancang untuk menghindari meninggalkan kuantitas terbuka, tetapi tidak menjamin full fill. Partial fills terjadi ketika kedalaman buku resting tidak cukup untuk ukuran Anda pada saat pengajuan. Helper SDK createMarketOrder biasanya mengembalikan kuantitas yang dieksekusi dan harga rata-rata sehingga Anda dapat bereaksi secara programatik.
Dua pola umum yang digunakan trader:
- Small-size, repeated FAKs: pecah target besar menjadi banyak FAK kecil dan kirim secara cepat untuk mengonsumsi likuiditas terlihat sambil mengurangi dampak harga per-order.
- Aggressive single FAK: gunakan ketika Anda membutuhkan eksposur segera dan menerima kemungkinan slippage dan taker fees.
Fees and economics
Polymarket menerapkan taker fees berdasarkan kategori (variabel, saat ini antara 0% dan 1.8% menurut band biaya platform). Maker fees adalah nol. Untuk arbitrase berumur pendek dengan margin tipis, sertakan secara eksplisit taker fees dalam perhitungan edge Anda. Jika Anda merutekan order melalui Builder, builder fees (basis poin) dan tier Builder Program juga dapat memengaruhi ekonomi.
Risks you must account for
Jangan pernah menyebut eksekusi FAK "risk-free" tanpa mencantumkan risiko berikut:
- Resolusi dan dispute oracle: dispute UMA dapat menunda settlement dan mengubah timing realisasi P&L.
- Slippage dan partial fills: FAK dapat terisi sebagian atau pada harga yang lebih buruk dari yang diharapkan sambil membatalkan sisa.
- Perubahan biaya dan builder fees: taker fees dan builder fees mengurangi edge yang direalisasikan.
- Timing settlement dan lag merge/redeem: token adalah ERC-1155 dan memerlukan operasi CTF untuk membuat dan menebus complete sets.
- Risiko smart-contract dan operasional: meskipun Polymarket mensponsori gas melalui Relayer, bug smart-contract atau outage relayer merupakan risiko protokol.
Common failure modes and how to detect them
- Immediate partial fill: eksekusi yang dikembalikan menunjukkan kuantitas lebih kecil dari yang diminta — tangani secara programatik dengan mengevaluasi kembali target sisa.
- Zero fill: buku bergerak sebelum pengajuan Anda. Periksa best_bid_ask dan last_trade_price melalui Market WS atau pembacaan CLOB dan pertimbangkan logika pengiriman ulang.
- Unexpected tick change: jika tick mengerut sementara strategi Anda mengasumsikan langkah $0.01, profil slippage yang Anda perkirakan dapat menjadi tidak valid. Subscribe ke tick_size_change events pada Market WS.
Practical tactics for arbitrage and tight markets
- Untuk arbitrase binary intra-market (membeli kedua sisi saat Σ bestAsk < $1.00), utamakan FAK kecil simultan pada kedua kaki untuk menghindari satu kaki terisi sementara yang lain tidak. Jika satu kaki terisi sebagian, Anda bisa terjebak net-long atau net-short — siapkan hedging atau unwind.
- Monitor buku off-chain: gunakan Market WS best_bid_ask dan last_trade_price untuk memastikan likuiditas yang Anda harapkan tetap hadir sebelum mengirim FAK.
- Saat trading dekat resolusi atau pada spread yang sangat ketat, kurangi ukuran order dan tingkatkan frekuensi. Perilaku spread bersifat sementara di pasar likuid dan dapat tertutup dalam hitungan detik.
- Perhitungkan taker fees dan builder fees saat Anda menghitung edge. Edge nominal dapat lenyap setelah biaya dan risiko partial-fill dimasukkan.
How this affects your trading
Jika Anda sering trading atau menjalankan bot arbitrase, anggap FAK sebagai primitive eksekusi market default Anda di Polymarket. Perilaku cancel-segera mencegah Anda meninggalkan order pasif yang dipasang secara agresif di buku, tetapi hal itu memperkenalkan ketidakpastian eksekusi. Bangun logika untuk:
- Periksa tick size dan best_bid_ask segera sebelum setiap FAK.
- Batasi ukuran order relatif terhadap kedalaman terlihat; utamakan banyak FAK kecil dibanding satu besar ketika buku tipis.
- Catat kuantitas yang dieksekusi dan harga rata-rata untuk akunting pasca-trade; helper SDK mengembalikan nilai-nilai ini.
- Selalu masukkan taker dan builder fees dalam pemeriksaan profitabilitas dan sertakan risiko resolusi serta settlement dalam rekonsiliasi pasca-trade.
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: itu adalah market-style FAK yang mengeksekusi segera di CLOB Polymarket dan membatalkan sisa apa pun. Gunakan untuk menangkap edge yang singkat, tetapi desainlah strategi dengan mempertimbangkan partial fills, perubahan tick, dan biaya.
Frequently asked questions
What's the difference between a FAK and a plain market order on Polymarket?
Polymarket mengekspose helper market-order yang mengimplementasikan semantik Fill-And-Kill: ia mengeksekusi segera terhadap likuiditas resting dan membatalkan sisa yang tidak terisi. Dalam praktiknya, itu berarti Anda tidak akan meninggalkan limit order agresif di buku setelah pengajuan; kuantitas sisa dibatalkan. SDK's createMarketOrder mengembalikan kuantitas yang dieksekusi dan harga rata-rata sehingga Anda dapat menangani partial fills.
How should I size FAK orders for arbitrage?
Ukuran FAK sesuai dengan kedalaman buku yang terlihat. Ketika spread tipis, pecah target Anda menjadi beberapa FAK kecil untuk mengurangi dampak harga per-order. Untuk arbitrase binary intra-market, kirim kedua kaki secara simultan pada ukuran yang secara wajar Anda harapkan top-of-book dapat mengisi; bersiaplah melakukan hedge jika salah satu kaki hanya terisi sebagian.
Do FAK orders pay maker or taker fees?
Eksekusi FAK diperlakukan sebagai taker fills dan dikenakan taker fees Polymarket (variabel menurut kategori). Maker fees untuk likuiditas resting adalah nol. Jika Anda merutekan melalui Builder, builder fees dalam basis poin juga mungkin berlaku.
Can a FAK execution be reversed if UMA disputes resolution?
Tidak — dispute UMA memengaruhi resolusi dan timing settlement setelah trading selesai. Trade yang dieksekusi dengan FAK bersifat final on-chain; namun, dispute resolusi dapat menunda operasi redeem/settle dan dengan demikian memengaruhi timing realisasi P&L.
How can I detect a tick-size change before sending a FAK?
Subscribe ke Market WS (wss://ws-subscriptions-clob.polymarket.com/ws/market) dan dengarkan event tick_size_change. Juga query pembacaan publik CLOB untuk metadata tick saat ini. Sesuaikan sizing dan ekspektasi slippage ketika tick mengerut dari $0.01 menjadi $0.001 di dekat ekstrem harga.
Istilah yang dirujuk
Panduan terkait
Hanya untuk tujuan edukasi. Bukan nasihat keuangan, hukum, atau pajak. Polymarket mungkin tidak tersedia di yurisdiksi Anda.