Saltar al contenido principal

¿Qué es x402?

x402 es un protocolo de pagos máquina a máquina construido alrededor de HTTP 402 Payment Required. Permite a los agentes de IA pagar automáticamente por el acceso a APIs sin intervención humana. AgentWallex implementa x402 v2 con payloads de autorización EIP-3009.

Encabezados x402 v2

El protocolo utiliza tres encabezados HTTP:
EncabezadoDirecciónPropósito
PAYMENT-REQUIREDServidor a clienteDesafío 402 con información de precios
PAYMENT-SIGNATURECliente a servidorPayload de pago firmado
PAYMENT-RESPONSEServidor a clienteConfirmación de liquidación

Flujo de pago

Client Agent               Paid API               AgentWallex
    |                        |                         |
    |-- GET /resource ------>|                         |
    |<-- 402 + PAYMENT-REQUIRED                        |
    |                        |                         |
    |-- POST /api/v1/x402/pay -----------------------> |
    |                        |     (sign + policy)     |
    |<-- payment_info        |                         |
    |                        |                         |
    |-- GET /resource + PAYMENT-SIGNATURE -----------> |
    |<-- 200 + PAYMENT-RESPONSE                        |
1

El agente solicita un recurso

El agente envía una solicitud HTTP estándar a un endpoint de API de pago.
2

El servidor devuelve 402

La API responde con HTTP 402 y un encabezado PAYMENT-REQUIRED que contiene detalles de precios (monto, token, cadena, dirección payTo).
3

El agente paga mediante AgentWallex

El agente envía los detalles del pago a POST /x402/pay. AgentWallex evalúa las políticas y firma el pago.
4

El agente reintenta con prueba de pago

El agente reintenta la solicitud original con el encabezado PAYMENT-SIGNATURE adjunto.
5

El servidor verifica y responde

La API verifica la firma de pago (mediante el facilitador de AgentWallex) y devuelve el recurso.

Uso de APIs x402

Verificar si una URL soporta x402

curl -X POST https://api.agentwallex.com/api/v1/x402/check \
  -H "X-API-Key: awx_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://paid-api.example.com/v1/data"}'

Crear un presupuesto de sesión

Las sesiones le permiten preautorizar un presupuesto de gasto para llamadas repetidas a la API:
curl -X POST https://api.agentwallex.com/api/v1/x402/sessions \
  -H "X-API-Key: awx_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "agent_uuid",
    "budget_limit": "100.00",
    "chain": "eip155:84532",
    "ttl_seconds": 3600,
    "allowed_urls": ["https://paid-api.example.com/v1/data"]
  }'

Activar negociación de pago

curl -X POST https://api.agentwallex.com/api/v1/x402/pay \
  -H "X-API-Key: awx_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "agent_uuid",
    "target_url": "https://paid-api.example.com/v1/data",
    "session_id": "optional_session_uuid",
    "chain": "eip155:84532"
  }'
La respuesta incluye payment_info con:
CampoDescripción
ledger_idID de entrada del libro mayor interno
amountMonto del pago
fee_amountTarifa de plataforma deducida
fee_ratePorcentaje de tarifa aplicado
tokenToken utilizado (por ejemplo, USDC)
chainCadena utilizada para la liquidación
statusEstado del pago

Integración con SDK

Interceptor HTTP automático

El SDK de TypeScript proporciona un interceptor que maneja el flujo completo x402 automáticamente:
const fetchWithPayment = aw.x402.httpInterceptor({
  agentId: "agent_abc123",
  chain: "eip155:84532",
});

// This automatically handles 402 challenges
const response = await fetchWithPayment("https://paid-api.example.com/v1/data");
const data = await response.json();

Flujo manual

// 1. Create a session budget
const session = await aw.x402.createSession({
  agentId: "agent_abc123",
  budgetLimit: "100.00",
  chain: "eip155:84532",
  ttlSeconds: 3600,
  allowedUrls: ["https://paid-api.example.com/v1/data"],
});

// 2. Pay for an API call
const result = await aw.x402.pay({
  agentId: "agent_abc123",
  targetUrl: "https://paid-api.example.com/v1/data",
  sessionId: session.id,
  chain: "eip155:84532",
});

// 3. Or pay using the session directly
await aw.x402.sessionPay(session.id, {
  targetUrl: "https://paid-api.example.com/v1/data",
});

Para proveedores de servicios

Si usted expone APIs de pago, su servidor debe devolver un desafío x402 v2 cuando falte el pago.

Devolver 402 con PAYMENT-REQUIRED

Codifique un desafío JSON (base64) en el encabezado PAYMENT-REQUIRED:
{
  "x402Version": 2,
  "resource": "https://your-api.com/v1/data",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "amount": "0.10",
      "asset": "USDC",
      "payTo": "0xYourAddress",
      "maxTimeoutSeconds": 300
    }
  ]
}

Verificar y liquidar

Use los endpoints del facilitador de AgentWallex:
# Verify a payment signature
POST /api/v1/x402/facilitator/verify

# Settle a verified payment
POST /api/v1/x402/facilitator/settle

# Query supported chains
GET /api/v1/x402/facilitator/supported

Valores operativos predeterminados

ParámetroValor
Intervalo de liquidación300 segundos
Umbral de liquidación$10.00
Retraso máximo de liquidación3,600 segundos
Cadenas compatibleseip155:84532, eip155:8453, eip155:1, eip155:137