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

รหัสข้อผิดพลาดของ Polymarket และวิธีแก้

ข้อผิดพลาดทั่วไปของ Polymarket API และ UI ความหมาย และวิธีแก้ปัญหาเชิงปฏิบัติสำหรับนักพัฒนาและผู้ใช้ที่ใช้งานอยู่

อัปเดต 2026-04-20· 3 min
polymarket
errors
developer
api

รหัสข้อผิดพลาดของ Polymarket และวิธีแก้

คู่มือนี้อธิบายรหัสข้อผิดพลาดของ Polymarket ที่พบบ่อยที่สุดใน UI และ API สาเหตุที่เกิด และขั้นตอนเชิงปฏิบัติเพื่อแก้ไข หากคุณกำลังดีบักการผสานรวม ลำดับคำสั่งซื้อ หรือการเชื่อมต่อกระเป๋าเงิน คู่มือนี้ช่วยให้คุณวินิจฉัยปัญหาได้อย่างรวดเร็ว

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

  • ข้อผิดพลาดของ Polymarket แบ่งเป็นกลุ่มหลัก: การถูกบล็อกตามภูมิภาค (403), การตรวจสอบข้อมูล API (422), อัตราการเรียกเกิน (rate limits), การยืนยันตัวตนสำหรับ CLOB/การเทรด, สถานะกระเป๋าเงินหรือยอด pUSD ไม่พอ, และปัญหาในการดำเนินการ CTF/CTF-operation.
  • สำหรับการเรียกดูรายการจาก Gamma ให้ใช้การแบ่งหน้าแบบ cursor (after_cursor) — offset จะถูกปฏิเสธพร้อม HTTP 422.
  • การเทรดบน CLOB ต้องใช้ API key + HMAC; การอ่านข้อมูลสาธารณะไม่ต้องการการยืนยันตัวตน.
  • กรณี “order rejected” บ่อยครั้งเกิดจากการ deploy กระเป๋าเงินไม่เสร็จ pUSD ไม่พอ การอนุญาต (approvals) การเปลี่ยนแปลง tick-size หรือ FAK ที่ถูกเติมบางส่วน — ตรวจสอบลำดับ Relayer และการตอบกลับคำสั่งจาก CLOB.

ทำไมข้อผิดพลาดจึงสำคัญ (สรุปสั้น ๆ)

ข้อผิดพลาดในลำดับการเทรดในตลาดพยากรณ์สามารถบล็อกคำสั่ง ทำให้เกิดการเติมบางส่วน หรือหยุดการประสานยอดบัญชี Polymarket ใช้หลาย surface (Gamma, Data, CLOB และ Market WebSocket) รู้ว่าข้อผิดพลาดมาจาก surface ไหนช่วยจำกัดพื้นที่ที่ต้องแก้

H2: รูปแบบข้อผิดพลาดที่พบบ่อยของ API และ WebSocket

