Skip to main content
Este tutorial descreve o fluxo completo do Ace Data Cloud X402 com uma solicitação de API mínima. O objetivo não é escrever um código complexo primeiro, mas entender: por que a primeira solicitação retorna 402, o que há em accepts e como o PAYMENT-SIGNATURE transforma a mesma solicitação de API em uma solicitação paga.

Preparativos

Você precisa preparar: A chamada X402 para a API Ace Data Cloud não requer Token de API. A primeira solicitação do SDK não inclui Authorization, o Gateway retornará 402 Payment Required e a exigência de pagamento; o SDK tentará automaticamente novamente após a assinatura.

Instalação do SDK

Endereços do código-fonte e pacotes: TypeScript:
Python:
Se você quiser usar Solana, também precisará instalar as dependências correspondentes:
A versão Python do signer Solana já está incluída em acedatacloud-x402. Instalação e verificação de importação em um ambiente temporário limpo:
Explicação dos resultados:
  • Os pacotes npm e PyPI são pacotes reais publicados, não são nomes de espaço reservado na documentação.
  • acedatacloud-x402[cli] instalará o CLI, o subcomando approve-permit2 pode ser usado para autorização Permit2 no cenário upto.

A primeira solicitação retornará 402

Você pode usar curl para ver o que uma solicitação não paga retorna. O exemplo abaixo não gerará cobrança, pois não inclui PAYMENT-SIGNATURE:
O corpo da resposta incluirá um array accepts, cuja estrutura comum é a seguinte:
O mesmo conteúdo do desafio também será colocado na forma base64 no cabeçalho de resposta PAYMENT-REQUIRED, facilitando a leitura da exigência de pagamento pelo cliente sem precisar analisar o corpo. O resumo da saída do programa de solicitação não paga da API de produção é o seguinte:
Explicação dos resultados:
  • A primeira solicitação não incluiu Authorization ou PAYMENT-SIGNATURE, portanto retornou HTTP 402 e não gerou cobrança.
  • accepts é a única base de assinatura confiável para esta solicitação, contendo redes opcionais, esquema, limite de valor, endereço de recebimento e endereço de ativo.
  • network é a identificação CAIP-2, o cliente deve corresponder a string CAIP-2 ao escolher a rede.
  • O limite de valor para esta solicitação mínima de chat gpt-4o-mini é 95215 USDC atômico, ou seja, 0.095215 USDC.
  • Cada solicitação deve ler a resposta 402 atual, não deve codificar valores de exemplo no código de negócios.
Significado dos campos:

Completar a tentativa de pagamento com o SDK

Aqui está um exemplo mínimo em TypeScript. Ele especifica network: 'skale', o manipulador escolherá a exigência de pagamento SKALE da resposta 402 atual; o valor real e o endereço de recebimento ainda devem ser determinados por accepts.
同一链路用 TypeScript SDK 的程序运行结果:
结果说明:
  • content ADC_TS_SDK_X402_OK é a string fixa retornada pelo modelo conforme a palavra-chave, indicando que o pagamento foi refeito e a solicitação realmente entrou na API do modelo.
  • payer é o endereço da carteira assinada localmente, a chave privada não foi enviada para a Ace Data Cloud.
  • O SDK completou a análise do 402, a assinatura do PAYMENT-SIGNATURE e a reexecução da solicitação original; o código de negócios ainda é escrito de acordo com a forma normal de chamada do SDK.
Esta parte do código ocorreu em quatro etapas:
  1. O SDK envia uma solicitação API normal, sem Authorization.
  2. O Gateway retorna 402 Payment Required e accepts.
  3. createX402PaymentHandler escolhe o requisito de pagamento network = 'skale' e assina o PAYMENT-SIGNATURE.
  4. O SDK tenta novamente com o mesmo corpo da solicitação, o Gateway chama o Facilitator para verificar e liquidar antes de liberar para a API de destino.

Verificar as capacidades de suporte do Facilitator

A API X402 não depende de diretórios de recursos. O cliente chama diretamente APIs conhecidas e usa o 402 Payment Required e accepts retornados em tempo real como a única base de preço e assinatura. A declaração de capacidade do Facilitator está localizada em:
Ela descreve apenas /supported, /verify, /settle e as redes de pagamento atualmente habilitadas, sem listar recursos da API. O endereço do Facilitator de produção da Ace Data Cloud é:
Você pode verificar quais redes e esquemas ele suporta:
Os kinds retornados listarão as redes e esquemas suportados pelo Facilitator. Durante a chamada real, ainda se deve considerar o accepts retornado pela API. A saída do Facilitator /supported:
Resultado explicativo:
  • /supported indica que o Facilitator possui a capacidade de validação e liquidação para essas redes e esquemas.
  • Base, SKALE e Solana suportam exact; upto atualmente está disponível apenas na Base.
  • Se uma API específica permite uma determinada rede, ainda deve ser verificado com base no accepts do 402 dessa API.