Skip to main content
Ace Data Cloud X402 atualmente utiliza dois tipos de esquema: exact e upto. Eles resolvem diferentes problemas de cobrança.

exact

exact significa que o preço pode ser determinado antes da solicitação entrar na API de destino. O valor assinado pelo cliente é o valor final a ser cobrado. Adequado para:
  • Geração de imagens com preço fixo;
  • Criação de tarefas de vídeo com preço fixo;
  • APIs de pesquisa ou ferramentas com preço fixo;
  • Pagamento de pedidos.
EVM exact utiliza USDC EIP-3009 TransferWithAuthorization:
O Facilitador valida a assinatura e o valor na fase /verify, e na fase /settle submete essa autorização na blockchain.

upto

upto significa que o cliente autoriza um limite máximo, e a Ace Data Cloud liquida com base no uso real após a conclusão da solicitação, sendo que o valor real cobrado não pode exceder o limite. Adequado para:
  • Completação de chat: o preço final depende dos tokens de prompt e dos tokens de conclusão;
  • Respostas em fluxo: o comprimento da saída real só é conhecido após o término;
  • APIs de medição posterior no futuro.
upto utiliza Permit2 PermitWitnessTransferFrom. O valor assinado pelo cliente não é uma transferência fixa, mas sim uma autorização de limite com testemunha:
permitted.amount é o limite, não necessariamente o valor final a ser cobrado. O Gateway na fase /record converterá o uso real em amount e enviará ao Facilitador. O Facilitador só permitirá a liquidação amount <= permitted.amount. Resultado da execução do programa base upto:
Observações:
  • O limite de autorização retornado no 402 é 95215 atomic USDC, e o cliente assina com esse limite.
  • Após a resposta real do modelo, apenas 3 atomic USDC é liquidado, e a transação na blockchain já pode ser verificada no BaseScan.
  • Este resultado ilustra a diferença chave do upto: o valor assinado é o limite, e a liquidação na blockchain pode ser inferior ao limite.
  • Se o uso real exceder o limite, o Facilitador deve recusar a liquidação, e o cliente precisará autorizar um limite mais alto.
upto atualmente está disponível apenas no Base. SKALE oferece apenas exact, se você precisar de medição posterior, utilize o Base.

Por que é necessário o Permit2 approve

upto é finalmente processado pelo proxy x402 através do Permit2 para retirar USDC da carteira de pagamento. Antes da primeira utilização, a carteira de pagamento precisa conceder uma vez a permissão ERC-20 ao Permit2. Python CLI:
Modo de programa:
Após a autorização, cada solicitação ainda precisa assinar um novo envelope upto, pois nonce, deadline, testemunha e limite de valor são diferentes.

Liquidação de valor zero

upto suporta situações em que o valor real é 0. Por exemplo, se a API de destino não gerar uma quantidade cobrável com sucesso, o Gateway pode passar amount = "0". O Facilitador retornará sucesso, mas não emitirá uma transação na blockchain. Isso pode evitar o problema de “solicitação não bem-sucedida, mas ainda assim cobrando taxas na blockchain”.

Recomendações de escolha

Se você não tiver certeza de qual escolher, use o comportamento padrão do SDK; o SDK escolherá a exigência de pagamento da rede correspondente retornada pelo servidor.

Lista de verificação Base upto

Ao integrar ou solucionar problemas, verifique se os seguintes parâmetros vêm da mesma resposta 402 e mantenha a consistência ao assinar no cliente: Erros comuns e formas de lidar: