402 Payment Required: el servidor responde a la primera llamada
con su precio, el cliente paga y vuelve a llamar con la prueba del pago, y el
servidor responde con los datos. En CCTools una ruta funciona así, junto a las
rutas con clave de API. No necesitas clave ni cuenta, solo una billetera de
Canton que pueda pagar.
El uso con clave es aparte: consigue una clave en cctools.network/profile/api y prueba cada endpoint con clave en cctools.network/api-docs.
La ruta de pago
El precio está en la propia respuesta
402 de la ruta, y esa respuesta es la
referencia. Léelo ahí antes de pagar en lugar de fiarte de las cifras de arriba."0" significa que el
exchange no informó ninguno.
Cómo funciona una llamada de pago
1
Llama sin pagar
La ruta responde
402 con una cabecera PAYMENT-REQUIRED: JSON codificado
en base64 cuyo array accepts tiene una entrada por cada activo con el que
puedes pagar. El amount de cada entrada está en unidades atómicas con
diez decimales, así que 1000000000 es 0,1.2
Firma una transferencia para una entrada
Tu cliente firma una transferencia en Canton que coincide exactamente con
una entrada y vuelve a llamar con ella en la cabecera
PAYMENT-SIGNATURE,
repitiendo esa entrada. Un cliente x402 hace este paso por ti.3
Recibe los datos y el recibo
El facilitador comprueba la transferencia y la liquida en el ledger, y la
ruta responde
200 con los datos y una cabecera PAYMENT-RESPONSE que
lleva el recibo de la liquidación.Paga desde un agente
FTP, que opera el facilitador, publica una billetera de agente con autocustodia y un cliente de línea de comandos,@ftptech/canton-agent-wallet.
Estos pasos siguen la
guía de agentes de FTP y el README
del paquete (versión 2.3.1, leído el 15 de octubre de 2026):
pay lee el 402, paga una entrada e imprime la respuesta. --max limita lo
que puede costar un pago, en CC salvo que elijas otro activo, y la billetera se
niega antes de firmar cualquier importe superior. Para pagar en USDCx o cETH,
añade --asset USDCx (o cETH) y antes autoriza el gasto de ese token con
CANTON_AGENT_PAYABLE_INSTRUMENTS, como describe la guía de FTP.
Desde código, el mismo paquete exporta makePayingFetch, un fetch que paga
cualquier 402 que encuentre:
Detalles legibles por máquina
- La respuesta
402describe la ruta en el formato de descubrimiento x402 Bazaar:extensions.bazaarcontiene la llamada (unGETsin parámetros), un JSON Schema de la respuesta y una fila de ejemplo, yresourcelleva una descripción con el precio por activo. - La especificación OpenAPI
marca la ruta con un bloque
x-x402: esquema, red, facilitador, las tres cabeceras y el precio por activo con la hora en que se leyó. - cctools.network/llms.txt incluye la ruta para modelos de lenguaje.
Respuestas y límites
- Una ruta. La ruta de tickers es la única ruta de pago por ahora.
- Primero el pago. El pago se liquida antes de enviar los datos. Cuando
faltan los datos o la última lectura correcta tiene más de 30 minutos, la
ruta responde
503antes de pedir ningún pago. - Latencia. FTP indica que un pago posterior al primero suele completarse en 10 a 25 segundos en mainnet; el primero tras un arranque en frío tarda más.
- Por llamada. Cada llamada tiene su propio precio y su propio pago. No hay suscripción ni saldo prepagado del lado de CCTools.
