Tu agente paga por lo que usa. Con presupuesto, no con un cheque en blanco.
Una API responde con un 402 y un precio en USDC. El agente paga esa llamada por la ruta REST de gasto, bajo el mandato que firmó el consumidor: el tope por llamada, el tope mensual y la vigencia se verifican antes de pagar. Dentro de los topes la llamada se paga y deja un recibo firmado; por encima, se rechaza y no se paga nada. En modo de prueba se liquida en Base Sepolia; la red principal de Base requiere que el operador la habilite de forma explícita.
Una llamada pagada, la siguiente rechazada.
Un ejemplo con datos de demostración: el agente llama un endpoint con precio x402, recibe un 402 con el precio en USDC, paga por la ruta de gasto del mandato y recibe la respuesta. La llamada siguiente cuesta más que el tope por llamada y se rechaza, sin pagar nada.
- El precio llega en el 402; el agente no lo fija
- Tope por llamada, tope mensual y vigencia verificados antes de pagar
- Por encima de un tope: rechazado (422), nada pagado
- Cada pago dentro de los topes deja un recibo firmado
La conversación es la parte fácil.
El pago máquina a máquina hoy es saldo prepago, llaves compartidas y facturas que concilias después. El agente o tiene un cheque en blanco, o no tiene forma de pagar.
Aprovisionar una llave de API y prepagar saldo en cada servicio
El agente paga por llamada, en USDC, el precio que cotiza el 402
Darle un cheque en blanco al agente y confiar
Cada pago se verifica contra el mandato: tope por llamada, tope mensual, vigencia
Conciliar el gasto de máquina con la factura del proveedor semanas después
Cada pago dentro de los topes deja un recibo firmado
Confiar en que una llamada fuera de presupuesto simplemente no pasará
Por encima de un tope el pago se rechaza y no se paga nada
Gasto de máquina con presupuesto.
El agente paga llamadas con precio x402 en USDC desde la billetera del consumidor, por la ruta REST de gasto del mandato (POST /v1/consumers/mandates/{id}/spend). Los topes del mandato se verifican antes de pagar, y cada pago dentro de ellos deja un recibo firmado. En modo de prueba se liquida en Base Sepolia; la red principal de Base requiere que el operador la habilite de forma explícita.
El agente llama el endpoint
El endpoint cotiza su precio en USDC
Tope por llamada, tope mensual, vigencia
USDC desde la billetera del consumidor
Un recibo firmado del pago
El agente llama un recurso y recibe un 402 con precio. La ruta REST de gasto verifica el mandato (tope por llamada, tope mensual, vigencia) y, dentro de los topes, paga en USDC desde la billetera CDP del consumidor; una oferta por encima del tope por llamada se rechaza con 422 antes de pagar. Cada pago recibe un recibo firmado. Modo de prueba: Base Sepolia. Red principal de Base: solo cuando el operador la habilita.
El código, y lo que supone.
// Prerequisites: CODESPAR_API_KEY set to a test key (csk_test_…), a mandate the // consumer signed (mnd_demo_cmp here: US$ 1.00 per call, US$ 20.00 a month) and // USDC in the consumer's wallet. Test mode settles on Base Sepolia. import { CodeSpar } from "@codespar/sdk"; const cs = new CodeSpar(); // pay for one call to an x402-priced endpoint, at most the per-call cap const res = await cs.api.response("post", "/v1/consumers/mandates/{id}/spend", { path: { id: "mnd_demo_cmp" }, body: { amount_minor: 100, payee: "https://inference.example/v1/summarize", attempt_id: "call_0001" }, }); // inside the caps: paid in USDC, with a signed receipt; above them: 422, nothing paid if (res.ok) console.log(res.data.receipt?.id, res.data.payment.amountMinor); else console.log(res.status);
Ejemplo con el SDK publicado (@codespar/sdk 0.16.11). Los requisitos están en los comentarios. Compilar no prueba la integración: ejecútalo primero en modo de prueba.
POST /v1/consumers/mandates/{id}/spendPaga una llamada con precio x402 en USDC, dentro de los topes del mandato.
MandateTope por llamada, tope mensual y vigencia, firmados por el consumidor y verificados antes de pagar.
Signed receiptUn recibo firmado por cada pago dentro de los topes.
Empieza con una clave de prueba.
Las claves de prueba son gratuitas. Abre el sandbox, conecta los proveedores que usa tu proyecto y mira qué herramientas puede llamar antes de construir.