Polymarket error codes and fixes
Common Polymarket API and UI errors, what they mean, and practical fixes for developers and active users.
Polymarket error codes and fixes
यह गाइड UI और API में सबसे सामान्य Polymarket एरर कोड्स समझाता है: वे क्या मतलब रखते हैं और डेवलपर्स तथा सक्रिय उपयोगकर्ताओं के लिए व्यावहारिक समाधान। यदि आप किसी इंटीग्रेशन, ऑर्डर फ्लो, या वॉलेट कनेक्शन का डिबग कर रहे हैं, तो यह गाइड समस्या को तेज़ी से ट्रायज करने में मदद करेगा।
Key takeaways
- Polymarket त्रुटियाँ कुछ मुख्य श्रेणियों में आती हैं: geoblocking (403), API validation (422), rate limits, CLOB/trading auth, वॉलेट या pUSD फंडिंग, और CTF/CTF-ऑपरेशन समस्याएँ।
- Gamma लिस्टिंग कॉल्स के लिए cursor-based pagination (
after_cursor) का उपयोग करें —offsetHTTP 422 के साथ अस्वीकार किया जाता है। - CLOB पर ट्रेडिंग के लिए API keys + HMAC की आवश्यकता होती है; पब्लिक रीड्स के लिए ऑथ की ज़रूरत नहीं है।
- कई UI में दिखाई देने वाले "order rejected" मामलों का कारण वॉलेट डिप्लॉयमेंट, अपर्याप्त pUSD, approvals, tick-size बदलना, या FAK आंशिक फिल्स होते हैं — Relayer फ्लो और CLOB ऑर्डर रिस्पॉन्स की जाँच करें।
Why errors matter (short)
एक prediction-market फ्लो में त्रुटियाँ ऑर्डर्स को ब्लॉक कर सकती हैं, आंशिक फिल्स का कारण बन सकती हैं, या reconciliation को रोक सकती हैं। Polymarket कई surfaces (Gamma, Data, CLOB, और Market WebSocket) का उपयोग करता है। यह जानना कि किस surface ने एरर फेंका है, समाधान को सीमित कर देता है।
H2: Common API and WebSocket error patterns
Gamma (https://gamma-api.polymarket.com)
- Symptom: HTTP 422 जब आप
offsetका उपयोग करके markets को paginate करते हैं।- Why: Gamma keyset-paginated है।
offsetअस्वीकरण होता है। - Fix: पिछले कॉल द्वारा लौटाया गया
next_cursorउपयोग करकेafter_cursorका उपयोग करें। उदाहरण:
- Why: Gamma keyset-paginated है।
curl 'https://gamma-api.polymarket.com/markets?limit=100&after_cursor=eyJpZCI6Ij...' \
-H 'Accept: application/json'
- Symptom: 429 जैसे व्यवहार (throttling) या लोड के दौरान अनिश्चित 5xx।
- Why: Gamma endpoint-विशिष्ट rate limits लागू करता है (उदाहरण के लिए /markets का एक limit है)।
- Fix: दस्तावेज़ित limits का सम्मान करें, exponential retry के साथ back off करें, और अनुरोधों को consolidate करें (जहाँ उपयुक्त
limitको 1000 तक बढ़ाएँ)।
Data API (https://data-api.polymarket.com)
- पोज़िशन्स, ट्रेड्स, और open interest के लिए सामान्य रीड्स सार्वजनिक हैं; यदि आप auth failures देखते हैं, तो बेस URL और headers की सटीकता सत्यापित करें।
CLOB (https://clob.polymarket.com)
- Symptom: ट्रेडिंग एंडपॉइंट्स को हिट करते समय ऑर्डर-placement authentication error के साथ अस्वीकार।
- Why: ट्रेडिंग एंडपॉइंट्स के लिए API key और HMAC सिग्नेचर की आवश्यकता होती है। रीड्स (order book, midpoint, prices history) पब्लिक हैं।
- Fix: CLOB स्पेक के अनुसार अनुरोध जनरेट और साइन करें; राइट्स का प्रयास करने से पहले रीड्स को टेस्ट करें।
Market WebSocket (wss://ws-subscriptions-clob.polymarket.com/ws/market)
- Symptom: कनेक्शन बंद हो जाना या रीयल-टाइम इवेंट्स न मिलना।
- Why: सॉकट को हर 10 s पर PING की अपेक्षा होती है; सर्वर idle कनेक्शनों को ड्रॉप कर सकते हैं। साथ ही, आप प्रति कनेक्शन अधिकतम 500 instruments को subscribe कर सकते हैं।
- Fix: आवश्यकतानुसार PING भेजें और जब आप 500 instruments से अधिक हों तो सब्स्क्रिप्शनों को कनेक्शनों में विभाजित करें।
H2: Geoblock and HTTP 403 (Polymarket geoblock 403)
- Symptom: ऑर्डर प्लेस करने या ट्रेडिंग रूट्स तक पहुँचने का प्रयास करते समय HTTP 403। UI एक geoblock संदेश लौटाती है।
- Why: Polymarket कुछ क्षेत्राधिकारों से IP द्वारा ऑर्डर प्लेसमेंट ब्लॉक करता है। कुछ क्षेत्र पूरी तरह ब्लॉक हैं; कुछ close-only हैं।
- Fix: अपने IP स्थान की पुष्टि करें। यदि आप एक ब्लॉक किए गए क्षेत्र में हैं, तो Polymarket की आधिकारिक मार्गदर्शिका के अनुसार पात्रता देखें। VPN से बाईपास करने का प्रयास न करें — यह Terms of Service का उल्लंघन है। यदि आपको लगता है कि ब्लॉक त्रुटिपूर्ण है, तो आधिकारिक साइट के माध्यम से Polymarket सपोर्ट से संपर्क करें और कनेक्शन diagnostics और IP साक्ष्य प्रदान करें।
H2: Common "order rejected" reasons and fixes
- Wallet अभी तक डिप्लॉय नहीं हुआ या proxy गायब है
- Symptom: Relayer फ्लो के दौरान ऑर्डर deployment या proxy error के साथ फेल हो जाता है।
- Why: Polymarket दो वॉलेट प्रकार सपोर्ट करता है; non-Safe उपयोगकर्ताओं के लिए पहली ट्रांज़ैक्शन पर एक proxy डिप्लॉय किया जाता है।
- Fix: Relayer को वॉलेट डिप्लॉयमेंट फ्लो पूरा करने दें। ट्रांज़ैक्शन पूरा होने के बाद ऑर्डर को पुनः प्रयास करें।
- अपर्याप्त pUSD या टोकन
- Symptom: insufficient balance के कारण ऑर्डर अस्वीकार।
- Why: ट्रेड्स के लिए pUSD आवश्यक है।
- Fix: अपने खाते को pUSD से फंड करें (Polymarket की मार्गदर्शिका देखें)। अपने वॉलेट में token contract और बैलेंस की पुष्टि करें।
- ERC-20 approvals और Relayer फ्लो
- Symptom: ऑर्डर प्रयास approval के लिए स्थिर हो जाता है।
- Why: Relayer approvals को gaslessly संभाल सकता है, पर वॉलेट फ्लो को पूरा होना चाहिए।
- Fix: पुष्टि करें कि Relayer अनुरोध पूरा हुआ और किसी भी pending confirmations के लिए अपने वॉलेट UI की जाँच करें।
- Tick-size और न्यूनतम इंक्रीमेंट फेल्योर
- Symptom: ऑर्डर अस्वीकार हो जाता है या अप्रत्याशित रूप से राउंड हो जाता है; छोटे मूल्य अंतर स्वीकार नहीं किए जाते।
- Why: Polymarket एक tick size लागू करता है (आम तौर पर $0.01, चरम के करीब $0.001 तक सख्त)।
- Fix: सक्रिय tick पर कीमत और साइज को राउंड करें। बदलाओं का पता लगाने के लिए Market WebSocket पर
tick_size_changeको सब्स्क्राइब करें।
- FAK / मार्केट ऑर्डर आंशिक फिल्स और स्लिपेज
- Symptom: मार्केट ऑर्डर्स आंशिक फिल्स लौटाते हैं या रद्द दिखाई देते हैं।
- Why: CLOB helper FAK (Fill-And-Kill) का उपयोग करता है। यदि पूरा मैच नहीं हुआ या स्लिपेज प्रोटेक्शन सक्रिय हुआ, तो शेष भाग रद्द कर दिया जाता है।
- Fix: createMarketOrder रिस्पॉन्स में भरी हुई मात्रा की जाँच करें और प्रोग्रामेटिक रूप से आंशिक फिल्स को संभालें।
- Fee या category-संबंधित अस्वीकृतियाँ
- Symptom: ऑर्डर fee-संबंधी error के साथ फेल।
- Why: Taker fees category के अनुसार बदलती हैं (वर्तमान में 0%–1.8%); builders अतिरिक्त basis points लागू कर सकते हैं।
- Fix: मार्केट category और यदि आप Builder उपयोग कर रहे हैं तो अपने attribution headers की पुष्टि करें। सुनिश्चित करें कि आपकी लागत गणनाओं में taker fees शामिल हों।
H2: CTF operations and settlement errors
- Symptom:
split/merge/redeemफेल होते हैं या error लौटाते हैं। - Why: CTF ERC-1155 outcome token framework है; यदि आपके पास pUSD, टोकन नहीं हैं, या oracle resolution विवादित है तो ऑपरेशंस फेल हो सकते हैं।
- Fix: बैलेंस सत्यापित करें और कि UMA resolution पूरा हो चुका है। यदि UMA disputes settlement को रोकता है, तो UMA के finalise होने तक प्रतीक्षा करें।
H2: Troubleshooting checklist (quick runbook)
- पुष्टि करें कि किस surface ने एरर रिपोर्ट किया (Gamma, Data, CLOB, या WebSocket)।
- लिखने का प्रयास करने से पहले न्यूनतम failing request (GET order book या GET market) पुनरुत्पन्न करें।
- वॉलेट स्थिति जांचें: proxy डिप्लॉय किया गया है, pUSD बैलेंस, pending Relayer ट्रांज़ैक्शन्स।
- tick size सत्यापित करें और इनपुट्स को उसी के अनुसार राउंड करें।
- pagination त्रुटियों के लिए
after_cursorपर स्विच करें (Gamma)। - rate limits का सम्मान करें और 429/5xx पर back off करें।
How this affects your trading or integration
जो त्रुटियाँ ऑर्डर्स को ब्लॉक करती हैं वे latency बढ़ाएंगी और execution quality को प्रभावित करेंगी। Defensive client logic बनाएं: आंशिक फिल्स detect करें, उपयोगकर्ताओं के लिए स्पष्ट error संदेश दिखाएँ, और सुरक्षित retries के लिए पर्याप्त state persist करें। CLOB के माध्यम से ऑर्डर्स route करने वाले builders के लिए, सुनिश्चित करें कि आपके attribution headers और API key/HMAC सही हैं ताकि अप्रत्याशित rejects से बचा जा सके।
Closing
Polymarket error codes आमतौर पर कुछ ही मूल कारणों की ओर इशारा करते हैं: geoblocking, pagination/rate limits, ट्रेडिंग के लिए auth, वॉलेट/Relayer स्थिति, tick-size प्रतिबंध, और अपर्याप्त बैलेंस। जब आप कोई एरर देखें, तो surface पहचानें, raw response कैप्चर करें, और ऊपर दिए गए checklist का पालन करें। Polymarket के public APIs और WebSocket endpoints प्राथमिक diagnostic surfaces हैं; वहीं से शुरू करें।
Frequently asked questions
Why do I get HTTP 422 from Gamma when paginating markets?
Gamma keyset pagination का उपयोग करता है। API offset को HTTP 422 के साथ अस्वीकार करता है। पिछले कॉल द्वारा लौटाए गए after_cursor मान और limit पैरामीटर का उपयोग करें।
What does Polymarket geoblock 403 mean and how do I fix it?
एक 403 geoblock संकेत देता है कि आपका IP उस क्षेत्राधिकार में है जिसे Polymarket ऑर्डर प्लेसमेंट के लिए प्रतिबंधित करता है। अपने IP स्थान की पुष्टि करें और Polymarket की आधिकारिक पात्रता मार्गदर्शिका का पालन करें। ब्लॉक बाईपास करने के लिए VPN का उपयोग न करें; यदि आपको लगता है कि यह त्रुटि है तो सपोर्ट से संपर्क करें।
My market order was partially filled or cancelled — what happened?
CLOB helper डिफ़ॉल्ट रूप से FAK (Fill-And-Kill) ऑर्डर्स प्लेस करता है। यदि liquidity ने ऑर्डर को पूरा नहीं मैच किया या स्लिपेज प्रोटेक्शन सक्रिय हुआ, तो शेष भाग रद्द कर दिया जाता है। भरी हुई मात्रा निर्धारित करने के लिए ऑर्डर रिस्पॉन्स की जाँच करें और सावधानी से पुनः प्रयास करें।
Why are my orders rejected for price increments?
Polymarket एक tick size लागू करता है (आमतौर पर $0.01, चरम के पास $0.001 तक सख्त)। यदि आपकी कीमत या मात्रा छोटे इंक्रीमेंट का उपयोग करती है, तो ऑर्डर अस्वीकार हो जाएगा या राउंड किया जाएगा। अद्यतन रहने के लिए Market WebSocket पर tick_size_change सब्स्क्राइब करें।
Do I need API keys to read order books or the Market WebSocket?
नहीं। CLOB रीड्स (order book, midpoint, price history) और Market WebSocket सार्वजनिक हैं। CLOB पर ट्रेडिंग एंडपॉइंट्स के लिए API key और HMAC की आवश्यकता होती है; Gamma और Data REST APIs सार्वजनिक रीड्स हैं।
संबंधित मार्गदर्शक
सिर्फ़ शैक्षिक जानकारी। वित्तीय, कानूनी या कर संबंधी सलाह नहीं। संभावित रूप से आपका क्षेत्र Polymarket के लिए उपलब्ध नहीं हो सकता।