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

ขีดจำกัดอัตราเรียก API ของ Polymarket — Gamma, Data & CLOB

เอกสารสำหรับนักพัฒนาที่ระบุอย่างแม่นยำเกี่ยวกับขีดจำกัดอัตราเรียกของ Polymarket API (Gamma /markets, การเรียกแบบรวม, ขีดจำกัดรวม) และกลยุทธ์ปฏิบัติในการหลีกเลี่ยงการถูกจำกัด

อัปเดต 2026-04-20· 3 min
APIs
Polymarket
Gamma
CLOB

ขีดจำกัดอัตราเรียก API ของ Polymarket — Gamma, Data & CLOB

ขีดจำกัดอัตราเรียกของ Polymarket คือข้อจำกัดที่คุณต้องออกแบบระบบรอบๆ เมื่อสร้างบอท แดชบอร์ด หรือระบบวิเคราะห์ข้อมูล คู่มือนี้สรุปขีดจำกัดที่ระบุสำหรับแต่ละพื้นผิวสาธารณะ (Gamma, Data, CLOB และ Market WebSocket) อธิบายเงื่อนไขสำคัญของ Gamma /markets (รวมถึงกฎ 300 req / 10 s สำหรับ /markets และการแบ่งหน้าด้วย cursor) และให้กลยุทธ์เชิงปฏิบัติ—เช่น การรวมคำขอ แคช การแบ่งหน้าแบบ cursor และ exponential backoff—เพื่อทำให้ไคลเอนต์ของคุณเชื่อถือได้ภายใต้ภาระงาน

