@usdctofiat/offramp fügt eine USDC Off-Ramp mit einem einzigen Funktionsaufruf hinzu.
Das SDK ist der schnellste Weg, USDC aus Ihrer eigenen App heraus zu verkaufen. Ein einziger Aufruf validiert die Eingabe, genehmigt USDC, registriert den Verkäufer, erstellt die Einzahlung auf Base und delegiert die Preisgestaltung. Es zielt auf das Base-Mainnet ab und ist für die Erstellung von Einzahlungen permissionslos.
Installieren und eine Einzahlung erstellen
- 1Paket installieren: bun add @usdctofiat/offramp (npm und pnpm funktionieren ebenfalls).
- 2Übergeben Sie einen viem WalletClient: die Wallet des Nutzers, eine Server-Wallet oder eine Bot-Wallet.
- 3Rufen Sie offramp(walletClient, { amount, platform, currency, identifier }) auf.
- 4Lesen Sie die zurückgegebene depositId und txHash aus, oder richten Sie ein Projekt mit npx create-offramp-app@latest ein.
Die SDK-Oberfläche
| Export | Funktion |
|---|---|
| offramp(walletClient, params) | USDC-Verkauf in einem Aufruf, gibt { depositId, txHash, resumed, otcLink? } zurück |
| deposits(address) | Einzahlungen für eine Adresse auflisten, ohne den Protokollzustand zu indizieren |
| close(walletClient, depositId) | Nicht gefülltes USDC aus einer bestehenden Einzahlung abheben |
| enableOtc / disableOtc / getOtcLink | Private Einkäuferbeschränkung für eine Einzahlung verwalten |
| useOfframp() / usePeerExtensionRegistration() | React-Hooks aus @usdctofiat/offramp/react |
| PLATFORMS, CURRENCIES | Typisierte Const-Maps mit Identifikatoren, Validierung und Währungslisten |
Von Grund auf wiederaufnehmbar
Das Erstellen einer Einzahlung umfasst mehrere Onchain-Schritte. Wenn ein vorheriger Aufruf eine Einzahlung halb abgeschlossen hinterlassen hat, setzt ein erneuter Aufruf von offramp() dort fort, wo er aufgehört hat, anstatt eine Dublette zu erstellen. Das Flag resumed im Ergebnis ist true, wenn eine bestehende, nicht delegierte Einzahlung übernommen statt neu erstellt wurde.
Das macht das SDK sicher für Wiederholungsversuche von einem Server oder Bot: ein idempotenzfreundlicher Einstiegspunkt, der mit dem Onchain-Zustand abgleicht, anstatt einen sauberen Ausgangszustand vorauszusetzen.
Fehlerbehandlung
| Bereich | Wie das SDK es signalisiert |
|---|---|
| Typisierte Fehler | OfframpError enthält einen Code aus OFFRAMP_ERROR_CODES |
| PayPal- oder Wise-Einrichtung | EXTENSION_REGISTRATION_REQUIRED, wenn der Handle noch nicht registriert ist |
| Validierung | PLATFORMS und CURRENCIES bieten Identifikator- und Währungsvalidierung |
| Keine Schlüsselverwahrung | Das SDK signiert mit Ihrem WalletClient und speichert niemals private Schlüssel |
Wie Sie weitermachen
Starter-Templates
Next.js-, Vite- und Telegram-Bot-Starter sowie ausführbare Skripte und HMAC-Empfänger.
Webhooks
Abonnieren Sie Einzahlungs- und OTC-Lifecycle-Ereignisse mit HMAC-signierten Rückrufen.
Privates OTC im Code
Beschränken Sie eine Einzahlung auf eine genehmigte Käufer-Wallet und teilen Sie einen Link.
Keep exploring
Common questions
Ist @usdctofiat/offramp kostenlos?
Ja. Das SDK kann kostenlos installiert und integriert werden, und für das Erstellen von Einzahlungen ist kein API-Schlüssel erforderlich, da Ihre Wallet signiert. Peerlytics-Analytics, API-Credits und signiertes Webhook-Management sind separat über Peerlytics erhältlich.
Verwahrt das SDK Schlüssel oder bewegt es Fiat-Geld?
Beides ist mit Nein zu beantworten. Es signiert mit dem von Ihnen bereitgestellten viem WalletClient und speichert niemals private Schlüssel. Fiat-Geld wird direkt zwischen Käufer und Verkäufer über die gewählte Zahlungs-App transferiert; das SDK verwaltet nur den Onchain-USDC- und Einzahlungslebenszyklus.
Wie teste ich eine Integration?
Es gibt keine öffentliche Sandbox; das SDK zielt auf das Base-Mainnet ab, sodass eine Testeinzahlung real und im offenen Orderbuch auffindbar ist. Verwenden Sie das Minimum von 1 USDC und beschränken Sie die Einzahlung entweder als OTC-Einzahlung (übergeben Sie otcTaker, sodass nur Ihre Wallet sie auffüllen kann) oder schließen Sie sie schnell mit close(). Bestätigen Sie onchain und über deposits().