@usdctofiat/offramp एक फंक्शन कॉल में USDC ऑफ-रैंप जोड़ता है।
अपने खुद के ऐप से USDC बेचने का सबसे तेज़ रास्ता यह SDK है। एक कॉल इनपुट को validate करती है, USDC को approve करती है, seller को register करती है, Base पर deposit बनाती है, और pricing को delegate करती है। यह Base mainnet को टारगेट करता है और deposit बनाने के लिए permissionless है।
इंस्टॉल करें और deposit बनाएँ
- 1पैकेज इंस्टॉल करें: bun add @usdctofiat/offramp (npm और pnpm भी काम करते हैं)।
- 2एक viem WalletClient पास करें: यूज़र का wallet, एक server wallet, या एक bot wallet।
- 3offramp(walletClient, { amount, platform, currency, identifier }) कॉल करें।
- 4लौटाई गई depositId और txHash पढ़ें, या npx create-offramp-app@latest से एक प्रोजेक्ट scaffold करें।
SDK सरफेस
| Export | यह क्या करता है |
|---|---|
| offramp(walletClient, params) | एक-कॉल sell-USDC फ्लो जो { depositId, txHash, resumed, otcLink? } लौटाता है |
| deposits(address) | protocol state को index किए बिना किसी address के deposits लिस्ट करें |
| close(walletClient, depositId) | किसी मौजूदा deposit से अनफिल्ड USDC withdraw करें |
| enableOtc / disableOtc / getOtcLink | किसी deposit पर private एक-buyer प्रतिबंध मैनेज करें |
| useOfframp() / usePeerExtensionRegistration() | @usdctofiat/offramp/react से React hooks |
| PLATFORMS, CURRENCIES | identifiers, validation, और currency लिस्ट के साथ typed const maps |
डिज़ाइन से ही resumable
deposit बनाना कई onchain स्टेप्स में फैला होता है। अगर किसी पिछली कॉल ने deposit बीच में अधूरा छोड़ दिया, तो offramp() दोबारा कॉल करने पर वह डुप्लीकेट बनाने के बजाय वहीं से आगे बढ़ता है जहाँ छोड़ा था। result का resumed फ्लैग तब true होता है जब बनाने के बजाय किसी मौजूदा undelegated deposit को अपनाया गया।
इससे SDK को server या bot से retry करना सुरक्षित होता है: एक idempotency-friendly एंट्री पॉइंट जो साफ़ शुरुआत मानने के बजाय onchain state से reconcile करता है।
Error हैंडलिंग
| चिंता | SDK इसका संकेत कैसे देता है |
|---|---|
| Typed errors | OfframpError में OFFRAMP_ERROR_CODES से एक code होता है |
| PayPal या Wise सेटअप | EXTENSION_REGISTRATION_REQUIRED जब handle अभी तक registered नहीं है |
| Validation | PLATFORMS और CURRENCIES identifier और currency validation देते हैं |
| कोई key custody नहीं | SDK आपके WalletClient से साइन करता है और private keys कभी स्टोर नहीं करता |
Keep exploring
Common questions
क्या @usdctofiat/offramp मुफ्त है?
हाँ। SDK इंस्टॉल और इंटीग्रेट करने के लिए मुफ्त है, और deposits बनाने के लिए कोई API key नहीं चाहिए क्योंकि आपका wallet साइन करता है। Peerlytics analytics, API credits, और signed webhook management Peerlytics के ज़रिए अलग से उपलब्ध हैं।
क्या SDK keys custody करता है या fiat मूव करता है?
दोनों के लिए नहीं। यह आपके द्वारा दिए गए viem WalletClient से साइन करता है और private keys कभी नहीं रखता। fiat सीधे buyer और seller के बीच चुने गए payment app पर मूव होता है; SDK सिर्फ़ onchain USDC और deposit lifecycle संभालता है।
मैं किसी इंटीग्रेशन को कैसे टेस्ट करूँ?
कोई public sandbox नहीं है; SDK Base mainnet को टारगेट करता है, इसलिए एक test deposit असली होता है और खुले orderbook पर discoverable होता है। 1 USDC न्यूनतम का इस्तेमाल करें और या तो इसे OTC deposit के रूप में सीमित करें (otcTaker पास करें ताकि सिर्फ़ आपका wallet इसे fill कर सके) या इसे जल्दी close() कर दें। onchain और deposits() के ज़रिए पुष्टि करें।