LIVE
$7.62 min profit is yours / per trade
Get the bot

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.

อัปเดต 2026-04-20· 4 min
FAK
CLOB
trading
arbitrage

FAK order explained: how Fill-And-Kill works on Polymarket

คำตอบสั้นๆ: คำสั่ง FAK (Fill-And-Kill) บน Polymarket เป็นคำสั่งสไตล์ market ที่พยายามส่งคำสั่งให้เทรดกับ CLOB ทันที และยกเลิกปริมาณที่เหลือทันที บทแนะนำนี้เขียนสำหรับเทรดเดอร์ที่ใช้งานบ่อย อธิบายกลไกการปฏิบัติคำสั่ง วิธีที่ FAK ทำงานบนระดับ tick กรณีขอบเขตที่พบบ่อย และกลยุทธ์เชิงปฏิบัติสำหรับ intra-market arbitrage และตลาดที่สเปรดแคบ

ข้อสรุปสำคัญ

  • FAK ดำเนินการทันทีกับคำสั่งที่อยู่บน CLOB ของ Polymarket และยกเลิกปริมาณที่เหลือ; คิดว่าเป็นคำสั่ง market ที่มีการยกเลิกอัตโนมัติของส่วนที่เหลือ
  • ตัวช่วยใน SDK ของ CLOB เปิดเผยยูทิลิตี้เดียวคือ createMarketOrder ซึ่งให้พฤติกรรมแบบ FAK; FAK มีการป้องกัน slippage ในตัวเมื่อเทียบกับการเติมคำสั่ง market แบบเรียบง่าย
  • การเปลี่ยนแปลง near-tick และ tick-size (0.01 เทียบกับ 0.001) สามารถเปลี่ยนการดำเนินการจริงได้ ตรวจสอบ tick size และ midpoint ก่อนส่ง FAK เสมอ
  • FAK ลดความเสี่ยงของ maker แต่เปิดรับ partial fills, slippage, taker fees, ความเสี่ยงจากการชำระเงินและการถกเถียงของ oracle — ห้ามเรียกการดำเนินการ FAK ว่า "ปราศจากความเสี่ยง" โดยไม่ระบุความเสี่ยงเหล่านี้
  • สำหรับ intra-market arbitrage, FAK มีประโยชน์ในการจับ edge ชั่วคราว แต่คุณต้องเผื่อสำหรับ partial fills, ค่าธรรมเนียม และเวลาการชำระบัญชี

ทำไม Polymarket ใช้ FAK (เหตุผลเชิงปฏิบัติ)

CLOB ของ Polymarket รองรับทั้งคำสั่ง limit และ helper สำหรับ market-order ที่ทำงานเหมือน FAK การออกแบบสอดคล้องกับแนวทาง gasless และมุ่ง UX ของตลาด: ผู้ใช้ส่วนใหญ่คาดหวังการดำเนินการทันทีเมื่อเลือกการ routing แบบ market แต่โปรโตคอลต้องป้องกันคำสั่งที่เป็น aggressive ค้างอยู่บนสมุดคำสั่งเป็นระยะเวลานาน FAK ตอบโจทย์ทั้งสองข้อ — ดำเนินการทันทีและยกเลิกส่วนที่เหลือ ป้องกันคำสั่งโจมตีที่หลงเหลือบนหนังสือ

กลไกการปฏิบัติคำสั่ง (ทีละขั้นตอน)

  1. คุณสั่งให้ client หรือ SDK สร้างคำสั่ง market ตัวช่วยจะส่ง FAK ไปยัง CLOB
  2. คำสั่งจะเดินหนังสือ (walk the book) จับคู่กับคำสั่ง limit ที่วางอยู่ในระดับราคาที่เพิ่มขึ้น (สำหรับการซื้อ) หรือระดับราคาที่ลดลง (สำหรับการขาย) จนกว่าจะเติมปริมาณเป้าหมาย หรือไม่พบสภาพคล่องเพิ่มเติมในระดับราคาที่อนุญาต
  3. ปริมาณที่ไม่ได้จับคู่ทันทีจะถูกยกเลิก (kill) คุณจะไม่ทิ้งคำสั่ง limit แบบก้าวร้าวที่เปิดค้างอยู่บนหนังสือ
  4. ตลาดเรียกเก็บค่าธรรมเนียม taker จากปริมาณที่ดำเนินการ Maker fee เป็นศูนย์สำหรับสภาพคล่องที่พักอยู่ที่คุณโดน

ขนาด tick และผลกระทบต่อ FAK

