Desarrolladores · Apps

Crea un flujo de venta de USDC que los usuarios sí puedan terminar.

Una buena app de off-ramp es, sobre todo, una gestión de estado aburrida: recoge la ruta, deja que la wallet firme, recupera los métodos de pago con extensión, muestra un enlace al depósito y reconcilia los eventos del ciclo de vida después de que la pestaña se cierre.

01

Vía de frontend

  1. 01Recoge el importe, la plataforma de pago, la moneda fiat y el identificador de cobro.
  2. 02Mostrar el límite de política actual del proveedor y exigir al usuario que confirme la cuenta, región y elegibilidad de transacción.
  3. 03Pasa el viem WalletClient conectado a useOfframp() o createOfframp({ walletClient }).
  4. 04Muestra los estados de progreso: approving, registering, depositing, confirming, delegating, restricting, resuming y done.
  5. 05Para una ruta apta que requiera la extensión, captura EXTENSION_REGISTRATION_REQUIRED y ejecuta usePeerExtensionRegistration(platform).
  6. 06Llama a deposits(address) al cargar la página para que un refresco no deje varado a un vendedor con una operación en curso.
02

Estado que deberías guardar

CampoMotivo
depositIdIdentificador principal para close(), enlaces OTC y soporte
txHashPrueba de que el usuario firmó y transmitió la transacción del depósito
platform + currencyVisualización de la ruta, soporte y segmentación analítica
etiqueta del identificadorReferencia de cobro legible; no guardes secretos
integratorIdAtribución estable para la telemetría de producto y el soporte
03

Restricciones de UX

  • El SDK apunta a la mainnet de Base; no hay sandbox público. Prueba con el mínimo de 1 USDC.
  • Cada depósito creado por el SDK delega la fijación de precios al vault de Delegate. No presentes controles manuales de tasa para esta vía.
  • El fiat queda fuera del SDK. El comprador y el vendedor liquidan directamente dentro de la app de pago seleccionada.
  • Reconcile narrow owner state with deposits(); use Peerlytics API for broader market data, deposits, intents, and analytics.

Preguntas frecuentes

¿Una app de wallet debería usar la función independiente o el hook de React?

Usa el hook de React cuando quieras estado integrado de carga, progreso, error y resultado. Usa createOfframp({ walletClient }) cuando tu app tenga su propia máquina de estados.

¿Qué debería mostrar cuando PayPal o Wise fallan el registro?

Primero mostrar el límite de la política: Wise prohíbe recibos de cripto-venta P2P y PayPal puede requerir preaprobación. Sólo para un flujo de proveedor elegible debe capturar EXTENSION_REGISTRATION_REQUIRED, conectar la extensión, uso completoPeerExtensionRegistration(), y reingresar.