मुख्य सामग्री पर जाएं

अवलोकन

  • बेस पाथ: /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

त्रुटि प्रबंधन

त्रुटि प्रतिक्रिया प्रारूप

{
  "error": "पठनीय त्रुटि संदेश",
  "code": "ERROR_CODE",
  "requestId": "unique-request-id"
}

त्रुटि कोड

  • 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 mint So11111111111111111111111111111111111111112 में रिज़ॉल्व किया जाता है
  • प्रतिक्रियाएँ रिज़ॉल्व किए गए एड्रेस लौटाती हैं (NATIVE नहीं)
  • send एंडपॉइंट नेटिव ट्रांसफर्स के लिए टोकन एड्रेस के बजाय asset: "native" का उपयोग करता है

कन्वेंशंस

  • चेन चयन: chain स्लग का उपयोग करें (उदा., base, base-sepolia, solana-devnet).
  • Solana Transaction.chainId सेंटिनल मैपिंग: 0 = mainnet, -2 = testnet, -3 = devnet।
  • आइडेम्पोटेंसी: यूज़र/कुंजी के अनुसार अद्वितीय; रिप्ले → मूल प्रतिक्रिया; बॉडी असंगति → 409।

संबंधित