Desenvolvedores · Apps

Construa um fluxo de venda de USDC que os usuários consigam de fato concluir.

Um bom app de off-ramp é principalmente um gerenciamento de estado entediante: coletar a rota, deixar a carteira assinar, recuperar métodos de pagamento controlados por extensão, mostrar um link de depósito e reconciliar eventos do ciclo de vida depois que a aba fecha.

01

Caminho de frontend

  1. 01Colete valor, plataforma de pagamento, moeda fiat e identificador de pagamento.
  2. 02Mostre o limite da política atual do provedor e exija que o usuário confirme a elegibilidade da conta, região e transação.
  3. 03Passe o viem WalletClient conectado para useOfframp() ou createOfframp({ walletClient }).
  4. 04Estados de progresso superficial: aprovar, registrar, depositar, confirmar, delegar, restringir, retomar, pronto.
  5. 05Para uma rota qualificada que exige extensão, capture EXTENSION_REGISTRATION_REQUIRED e execute usePeerExtensionRegistration(platform).
  6. 06Depósitos de chamadas (endereço) no carregamento da página para que uma atualização não prenda um vendedor durante o voo.
02

Estado que você deve armazenar

CampoMotivo
depositIdHandle principal para close(), links OTC e suporte
txHashProva de que o usuário assinou e transmitiu a transação de depósito
platform + currencyExibição da rota, suporte e segmentação de analytics
rótulo do identifierReferência de pagamento legível por humanos; não armazene segredos
integratorIdAtribuição estável para telemetria de produto e suporte
03

Restrições de UX

  • O SDK aponta para a mainnet da Base; não há sandbox público. Teste com o mínimo de 1 USDC.
  • Todo depósito criado pelo SDK delega o pricing ao vault da Delegate. Não apresente controles manuais de taxa para esse caminho.
  • O fiat fica fora do SDK. O comprador e o vendedor liquidam diretamente dentro do app de pagamento selecionado.
  • Reconcile narrow owner state with deposits(); use Peerlytics API for broader market data, deposits, intents, and analytics.

Perguntas comuns

Um app de carteira deve usar a função independente ou o React hook?

Use o React hook quando quiser estados de loading, progresso, erro e resultado prontos. Use createOfframp({ walletClient }) quando o seu app tiver a sua própria máquina de estado.

O que devo mostrar quando o PayPal ou a Wise falham no registro?

Primeiro mostre o limite da política: Wise proíbe P2P recibos de venda criptografada e PayPal pode exigir pré-aprovação. Somente para um fluxo de provedor qualificado você deve capturar EXTENSION_REGISTRATION_REQUIRED, conectar a extensão, concluir usePeerExtensionRegistration() e tentar novamente.