ประเด็นสำคัญ

  • Endpoint /markets ของ Gamma: 300 คำขอต่อ 10 วินาที; ใช้พารามิเตอร์ limit และ after_cursor สำหรับการแบ่งหน้า (อย่าใช้ offset)
  • ขีดจำกัดการเรียกรายการแบบรวม: การเรียก /markets + /events ร่วมกันมีขีดจำกัด 900 req / 10 s; ทั้งหมดของ Gamma: 4000 req / 10 s
  • ใช้ CLOB และ Data APIs สำหรับการอ่านเฉพาะทาง; CLOB ต้องใช้ API key + HMAC สำหรับคำขอการซื้อขาย ส่วนการอ่านเป็นสาธารณะ
  • WebSocket (wss://ws-subscriptions-clob.polymarket.com/ws/market) ให้ข้อมูลเรียลไทม์; ควรใช้ WS สำหรับอัปเดตหนังสือคำสั่งสดแทนการ Poll
  • แพตเทิร์นการบรรเทา: การรวมคำขอ (request coalescing), TTL ของแคช, exponential backoff พร้อม jitter, คิวที่รับรู้ขีดจำกัดอัตรา และการดึงข้อมูลที่ตระหนักถึงการแบ่งหน้า

ทำไมขีดจำกัดอัตราถึงสำคัญ

ขีดจำกัดอัตราปกป้องโครงสร้างพื้นฐานร่วมของ Polymarket และป้องกันไคลเอนต์ที่สร้างความจอแจจากการทำให้ประสบการณ์ของผู้อื่นแย่ลง สำหรับนักพัฒนาที่สร้างบอทอาร์บิทราจหรือระบบวิเคราะห์ การชนขีดจำกัดจะทำให้คำขอถูกปฏิเสธทันทีและอาจทำให้ฟลว์ที่ต้องการเวลาตอบสนองเร็วล้มเหลว การวางแผนรูปแบบคำขอล่วงหน้าช่วยลดความประหลาดใจและทำให้ระบบมีความทนทานมากขึ้น

ขีดจำกัดและ endpoints ของ Polymarket ที่มีเอกสาร

Gamma (เมตาดาต้าตลาดหลัก)

  • Base URL: https://gamma-api.polymarket.com
  • ขีดจำกัดที่ควรทราบ:
    • /markets: สูงสุด 300 คำขอต่อ 10 วินาที ใช้พารามิเตอร์ limit (สูงสุด 1000) และการแบ่งหน้าแบบ cursor ผ่าน after_cursor. API จะปฏิเสธ offset ด้วย HTTP 422.
    • ขีดจำกัดการเรียก /markets + /events แบบรวม: 900 คำขอต่อ 10 วินาที
    • พื้นผิว Gamma ทั้งหมด: 4000 คำขอต่อ 10 วินาที

บันทึกเชิงปฏิบัติ:

  • ให้ใช้ after_cursor ที่ API ส่งกลับเสมอ; อย่าพยายามจำลอง keyset โดยใช้ offset
  • ปรับ limit ให้ลดการเรียกหลายรอบ หากคุณต้องการรายการตลาดทั้งหมด ให้ใช้ limit=1000 เพื่อลดการเรียก

Data (ตำแหน่ง เทรด ผู้ถือ)

  • Base URL: https://data-api.polymarket.com
  • การยืนยันตัวตน: ไม่มีสำหรับการอ่านสาธารณะ
  • เอกสารอธิบายพื้นผิวนั้นแต่ไม่ได้ระบุตัวเลขขีดจำกัดเฉพาะสำหรับแต่ละ endpoint ของ Data ให้ถือว่า Data เป็นสาธารณะ แต่ให้ใช้การควบคุมฝั่งไคลเอนต์แบบอนุรักษ์นิยมเหมือนกับ Gamma (การรวมคำขอ แคช การ backoff)

CLOB (สมุดคำสั่งและการซื้อขาย)

  • Base URL: https://clob.polymarket.com
  • การอ่านเป็นสาธารณะ การเทรดต้องใช้ API key + HMAC
  • พื้นผิว CLOB เปิดเผยสมุดคำสั่ง midpoint ประวัติราคา และการวาง/ยกเลิกคำสั่ง เอกสารไม่ได้เผยตัวเลขขีดจำกัดเฉพาะต่อ endpoint สำหรับการอ่าน CLOB; ให้ถือว่าเส้นทางการเทรดมีความไวต่อขีดจำกัดและใช้ CLOB WebSocket หรือ Market WS สำหรับข้อมูลหนังสือสดเมื่อเป็นไปได้

Market WebSocket (การอัปเดตตลาดเรียลไทม์)

  • URL: wss://ws-subscriptions-clob.polymarket.com/ws/market
  • ไม่ต้องการการยืนยันตัวตนสำหรับข้อมูลตลาด
  • ฟีด: real-time book, price_change, best_bid_ask (เปิดใช้งานด้วย custom_feature_enabled: true), last_trade_price, tick_size_change
  • PING heartbeat ทุก 10 วินาที สูงสุด 500 สัญญาณสินทรัพย์ต่อการเชื่อมต่อ

รายละเอียดเฉพาะของ Gamma /markets ที่ต้องปฏิบัติตาม

  • การแบ่งหน้า: ใช้ after_cursor เท่านั้น API จะส่งกลับ next_cursor — ส่งค่าต่อไปโดยไม่เปลี่ยนแปลงในการเรียกครั้งถัดไป
  • ค่าเริ่มต้นของ limit คือ 20 สูงสุด 1000 ใช้ limit ที่มากขึ้นสำหรับการซิงค์จำนวนมาก
  • พารามิเตอร์ตัวกรองที่รับได้รวมถึงอาร์เรย์ของ slug, id, condition_ids, clob_token_ids, question_ids, market_maker_address และอื่นๆ เช่น closed, active, archived, tag_id
  • การจัดเรียง: order รับรายการฟิลด์คั่นด้วยจุลภาค (เช่น volume24hr,liquidity) และ ascending เป็น boolean โดยค่าเริ่มต้นเป็น true

สัญญาณข้อผิดพลาดที่พบบ่อยและวิธีตอบสนอง

  • HTTP 429 (rate limited): หยุดการ Poll ทันที ถอยออก และลองใหม่โดยใช้ exponential backoff พร้อม jitter
  • HTTP 422 เมื่อใช้ offset: เปลี่ยนเป็นการแบ่งหน้าแบบ after_cursor
  • การตอบสนอบบางส่วนหรือหน้าเปล่า: ให้เคารพ cursors; ตรวจสอบตัวกรองของคุณ หากคุณเชื่อว่าถึงโควต้าด้านเซิร์ฟเวอร์ ให้ลดความขนานของคำขอฝั่งไคลเอนต์

รูปแบบการออกแบบเพื่อหลีกเลี่ยงการถูกจำกัด

  1. แคชอย่างเข้มงวด
  • แคชรายการตลาดและเมตาดาต้าสำหรับ TTL สั้นๆ (30s–2m) ขึ้นกับการใช้งาน ตลาดและรายการเหตุการณ์ไม่ค่อยเปลี่ยนทุกวินาที
  • แคชโดยคีย์ของคำถาม (ฟิลเตอร์ + การจัดเรียง) ยกเลิกแคชเมื่อคุณได้รับเหตุการณ์การเปลี่ยนแปลง (เช่น จาก WebSocket) หรือหลังจาก TTL หมดอายุ
  1. ทำเป็นแบตช์และเพิ่ม limit
  • สำหรับการซิงค์ทั้งหมด ให้ใช้ limit=1000 เพื่อลดรอบการเรียก /markets
  • ดึงหน้ากว้างในช่วงนอกชั่วโมงเร่งด่วนและใช้การอัปเดตเชิงเพิ่มจาก WebSocket
  1. ใช้ WebSocket สำหรับข้อมูลเรียลไทม์
  • สำหรับอัปเดตสมุดคำสั่งสดหรือการเคลื่อนไหวของราคา ให้สมัครรับ Market WS แทนการ Poll Gamma หรือการอ่าน CLOB WS รองรับสูงสุด 500 สัญญาณสินทรัพย์ต่อการเชื่อมต่อ; แยก shards ของไคลเอนต์ถ้าต้องการ >500
  1. คิวที่รับรู้ขีดจำกัดและ backoff
  • ใช้ leaky-bucket หรือ token-bucket ฝั่งไคลเอนต์ที่สอดคล้องกับจุดสูงสุดที่ระบุ (เช่น 300/10s สำหรับ /markets)
  • เมื่อได้รับ 429 ให้ใช้ exponential backoff พร้อม jitter และขยายหน้าต่างการลองซ้ำอย่างค่อยเป็นค่อยไป
  1. รวมคำขอที่ซ้ำกันซึ่งเกิดพร้อมกัน
  • ถ้าส่วนต่างๆ ของแอปของคุณร้องขอ query /markets เดียวกันพร้อมกัน ให้รวมเป็นคำขอเดียวในระหว่างการรอและกระจายผลลัพธ์
  1. การซิงค์แบบ cursor-first
  • ให้ปฏิบัติตามการแบ่งหน้าแบบ cursor เสมอ สำหรับการซิงค์สด ให้ดึงหน้าหนึ่งก่อนแล้วสมัครรับเดลต้า (ถ้ามี) อย่าพยายามดึงหน้าที่มี cursor พร้อมกันอย่างง่ายๆ ซึ่งอาจทำให้เกินขีดจำกัดต่อ endpoint ของ Gamma

ตัวอย่างกลยุทธ์การดึงข้อมูล

  • งาน Bulk indexing (ไม่เรียลไทม์): ดึง /markets?limit=1000 แล้วตามด้วย next_cursor จนหมด พักสั้นๆ ระหว่างหน้าทุกหน้า และเคารพขีดจำกัด 300/10s ของ endpoint
  • UI เกือบเรียลไทม์: ดึงชุดฐานครั้งเดียว (แคช 30s) แล้วเปิด WebSocket สำหรับเดลต้าและการอัปเดต best_bid_ask
  • ไคลเอนต์รายชื่อเฝ้าดูขนาดเล็ก: แยกรายการเฝ้าดูไปตามการเชื่อมต่อ WS หลายตัวถ้ามากกว่า 500 สัญญาณสินทรัพย์

คำแนะนำเชิงปฏิบัติสำหรับบอทและไคลเอนต์ความเร็วสูง

  • ใช้ CLOB WebSocket หรือการอ่าน CLOB สำหรับข้อมูลระดับหนังสือ และใช้ Gamma สำหรับเมตาดาต้าที่เปลี่ยนช้ากว่า
  • เก็บข้อมูลรับรองการเทรด (CLOB API key + HMAC) ให้ปลอดภัย; เส้นทางการเทรดต้องมีการยืนยันตัวตน
  • ตรวจสอบอัตรา 429 และเมตริกหน่วงเวลาต่อ endpoint ของคุณ ถ้าคุณมักเข้าใกล้ขีดจำกัดที่ระบุ ให้ร้องขอการเข้าถึงหรือ ติดต่อช่องทางอย่างเป็นทางการของ Polymarket (Builder Program เป็นช่องทางสำหรับการผสานรวมที่มีปริมาณสูงขึ้นและการให้เครดิต)

ผลกระทบต่อการพัฒนาและการปรับใช้ของคุณ

ถ้าคุณสร้างบอทการเทรดหรือบริการวิเคราะห์ ให้วางแผนสำหรับโฟลว์ข้อมูลเป็นชั้น: ดึงข้อมูลจำนวนมากจาก Gamma ด้วย limit สูง ตามด้วยการสมัครรับ WebSocket สำหรับอัปเดตสด และการ Poll Gamma เป็นระยะ (พร้อมแคช) สำหรับเมตาดาต้าที่ไม่มีในฟีด WS ดำเนินการจำกัดอัตราฝั่งไคลเอนต์ การรวมคำขอ และการแบ่งหน้าที่ตระหนักถึง cursor เพื่อหลีกเลี่ยงการชนขีดจำกัด /markets 300 req / 10 s และขีดจำกัดการเรียกรายการแบบรวมและขีดจำกัดรวมของ Gamma

สรุปปิด

ขีดจำกัดอัตราเรียก API ของ Polymarket ระบุไว้อย่างชัดเจนสำหรับพื้นผิวการรายการของ Gamma และ Market WS เป็นทางเลือกที่ปรับขนาดได้สำหรับฟีดสด ออกแบบระบบรอบการแบ่งหน้าแบบ cursor (after_cursor), ใช้ limit อย่างมียุทธศาสตร์ และให้ความสำคัญกับ WebSockets สำหรับข้อมูลความถี่สูง การปฏิบัติตามแพตเทิร์นเหล่านี้จะช่วยลดการถูกจำกัดและทำให้การผสานรวมของคุณมีความน่าเชื่อถือมากขึ้น

คำถามที่ถามบ่อย

ขีดจำกัด /markets บน Gamma คืออะไร?

Endpoint /markets ของ Gamma ถูกจำกัดที่ 300 คำขอต่อ 10 วินาที ใช้ limit (สูงสุด 1000) และการแบ่งหน้าแบบ cursor ผ่าน after_cursor อย่าใช้ offset—API จะปฏิเสธด้วย HTTP 422

มีขีดจำกัดแบบรวมสำหรับ endpoints ของ Gamma ไหม?

มี การเรียกรายการไปยัง /markets และ /events ใช้ร่วมกันมีขีดจำกัด 900 คำขอต่อ 10 วินาที นอกจากนี้ พื้นผิว Gamma ทั้งหมดถูกจำกัดที่ 4000 คำขอต่อ 10 วินาที

ควร Poll Gamma หรือใช้ WebSocket สำหรับการอัปเดตสด?

แนะนำให้ใช้ Market WebSocket (wss://ws-subscriptions-clob.polymarket.com/ws/market) สำหรับอัปเดตสมุดคำสั่งและราคาสด—มีประสิทธิภาพมากกว่าและหลีกเลี่ยงการ Poll ซ้ำๆ ใช้ Gamma สำหรับเมตาดาต้าที่เปลี่ยนช้ากว่าและการซิงค์จำนวนมากเริ่มต้น

ไคลเอนต์ของฉันควรทำอย่างไรเมื่อได้รับ HTTP 429?

ถือว่า 429 เป็นสัญญาณให้หยุดการ Poll ที่รุนแรง ใช้ exponential backoff พร้อม jitter ลดความขนาน และรวมคำขอที่เหมือนกัน ติดตามการเกิด 429 เพื่อตั้งค่าตัวจำกัดอัตราแบบไดนามิก

CLOB API ต้องการการยืนยันตัวตนไหม?

การอ่าน CLOB เป็นสาธารณะ การดำเนินการเทรดบน CLOB ต้องใช้ API key พร้อม HMAC สำหรับการยืนยันตัวตน ให้เคารพขีดจำกัดการเทรดและใช้ฟีด WS สำหรับการอัปเดตหนังสือ

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

เพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำด้านการเงิน กฎหมาย หรือภาษี 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 ไม่ให้คำแนะนำด้านการเงิน.