अवलोकन
- बेस पाथ:
/api/v1 - प्रमाणीकरण:
x-api-keyहेडर के जरिए API कुंजी - आइडेम्पोटेंसी: लिखने वाले ऑपरेशन्स के लिए
Idempotency-Keyहेडर (UUID फॉर्मेट) आवश्यक - प्रतिक्रिया प्रारूप: सभी प्रतिक्रियाओं में ट्रैकिंग हेतु
x-request-idहेडर शामिल
एंडपॉइंट्स
GET /api/v1/wallets– उपयोगकर्ता वॉलेट सूचीGET /api/v1/wallets/balances– कॉलर के वॉलेट के बैलेंस (चेन के अनुसार; डिफॉल्ट वॉलेट)GET /api/v1/wallets/:address/balances– किसी स्वामित्व वाले पते के बैलेंसGET /api/v1/tx/:id– ट्रांज़ैक्शन विवरणPOST /api/v1/send– नेटिव/टोकन भेजें (EVM + Solana)POST /api/v1/token/approve– ERC20 टोकन अप्रूवल (EVM)POST /api/v1/contracts/send– जनरल कॉन्ट्रैक्ट इंटरैक्शन (EVM)POST /api/v1/trade/quote– स्वैप कोट्स (EVM + Solana)POST /api/v1/trade/swap– स्वैप निष्पादित करें (EVM + Solana)
चेन्स
समर्थित चेन्स में पूरी सूची देखें।chain स्लग का उपयोग करें (जैसे base, solana-devnet).
रेट लिमिटिंग
- लिखना (
POST /api/v1/trade/quoteसहित): प्रति उपयोगकर्ता प्रति मिनट 15 अनुरोध - पढ़ना: प्रति उपयोगकर्ता प्रति मिनट 60 अनुरोध
- प्रतिक्रिया: सीमा पार होने पर HTTP 429
- हेडर्स:
Retry-After(अगली विंडो तक सेकंड)
आइडेम्पोटेंसी (लिखाई)
- सभी म्यूटेटिंग एंडपॉइंट्स पर
Idempotency-Keyआवश्यक। - समान रिक्वेस्ट बॉडी के साथ key दोहराने पर मूल 200 प्रतिक्रिया मिलती है।
- भिन्न बॉडी के साथ key दोहराने पर HTTP 409 मिलता है और
code: IDEMPOTENT_BODY_MISMATCH। - बिना सहेजी सफलता के key दोहराने पर HTTP 409 और
code: IDEMPOTENT_REPLAY। - keys प्रमाणित यूज़र के स्कोप में होती हैं; एंडपॉइंट पाथ रिकॉर्ड किया जाता है।
- लागू:
POST /api/v1/send,POST /api/v1/token/approve,POST /api/v1/contracts/send,POST /api/v1/trade/swap।
त्रुटि प्रबंधन
त्रुटि प्रतिक्रिया प्रारूप
त्रुटि कोड
UNAUTHORIZED– प्रमाणीकरण गायब/अमान्य या API कुंजी (HTTP 401)FORBIDDEN– प्रमाणित लेकिन कार्रवाई के लिए अनुमति नहीं (HTTP 403)NOT_FOUND– संसाधन नहीं मिला (HTTP 404)RATE_LIMITED– रेट सीमा पार (HTTP 429)INVALID_INPUT– अमान्य अनुरोध पैरामीटर (HTTP 400)WALLET_NOT_FOUND– निर्दिष्ट वॉलेट नहीं मिलाUSER_NOT_LINKED– उपयोगकर्ता Privy से लिंक नहींWALLET_NOT_DELEGATED– वॉलेट सर्वर साइनर को डेलिगेट नहींWALLET_ID_REQUIRED– Privy वॉलेट ID गायबCHAIN_UNKNOWN– अज्ञात या असमर्थित चेनINSUFFICIENT_FUNDS– भेजने वाले के पास मूल्य/शुल्क के लिए फंड कमIDEMPOTENT_BODY_MISMATCH– समान आइडेम्पोटेंसी key के साथ भिन्न रिक्वेस्ट बॉडी (HTTP 409)IDEMPOTENT_REPLAY– आइडेम्पोटेंसी key पहले से उपयोग में (HTTP 409)PRIVY_RPC_ERROR– Privy RPC सेवा त्रुटिSEND_FAILED– ट्रांज़ैक्शन सबमिशन विफलSERVICE_UNAVAILABLE– आवश्यक सेवा कॉन्फ़िगर नहींQUOTE_FAILED– कोट सेवा त्रुटि (HTTP 400)INTERNAL_ERROR– सर्वर त्रुटि
QUOTE_FAILED विवरण:
- Solana/Jupiter: कुछ Solana mints Jupiter पर व्यापार योग्य नहीं (क्यूरेटेड allowlist)। ऐसे मामलों में, यह API HTTP 400 के साथ
code: QUOTE_FAILEDऔर त्रुटि संदेश जैसे: “Token not tradable on Jupiter” लौटाता है। - EVM/1inch: यदि टोकन 1inch द्वारा समर्थित नहीं है, तो API HTTP 400 के साथ
code: QUOTE_FAILEDऔर संदेश जैसे: “Token not tradable on 1inch” लौटाता है। - जब अनुरोधित आउटपुट टोकन/mint को अपस्ट्रीम प्रदाता द्वारा non-tradable चिह्नित किया गया हो तो यह अपेक्षित व्यवहार है, भले ही अन्य जगहों पर pools मौजूद हों।
वेलिडेशन
एड्रेस फॉर्मेट्स
- EVM:
/^0x[a-fA-F0-9]{40}$/से मेल - Solana: वैध base58 पब्लिक की
कॉमन पैरामीटर्स
- अमाउंट (EVM): केवल integer स्ट्रिंग्स (decimal या 0x-hex). non-negative होनी चाहिए। ERC20 और
valueके लिए uint256 में फिट होनी चाहिए। - अमाउंट (Solana): base यूनिट्स में integer स्ट्रिंग्स। SPL अमाउंट्स unsigned 64-bit रेंज में होने चाहिए।
- भेजने वाला (
from): वैकल्पिक। न देने पर निर्दिष्ट चेन के लिए यूज़र का डिफ़ॉल्ट वॉलेट उपयोग होता है। - आइडेम्पोटेंसी: सभी write एंडपॉइंट्स को
Idempotency-Keyहेडर चाहिए। समान बॉडी के साथ दोहराव मूल प्रतिक्रिया लौटाता है।
नेटिव टोकन कीवर्ड
ट्रेड एंडपॉइंट्स (/api/v1/trade/quote, /api/v1/trade/swap) fromToken/toToken के लिए case-insensitive NATIVE कीवर्ड स्वीकार करते हैं:
- EVM:
NATIVEको0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeEमें रिज़ॉल्व किया जाता है - Solana:
NATIVEको wrapped SOL mintSo11111111111111111111111111111111111111112में रिज़ॉल्व किया जाता है - प्रतिक्रियाएँ रिज़ॉल्व किए गए एड्रेस लौटाती हैं (
NATIVEनहीं) - send एंडपॉइंट नेटिव ट्रांसफर्स के लिए टोकन एड्रेस के बजाय
asset: "native"का उपयोग करता है
कन्वेंशंस
- चेन चयन:
chainस्लग का उपयोग करें (उदा.,base,base-sepolia,solana-devnet). - Solana
Transaction.chainIdसेंटिनल मैपिंग:0= mainnet,-2= testnet,-3= devnet। - आइडेम्पोटेंसी: यूज़र/कुंजी के अनुसार अद्वितीय; रिप्ले → मूल प्रतिक्रिया; बॉडी असंगति → 409।