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:
- Repositório do SDK: https://github.com/AceDataCloud/SDK
- Repositório do Cliente X402: https://github.com/AceDataCloud/X402Client
- SDK PyPI: https://pypi.org/project/acedatacloud/
- Cliente X402 PyPI: https://pypi.org/project/acedatacloud-x402/
Instalação de Dependências
upto, também precisará chamar uma vez o CLI de aprovação do Permit2, que depende de web3:
acedatacloudeacedatacloud-x402podem ser instalados e importados do PyPI.pip install 'acedatacloud-x402[cli]'incluirá o CLIapprove-permit2, usado para autorização prévia deupto.
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.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:
- O programa completou a análise 402, a assinatura
PAYMENT-SIGNATUREe 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.
Exemplo Solana
Solana usa uma chave secreta codificada em base58: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 paraAsyncAceDataCloud:
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:
upto Base:
content ADC_BASE_UPTO_OKindica que a requisição realmente entrou na API do modelo.settled value 3 atomic USDCindica queuptofoi liquidado com base no uso real, e não no limite total.settlement txpode 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.
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:
{"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:create_x402_payment_handler.
