Разработчикам · SDK

@usdctofiat/offramp добавляет вывод USDC одним вызовом функции.

SDK — это быстрый путь к продаже USDC из вашего собственного приложения. Один вызов проверяет ввод, выдаёт approve на USDC, регистрирует продавца, создаёт депозит на Base и делегирует ценообразование. Он работает с мейннетом Base и не требует разрешений для создания депозитов.

01

Установка и создание депозита

  1. 1Установите пакет: bun add @usdctofiat/offramp (npm и pnpm тоже подходят).
  2. 2Передайте viem WalletClient: кошелёк пользователя, серверный кошелёк или кошелёк бота.
  3. 3Вызовите offramp(walletClient, { amount, platform, currency, identifier }).
  4. 4Прочитайте возвращённые depositId и txHash или развернёте проект через npx create-offramp-app@latest.
02

Поверхность SDK

ЭкспортЧто делает
offramp(walletClient, params)Поток продажи USDC одним вызовом, возвращает { depositId, txHash, resumed, otcLink? }
deposits(address)Список депозитов для адреса без индексации состояния протокола
close(walletClient, depositId)Вывод незаполненного USDC из существующего депозита
enableOtc / disableOtc / getOtcLinkУправление приватным ограничением «один покупатель» на депозите
useOfframp() / usePeerExtensionRegistration()React-хуки из @usdctofiat/offramp/react
PLATFORMS, CURRENCIESТипизированные const-карты с идентификаторами, валидацией и списками валют
03

Возобновляемость заложена в архитектуру

Создание депозита проходит через несколько ончейн-шагов. Если предыдущий вызов оставил депозит на полпути, повторный вызов offramp() продолжает с того места, где остановился, вместо создания дубликата. Флаг resumed в результате равен true, когда был подхвачен существующий неделегированный депозит, а не создан новый.

Это делает SDK безопасным для повторных вызовов с сервера или бота: дружественная к идемпотентности точка входа, которая сверяется с ончейн-состоянием вместо того, чтобы предполагать чистый лист.

04

Обработка ошибок

АспектКак SDK его сигнализирует
Типизированные ошибкиOfframpError несёт код из OFFRAMP_ERROR_CODES
Настройка PayPal или WiseEXTENSION_REGISTRATION_REQUIRED, когда handle ещё не зарегистрирован
ВалидацияPLATFORMS и CURRENCIES предоставляют валидацию идентификатора и валюты
Без хранения ключейSDK подписывает вашим WalletClient и никогда не хранит приватные ключи

Keep exploring

Common questions

Бесплатен ли @usdctofiat/offramp?

Да. SDK бесплатен для установки и интеграции, а создание депозитов не требует API-ключа, потому что подписывает ваш кошелёк. Аналитика Peerlytics, API-кредиты и управление подписанными вебхуками доступны отдельно через Peerlytics.

Хранит ли SDK ключи или перемещает фиат?

Нет на оба вопроса. Он подписывает предоставленным вами viem WalletClient и никогда не хранит приватные ключи. Фиат перемещается напрямую между покупателем и продавцом в выбранном платёжном приложении; SDK управляет только ончейн-USDC и жизненным циклом депозита.

Как протестировать интеграцию?

Публичного песочницы нет; SDK работает с мейннетом Base, поэтому тестовый депозит реален и виден в открытом ордербуке. Используйте минимум 1 USDC и либо ограничьте его как OTC-депозит (передайте otcTaker, чтобы только ваш кошелёк мог его заполнить), либо быстро вызовите close(). Подтвердите ончейн и через deposits().