Polymarket ใช้ tick size แบบไดนามิก โดยปกติเป็น $0.01 แต่เมื่อราคาเข้าใกล้ขอบ (สูงกว่า 0.96 หรือ ต่ำกว่า 0.04) tick จะหุบแคบลงเป็น $0.001 ผลที่เกิดขึ้นเชิงปฏิบัติสองประการ:

  • ขั้นของราคา (price steps) ที่คุณอาจข้ามขณะเดินหนังสือจะเปลี่ยน ใน tick ที่หุบแคบ FAK สามารถดำเนินการที่จุดราคาที่ละเอียดขึ้น ลด slippage ในตลาดที่มีการบิดเบี้ยวมาก
  • midpoint และ edge ที่คุณรับรู้ได้อาจเปลี่ยนเมื่อ tick size เปลี่ยน ตรวจสอบ tick ปัจจุบันก่อนกำหนดขนาด FAK เสมอ

Slippage, partial fills และบทบาทของตัวช่วยใน SDK

FAK ถูกออกแบบมาเพื่อหลีกเลี่ยงการทิ้งปริมาณค้าง แต่ไม่ได้การันตีการเติมเต็มทั้งหมด Partial fills เกิดเมื่อความลึกของหนังสือ (book depth) ไม่พอสำหรับขนาดของคุณในเวลาส่งคำสั่ง ตัวช่วย createMarketOrder ใน SDK โดยทั่วไปจะส่งกลับปริมาณที่ดำเนินการและราคาเฉลี่ยเพื่อให้คุณสามารถตอบสนองเชิงโปรแกรมได้

สองรูปแบบที่เทรดเดอร์มักใช้:

  • FAK ขนาดเล็ก ทำซ้ำ: แบ่งเป้าหมายขนาดใหญ่เป็น FAK เล็กๆ หลายคำสั่ง และส่งอย่างรวดเร็วเพื่อใช้สภาพคล่องที่มองเห็นได้ในขณะเดียวกันลดผลกระทบต่อราคาในแต่ละคำสั่ง
  • FAK เดียวแบบก้าวร้าว: ใช้เมื่อคุณต้องการการเปิดรับทันทีและยอมรับ slippage และค่าธรรมเนียม taker ที่อาจเกิดขึ้น

ค่าธรรมเนียมและเศรษฐศาสตร์

Polymarket ใช้ค่าธรรมเนียม taker ตามหมวดหมู่ (ผันแปร ปัจจุบันระหว่าง 0% ถึง 1.8% ตามช่วงค่าธรรมเนียมของแพลตฟอร์ม) Maker fee เป็นศูนย์ สำหรับ arbitrage ระยะสั้นที่มาร์จิ้นบาง ให้รวมค่าธรรมเนียม taker ไว้ในการคำนวณ edge ของคุณ หากคุณ route คำสั่งผ่าน Builder ค่าธรรมเนียม builder (basis points) และชั้นของ Builder Program อาจส่งผลต่อเศรษฐศาสตร์ด้วย

ความเสี่ยงที่คุณต้องพิจารณา

ห้ามเรียกการดำเนินการ FAK ว่า "ปราศจากความเสี่ยง" โดยไม่ระบุความเสี่ยงต่อไปนี้:

  • การตัดสินผลและการถกเถียงของ oracle: การถกเถียงของ UMA อาจชะลอการชำระบัญชีและเปลี่ยนช่วงเวลาของ P&L ที่เกิดขึ้นจริง
  • Slippage และ partial fills: FAK อาจถูกเติมครึ่งหนึ่งหรือถูกเติมที่ราคาที่แย่กว่าที่คาด และยกเลิกส่วนที่เหลือ
  • การเปลี่ยนแปลงค่าธรรมเนียมและค่าธรรมเนียมของ builder: ค่าธรรมเนียม taker และ builder ลด edge ที่ได้รับจริง
  • เวลาในการชำระบัญชีและความล่าช้าในการ merge/redeem: โทเค็นเป็น ERC-1155 และต้องใช้การดำเนินการ CTF เพื่อสร้างและไถ่ถอนชุดสมบูรณ์
  • ความเสี่ยงของสมาร์ตคอนแทรกต์และการดำเนินงาน: แม้ว่า Polymarket จะสนับสนุนแก๊สผ่าน Relayer แต่บั๊กในสมาร์ตคอนแทรกต์หรือการขัดข้องของ relayer ยังคงเป็นความเสี่ยงระดับโปรโตคอล

