Skip to main content
Todos los casos de uso
Pagos de máquinaAI-native

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.

AntesAprovisionar llaves, prepagar, conciliar facturas
DespuésPagar por llamada, dentro de los topes del mandato
x402
por llamada, dentro de los topes del mandato
Pruébalo en el Sandbox
402
Precio cotizado
La API responde 402 con su precio en USDC
422
Por encima de un tope
Tope por llamada o mensual superado: rechazado, nada pagado
USDC
Liquidación
Desde la billetera del consumidor; Base Sepolia en modo de prueba
rcpt
Recibo firmado
Cada pago dentro de los topes deja un recibo firmado
Ejemplo ilustrativo · datos de demostración

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
API de inferencia (ejemplo)
x402 · modo de prueba
Agente
POST https://inference.example/v1/summarize
HTTP 402 · precio US$ 0,40 en USDC.
Dentro del tope por llamada (US$ 1,00) y del mensual (US$ 20,00). Pagado por la ruta de gasto del mandato.
RedBase Sepolia · prueba
Mandatomnd_demo_cmp
MontoUS$ 0,40
Reciborcpt_demo · firmado
200 · respuesta entregada.
La siguiente llamada cuesta US$ 1,50, más que el tope por llamada: rechazada (422), nada pagado.
✓ pagado · recibo firmado · la siguiente, rechazadarcpt_demo
El problema

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

Cómo lo hace el agente

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.

01
Llamar
Agente

El agente llama el endpoint

02
402
x402

El endpoint cotiza su precio en USDC

03
Verificar
Mandato

Tope por llamada, tope mensual, vigencia

04
Pagar
Ruta de gasto

USDC desde la billetera del consumidor

05
Recibo
Registro de auditoría

Un recibo firmado del pago

Arquitectura

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.

En código

El código, y lo que supone.

machine-spend-x402.ts
// 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.

Herramientas destacadas
POST /v1/consumers/mandates/{id}/spend

Paga una llamada con precio x402 en USDC, dentro de los topes del mandato.

Mandate

Tope por llamada, tope mensual y vigencia, firmados por el consumidor y verificados antes de pagar.

Signed receipt

Un recibo firmado por cada pago dentro de los topes.

Ver la referencia de meta-tools

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.

Gasto máquina a máquina (x402) — CodeSpar | CodeSpar