accepts, y cómo PAYMENT-SIGNATURE convierte la misma solicitud API en una solicitud pagada.
Preparativos
Necesitas preparar:
No se necesita un token API para llamar a Ace Data Cloud API con X402. La primera solicitud del SDK no lleva
Authorization, el Gateway devolverá 402 Payment Required y los requisitos de pago; el SDK reintentará automáticamente después de firmar.
Instalación del SDK
Direcciones de código fuente y paquetes:- Repositorio del SDK: https://github.com/AceDataCloud/SDK
- Repositorio del Cliente X402: https://github.com/AceDataCloud/X402Client
- npm:
@acedatacloud/sdk,@acedatacloud/x402-client - PyPI:
acedatacloud,acedatacloud-x402
acedatacloud-x402.
Instalación y verificación de importaciones en un entorno temporal limpio:
- Los paquetes de npm y PyPI son paquetes publicados reales, no son nombres de marcador de posición en la documentación.
acedatacloud-x402[cli]instalará la CLI, el subcomandoapprove-permit2se puede usar para la autorización Permit2 en escenariosupto.
La primera solicitud devolverá 402
Puedes usarcurl para ver qué devuelve una solicitud no pagada. El siguiente ejemplo no generará cargos porque no lleva PAYMENT-SIGNATURE:
accepts, cuya estructura común es la siguiente:
PAYMENT-REQUIRED, facilitando que el cliente lea los requisitos de pago sin analizar el cuerpo.
El resumen de salida del programa de solicitudes no pagadas de la API de producción es el siguiente:
- La primera solicitud no llevó
AuthorizationniPAYMENT-SIGNATURE, por lo que devuelve HTTP 402 y no generará cargos. acceptses la única base de firma confiable para esta solicitud, que incluye redes opcionales, esquema, límite de cantidad, dirección de pago y dirección de activo.networkes la identificación CAIP-2, el cliente debe coincidir con la cadena CAIP-2 al seleccionar la red.- El límite de cantidad para esta solicitud mínima de chat
gpt-4o-minies95215USDC atómicos, es decir,0.095215USDC. - Cada solicitud debe leer la respuesta 402 de esa vez, no se deben codificar en duro las cantidades de ejemplo en el código de negocio.
Completar el reintento de pago con el SDK
A continuación se muestra un ejemplo mínimo en TypeScript. Especificanetwork: 'skale', el manejador seleccionará el requisito de pago de SKALE de la respuesta 402 actual; la cantidad real y la dirección de pago seguirán basándose en accepts.
content ADC_TS_SDK_X402_OKes la cadena fija devuelta por el modelo según la palabra clave, lo que indica que la solicitud realmente ingresó a la API del modelo después de un reintento de pago.payeres la dirección de la billetera firmada localmente, la clave privada no se envió a Ace Data Cloud.- El SDK completó el análisis de 402, la firma de
PAYMENT-SIGNATUREy el reintento de la solicitud original; el código de negocio aún se escribe de acuerdo con el método de llamada SDK normal.
- El SDK envía una solicitud API normal, sin
Authorization. - Gateway devuelve
402 Payment Requiredyaccepts. createX402PaymentHandlerselecciona el requisito de pagonetwork = 'skale'y firmaPAYMENT-SIGNATURE.- El SDK reintenta con el mismo cuerpo de solicitud, el Gateway llama al Facilitador para verificar y liquidar antes de liberar a la API objetivo.
Ver capacidades de soporte del Facilitador
La API X402 no depende de un directorio de recursos. El cliente llama directamente a la API conocida y utiliza el402 Payment Required y accepts devueltos en tiempo real como única base de precio y firma.
La declaración de capacidades del Facilitador se encuentra en:
/supported, /verify, /settle y la red de pago habilitada actualmente, sin listar recursos de API.
La dirección del Facilitador de producción de Ace Data Cloud es:
kinds devuelto enumerará las redes y esquemas que el Facilitador soporta. En la llamada real, aún se debe considerar el accepts devuelto por la API.
Salida de Facilitador /supported:
/supportedindica que el Facilitador tiene capacidades de verificación y liquidación para estas redes y esquemas.- Base, SKALE y Solana soportan
exact;uptoactualmente solo se ofrece en Base. - Si una API específica permite una red, aún se debe considerar el
acceptsde 402 de esa API.