โหมดล้มเหลวทั่วไปและวิธีตรวจจับ

  • เติมบางส่วนทันที: ผลการดำเนินการที่ส่งกลับแสดงปริมาณน้อยกว่าที่ขอ — จัดการเชิงโปรแกรมโดยประเมินเป้าหมายที่เหลืออีกครั้ง
  • ไม่มีการเติมเลย: หนังสือเคลื่อนไหวก่อนการส่งของคุณ ตรวจสอบ best_bid_ask และ last_trade_price ผ่าน Market WebSocket หรือการอ่านจาก CLOB และพิจารณาโลจิกการส่งซ้ำ
  • การเปลี่ยนแปลง tick ที่ไม่คาดคิด: หาก tick หุบแคบขณะที่กลยุทธ์ของคุณสมมติ $0.01 โปรไฟล์ slippage ที่คาดหวังอาจถูกทำให้เป็นโมฆะ สมัครรับเหตุการณ์ tick_size_change บน Market WS

กลยุทธ์เชิงปฏิบัติสำหรับ arbitrage และตลาดสเปรดแคบ

  • สำหรับ intra-market binary arbitrage (การซื้อทั้งสองฝ่ายเมื่อ Σ bestAsk < $1.00) ให้ใช้ FAK เล็กที่ส่งพร้อมกันทั้งสองขาเพื่อหลีกเลี่ยงการที่ขาใดขาหนึ่งถูกเติมขณะที่อีกขาหนึ่งไม่ถูกเติม ถ้าเกิดกรณีเติมบางส่วนของขาใดขาหนึ่ง คุณอาจเหลือสถานะ net-long หรือ net-short — เตรียมพร้อมที่จะ hedge หรือ unwind
  • ตรวจสอบหนังสือนอกเชน: ใช้ Market WS best_bid_ask และ last_trade_price เพื่อให้แน่ใจว่าสภาพคล่องที่คุณคาดหวังยังคงอยู่ก่อนส่ง FAK
  • เมื่อเทรดใกล้การตัดสินผลหรือในสเปรดที่แคบมาก ให้น้อยลงขนาดคำสั่งและเพิ่มความถี่ พฤติกรรมสเปรดชั่วคราวในตลาดที่มีสภาพคล่องมักปิดภายในวินาที
  • นำค่าธรรมเนียม taker และค่าธรรมเนียม builder มาคำนวณเมื่อคุณคำนวณ edge ขนาดเล็กอาจหายไปเมื่อรวมค่าธรรมเนียมและความเสี่ยง partial-fill

ผลต่อการเทรดของคุณ

หากคุณเทรดบ่อยหรือรันบอท arbitrage ให้ถือว่า FAK เป็น primitive เริ่มต้นสำหรับการดำเนินการแบบ market บน Polymarket พฤติกรรมการยกเลิกทันทีป้องกันไม่ให้คุณทิ้งคำสั่ง passive ที่ตั้งราคาโจมตีบนหนังสือ แต่ก็สร้างความไม่แน่นอนในการดำเนินการ สร้างโลจิกเพื่อ:

  • ตรวจสอบ tick size และ best_bid_ask ทันที ก่อนแต่ละ FAK
  • จำกัดขนาดคำสั่งสัมพันธ์กับความลึกที่มองเห็น; ชอบ FAK จำนวนมากขนาดเล็กกว่าการส่งคำสั่งใหญ่เดียวเมื่อหนังสือบาง
  • บันทึกปริมาณที่ดำเนินการและราคาเฉลี่ยสำหรับการบัญชีหลังการเทรด; ตัวช่วยใน SDK ส่งค่าพวกนี้กลับ
  • รวมค่าธรรมเนียม taker และ builder ในการตรวจสอบความสามารถทำกำไร และรวมความเสี่ยงการตัดสินผลและการชำระบัญชีในการกระทบยอดหลังการเทรด

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.

คำศัพท์อ้างอิง

คู่มือที่เกี่ยวข้อง

เพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำด้านการเงิน กฎหมาย หรือภาษี Polymarket อาจไม่สามารถใช้งานได้ในเขตอำนาจของคุณ

PolyArb

PolyArb เป็นบอท arbitrage บน Polymarket ที่สแกนตลาด binary และ multi-outcome ทุกตลาดเพื่อ YES/NO < $1 และ mispricing แบบ combinatorial จากนั้นล็อคสเปรดด้วย latency 40ms — เทียบกับประมาณ 800ms ของคู่แข่ง — และมี edge ขั้นต่ำที่รับประกัน $7.62 ต่อการเทรด.

Product
Resources
Legal
© 2026 PolyArb. All rights reserved.
PolyArb เป็นเครื่องมืออิสระ ไม่เกี่ยวข้องกับ Polymarket ไม่ให้คำแนะนำด้านการเงิน.