설치 및 예치금 생성
- 01패키지 설치: bun add @usdctofiat/offramp (npm과 pnpm도 사용 가능합니다).
- 02viem WalletClient를 전달하세요: 사용자 지갑, 서버 지갑, 또는 봇 지갑을 사용할 수 있습니다.
- 03offramp(walletClient, { amount, platform, currency, identifier })를 호출하세요.
- 04반환된 depositId와 txHash를 확인하거나, npx create-offramp-app@latest로 프로젝트를 스캐폴딩하세요.
SDK 표면
| 내보내기 | 기능 |
|---|---|
| offramp(walletClient, params) | { depositId, txHash, resumed, otcLink? }를 반환하는 단일 호출 USDC 판매 플로우 |
| deposits(address) | 인덱서 프로토콜 상태 없이 주소에 대한 예치금 목록 조회 |
| close(walletClient, depositId) | 기존 예치금에서 미체결 USDC 인출 |
| enableOtc / disableOtc / getOtcLink | 예치금에 대한 단일 구매자 제한 관리 |
| useOfframp() / usePeerExtensionRegistration() | @usdctofiat/offramp/react의 React 훅 |
| PLATFORMS, CURRENCIES | 식별자, 유효성 검사, 통화 목록이 포함된 타입 지정 상수 맵 |
설계상 재시작 가능
예치금 생성은 여러 온체인 단계를 거칩니다. 이전 호출로 인해 예치금이 중간 단계에 남아 있는 경우, offramp()를 다시 호출하면 중복 생성 없이 중단된 지점부터 재개됩니다. 기존 미위임 예치금이 새로 생성되지 않고 채택된 경우, 결과의 resumed 플래그가 true로 설정됩니다.
이를 통해 SDK를 서버 또는 봇에서 안전하게 재시도할 수 있습니다. 빈 상태를 가정하지 않고 온체인 상태에 대해 조정하는 멱등성 친화적인 진입점입니다.
오류 처리
| 항목 | SDK 신호 방식 |
|---|---|
| 타입 지정 오류 | OfframpError는 OFFRAMP_ERROR_CODES의 코드를 전달합니다 |
| PayPal 또는 Wise 설정 | EXTENSION_REGISTRATION_REQUIRED는 기술 설정에 대해서만 신호를 보냅니다. 공급자 정책을 별도로 시행 |
| 유효성 검사 | PLATFORMS와 CURRENCIES는 식별자 및 통화 유효성 검사를 제공합니다 |
| 키 비보관 | SDK는 WalletClient로 서명하며 개인 키를 저장하지 않습니다 |