Gamma (https://gamma-api.polymarket.com)

  • อาการ: HTTP 422 เมื่อแบ่งหน้า markets โดยใช้ offset.
    • สาเหตุ: Gamma ใช้ keyset pagination. offset ถูกปฏิเสธ.
    • วิธีแก้: ใช้ after_cursor กับ next_cursor ที่ส่งกลับจากการเรียกก่อนหน้า ตัวอย่าง:
curl 'https://gamma-api.polymarket.com/markets?limit=100&after_cursor=eyJpZCI6Ij...' \
  -H 'Accept: application/json'
  • อาการ: พฤติกรรมคล้าย 429 (throttling) หรือ 5xx ที่ไม่แน่นอนภายใต้โหลดสูง.
    • สาเหตุ: Gamma บังคับใช้ rate limit เฉพาะ endpoint (เช่น /markets มีขีดจำกัด).
    • วิธีแก้: เคารพขีดจำกัดที่ระบุ ถอยกลับแบบ exponential retry และรวมคำขอไว้ด้วยกัน (เพิ่ม limit ถึง 1000 เมื่อสมเหตุสมผล).

Data API (https://data-api.polymarket.com)

  • การอ่านข้อมูล positions, trades และ open interest ส่วนใหญ่เป็นสาธารณะ; หากเห็นความล้มเหลวด้านการยืนยันตัวตน ให้ตรวจสอบ base URL และ headers ให้ถูกต้อง

CLOB (https://clob.polymarket.com)

  • อาการ: การวางคำสั่งถูกปฏิเสธด้วยข้อผิดพลาดการยืนยันตัวตนเมื่อติดต่อ endpoint การเทรด.
    • สาเหตุ: endpoint การเทรดต้องการ API key และ HMAC signature. การอ่าน (order book, midpoint, prices history) เป็นสาธารณะ.
    • วิธีแก้: สร้างและเซ็นคำขอตามสเปคของ CLOB; ทดสอบการอ่านก่อนพยายามเขียน.

Market WebSocket (wss://ws-subscriptions-clob.polymarket.com/ws/market)

  • อาการ: การเชื่อมต่อถูกปิดหรือไม่มีอีเวนต์เรียลไทม์.
    • สาเหตุ: socket คาดหวัง PING ทุก 10 วินาที; เซิร์ฟเวอร์อาจตัดการเชื่อมต่อที่ว่างนาน นอกจากนี้สามารถ subscribe ได้สูงสุด 500 instruments ต่อการเชื่อมต่อหนึ่งครั้ง.
    • วิธีแก้: ส่ง PING ตามที่กำหนดและแยกการสมัครสมาชิกข้ามการเชื่อมต่อเมื่อเกิน 500 instruments.

H2: การถูกบล็อกตามภูมิภาคและ HTTP 403 (Polymarket geoblock 403)

  • อาการ: HTTP 403 เมื่อพยายามวางคำสั่งหรือเข้าถึงเส้นทางการเทรด; UI แสดงข้อความ geoblock.
    • สาเหตุ: Polymarket บล็อกการวางคำสั่งจากบางเขตอำนาจตาม IP. บางภูมิภาคถูกบล็อกทั้งหมด; บางแห่งเป็นปิดเพื่อเปิดเฉพาะการปิด (close-only).
    • วิธีแก้: ยืนยันตำแหน่ง IP ของคุณ หากคุณอยู่ในเขตที่ถูกบล็อก ให้ปฏิบัติตามคำแนะนำการมีสิทธิ์ของ Polymarket อย่างเป็นทางการ ห้ามพยายามใช้ VPN เพื่อข้ามบล็อก — นั่นละเมิดข้อกำหนดการให้บริการ หากคุณเชื่อว่าการบล็อกเป็นความผิดพลาด ให้ติดต่อฝ่ายซัพพอร์ตของ Polymarket ผ่านเว็บไซต์อย่างเป็นทางการและส่งข้อมูลการวินิจฉัยการเชื่อมต่อและหลักฐาน IP.

H2: สาเหตุและวิธีแก้ปัญหา "order rejected" ที่พบบ่อย

  1. กระเป๋าเงินยังไม่ได้ถูก deploy หรือ proxy หาย
  • อาการ: คำสั่งล้มเหลวระหว่างลำดับ Relayer ด้วยข้อผิดพลาดการ deploy หรือ proxy.
  • สาเหตุ: Polymarket รองรับสองประเภทกระเป๋าเงิน; ผู้ใช้ที่ไม่ใช่ Safe จะได้ proxy ถูก deploy ตอนทำธุรกรรมครั้งแรก.
  • วิธีแก้: ปล่อยให้ Relayer ทำการ deploy กระเป๋าเงินให้เสร็จสิ้น รอลำดับธุรกรรมแล้วลองส่งคำสั่งใหม่
  1. pUSD หรือโทเค็นไม่เพียงพอ
  • อาการ: คำสั่งถูกปฏิเสธเนื่องจากยอดไม่พอ.
  • สาเหตุ: การเทรดต้องใช้ pUSD.
  • วิธีแก้: เพิ่มทุนด้วย pUSD (ดูคำแนะนำของ Polymarket). ยืนยันคอนแทรกต์โทเค็นและยอดคงเหลือในกระเป๋าของคุณ
  1. การอนุญาต ERC-20 และลำดับ Relayer
  • อาการ: ความพยายามส่งคำสั่งติดค้างรอการอนุญาต.
  • สาเหตุ: Relayer สามารถจัดการการอนุญาตได้แบบ gasless แต่ลำดับการยืนยันในกระเป๋าต้องเสร็จสมบูรณ์.
  • วิธีแก้: ยืนยันว่า request ไปยัง Relayer เสร็จสมบูรณ์และตรวจสอบ UI กระเป๋าเงินของคุณสำหรับการยืนยันที่รอดำเนินการ
  1. ความล้มเหลวเกี่ยวกับ tick-size และขั้นต่ำของการเพิ่ม/ลด
  • อาการ: คำสั่งถูกปฏิเสธหรือถูกปัดเศษโดยไม่คาดคิด; ความต่างราคาเล็กน้อยไม่ถูกยอมรับ.
  • สาเหตุ: Polymarket บังคับใช้ tick size (โดยทั่วไป $0.01 และจะเข้มงวดเป็น $0.001 เมื่อราคาเข้าใกล้ขอบ).
  • วิธีแก้: ปัดเศษราคาและขนาดให้ตรงกับ tick ที่ใช้งานอยู่ สมัครรับ tick_size_change ผ่าน Market WebSocket เพื่อรู้การเปลี่ยนแปลง
  1. FAK / การเติมบางส่วนของคำสั่ง market และ slippage
  • อาการ: คำสั่ง market คืนการเติมบางส่วนหรือดูเหมือนถูกยกเลิก.
  • สาเหตุ: helper ของ CLOB ใช้ FAK (Fill-And-Kill). หากไม่สามารถจับคู่เต็มจำนวนภายในการป้องกัน slippage ส่วนที่เหลือจะถูกยกเลิก.
  • วิธีแก้: ตรวจสอบการตอบกลับจาก createMarketOrder เพื่อดูปริมาณที่ถูกเติมและจัดการการเติมบางส่วนในโปรแกรมของคุณ
  1. การปฏิเสธที่เกี่ยวกับค่าธรรมเนียมหรือหมวดหมู่
  • อาการ: คำสั่งล้มเหลวพร้อมข้อผิดพลาดเกี่ยวกับค่าธรรมเนียม.
  • สาเหตุ: ค่าธรรมเนียม taker แตกต่างกันตามหมวดหมู่ (0%–1.8% ปัจจุบัน); Builder อาจเก็บ basis points เพิ่มเติม.
  • วิธีแก้: ยืนยันหมวดหมู่ของตลาดและ headers การอ้างอิงของคุณหากใช้ Builder ตรวจสอบให้แน่ใจว่าการคำนวณต้นทุนรวมค่าธรรมเนียม taker

H2: การดำเนินการ CTF และข้อผิดพลาดการชำระบัญชี

  • อาการ: split/merge/redeem ล้มเหลวหรือส่งกลับข้อผิดพลาด.
  • สาเหตุ: CTF คือกรอบโทเค็นผลลัพธ์ ERC-1155; การดำเนินการอาจล้มเหลวหากคุณไม่มี pUSD โทเค็น หรือหากการ resolution ของ oracle อยู่ระหว่างการโต้แย้ง.
  • วิธีแก้: ตรวจสอบยอดคงเหลือและให้แน่ใจว่า UMA ได้รายงานผลการ resolution เสร็จสิ้น หาก UMA อยู่ระหว่างการโต้แย้งและระงับการชำระบัญชี ให้รอจนกว่า UMA จะสรุปผล

H2: เช็คลิสต์การแก้ปัญหา (runbook ด่วน)

  • ยืนยันว่า surface ใดรายงานข้อผิดพลาด (Gamma, Data, CLOB, หรือ WebSocket).
  • ทำซ้ำคำขอที่ล้มเหลวในรูปแบบขั้นต่ำ (GET order book หรือ GET market) ก่อนพยายามเขียน.
  • ตรวจสอบสถานะกระเป๋าเงิน: proxy ถูก deploy แล้วหรือยัง, ยอด pUSD, ธุรกรรม Relayer ที่รอดำเนินการ.
  • ตรวจสอบ tick size และปัดอินพุตให้ถูกต้อง.
  • สำหรับข้อผิดพลาดการแบ่งหน้า ให้เปลี่ยนเป็น after_cursor (Gamma).
  • เคารพ rate limits และถอยกลับเมื่อเจอ 429/5xx.

วิธีที่สิ่งนี้มีผลต่อการเทรดหรือการผสานรวมของคุณ

ข้อผิดพลาดที่บล็อกคำสั่งจะเพิ่มความหน่วงและทำลายคุณภาพการดำเนินการ สร้างตรรกะฝั่งไคลเอ็นต์ที่ป้องกัน: ตรวจจับการเติมบางส่วน แสดงข้อความข้อผิดพลาดที่ชัดเจนแก่ผู้ใช้ และเก็บสถานะเพียงพอสำหรับการลองใหม่อย่างปลอดภัย สำหรับ Builder ที่ routing คำสั่งผ่าน CLOB ตรวจสอบ headers การอ้างอิงและ API key/HMAC ให้ถูกต้องเพื่อหลีกเลี่ยงการถูกปฏิเสธโดยไม่คาดคิด

ปิดท้าย

รหัสข้อผิดพลาดของ Polymarket มักชี้ไปยังสาเหตุหลักไม่กี่อย่าง: การถูกบล็อกตามภูมิภาค การแบ่งหน้า/อัตราการเรียกเกิน การยืนยันตัวตนสำหรับการเทรด สถานะกระเป๋าเงิน/Relayer ข้อจำกัด tick-size และยอดไม่เพียงพอ เมื่อเห็นข้อผิดพลาด ให้ระบุ surface เก็บการตอบกลับดิบ และทำตามเช็คลิสต์ด้านบน API สาธารณะและ WebSocket ของ Polymarket เป็นพื้นผิววินิจฉัยหลัก ให้เริ่มจากที่นั่น

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

ทำไมฉันถึงได้รับ HTTP 422 จาก Gamma เมื่อแบ่งหน้า markets?

Gamma ใช้ keyset pagination API จะปฏิเสธ offset ด้วย HTTP 422 ใช้ค่า after_cursor ที่ส่งกลับจากการเรียกก่อนหน้าและพารามิเตอร์ limit แทน

Polymarket geoblock 403 คืออะไร และฉันจะแก้ไขอย่างไร?

403 geoblock หมายความว่า IP ของคุณอยู่ในเขตอำนาจที่ Polymarket จำกัดการวางคำสั่ง ยืนยันตำแหน่ง IP ของคุณและปฏิบัติตามคำแนะนำการมีสิทธิ์อย่างเป็นทางการของ Polymarket ห้ามใช้ VPN เพื่อข้ามบล็อก; หากคุณเชื่อว่ามีความผิดพลาด ให้ติดต่อฝ่ายซัพพอร์ต

คำสั่งตลาดของฉันเติมบางส่วนหรือถูกยกเลิก — เกิดอะไรขึ้น?

helper ของ CLOB วางคำสั่งแบบ FAK (Fill-And-Kill) ตามค่าเริ่มต้น หากสภาพคล่องไม่เพียงพอหรือการป้องกัน slippage ถูกเรียก ส่วนที่เหลือจะถูกยกเลิก ตรวจสอบการตอบกลับคำสั่งเพื่อดูปริมาณที่เติมและลองใหม่อย่างระมัดระวัง

ทำไมคำสั่งของฉันถึงถูกปฏิเสธเพราะขั้นของราคา?

Polymarket บังคับใช้ tick size (โดยทั่วไป $0.01 และเข้มงวดเป็น $0.001 เมื่อเข้าใกล้ขอบ) หากราคา或ปริมาณของคุณใช้หน่วยเพิ่มที่เล็กกว่า คำสั่งจะถูกปฏิเสธหรือถูกปัดเศษ สมัครรับ tick_size_change บน Market WebSocket เพื่ออัปเดตสถานะ

ฉันต้องมี API keys เพื่ออ่าน order books หรือ Market WebSocket หรือไม่?

ไม่ CLOB reads (order book, midpoint, price history) และ Market WebSocket เป็นสาธารณะ endpoint การเทรดบน CLOB ต้องการ API key และ HMAC; Gamma และ Data REST APIs เป็นการอ่านสาธารณะ

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

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