Skip to main content
O SDK Python é adequado para serviços de backend, tarefas de dados, agentes de automação e scripts de processamento em lote. acedatacloud é responsável pelas chamadas de API, enquanto acedatacloud-x402 é responsável por assinar o cabeçalho de requisição PAYMENT-SIGNATURE. Endereços do código-fonte e pacotes:

Instalação de Dependências

Se você deseja usar upto, também precisará chamar uma vez o CLI de aprovação do Permit2, que depende de web3:
Saída da instalação e verificação de importação em um venv Python limpo:
Explicação dos resultados:
  • acedatacloud e acedatacloud-x402 podem ser instalados e importados do PyPI.
  • pip install 'acedatacloud-x402[cli]' incluirá o CLI approve-permit2, usado para autorização prévia de upto.

Exemplo Base ou SKALE

O exemplo abaixo não requer um Token de API. A chave privada da carteira é assinada localmente e não será enviada para a Ace Data Cloud.
O SDK Python atualmente retorna um dict, então o exemplo usa res["choices"][0]["message"]["content"]. Não assuma diretamente que ele terá o atributo .choices. Resultados da chamada paga SKALE:
Explicação dos resultados:
  • O programa completou a análise 402, a assinatura PAYMENT-SIGNATURE e a reexecução da requisição original.
  • content ADC_PY_SDK_X402_OK é uma string fixa retornada pelo modelo, indicando que a requisição foi processada através do link de pagamento X402 para a API de destino.
  • id chatcmpl-DlcWajqAHOop3iebmO19XRfT5bTPz é o ID da resposta desta conclusão de chat.
Ao usar SKALE, basta alterar o nome da rede:

Exemplo Solana

Solana usa uma chave secreta codificada em base58:
O caminho Solana irá construir e submeter uma transação TransferChecked de SPL USDC, e então colocar a assinatura da transação no envelope PAYMENT-SIGNATURE. A tentativa de pagamento Solana já retornou HTTP 200 e ADC_SOLANA_E2E_OK na API de produção. A consulta RPC pública desta vez encontrou limitação, não confirmando a assinatura na cadeia de forma estável; para conciliação, utilize seu próprio RPC Solana para consultar esta transação.

Cliente Assíncrono

O mesmo manipulador de pagamento pode ser usado para AsyncAceDataCloud:

Uso de Medição Pós upto

O custo real de APIs como conclusão de chat e chamadas de modelo pode ser conhecido apenas após o término da resposta. Nesse momento, a API pode retornar simultaneamente exact e upto. Se você deseja priorizar o uso de upto:
Resultados da execução do programa upto Base:
Confirmação na cadeia:
Explicação dos resultados:
  • content ADC_BASE_UPTO_OK indica que a requisição realmente entrou na API do modelo.
  • settled value 3 atomic USDC indica que upto foi liquidado com base no uso real, e não no limite total.
  • settlement tx pode ser aberto no BaseScan; ao conciliar, salve o hash da transação, o pagador, o ID da conclusão e o resumo da requisição.
O upto usa o Permit2 para autorizar um limite, e o valor real liquidado não pode exceder esse limite. Antes do primeiro uso, é necessário fazer uma approve(Permit2, amount) para o USDC na cadeia de destino. Modo CLI:
Modo programático:
Este helper é idempotente. Se a allowance já for suficiente, retornará {"skipped": true}, sem repetir a transação na cadeia.

Assinatura de Baixo Nível

Se você não usar o SDK, também pode chamar diretamente a função de assinatura de baixo nível:
As funções de baixo nível são adequadas para testes, camadas de proxy, integração de gateway ou SDK não oficiais. O código de negócios comum deve priorizar o uso de create_x402_payment_handler.