Saltar al contenido principal
CONTROLES DE GASTO

Tu agente no puede gastar más de lo que estableciste.

Establece una asignación por período y un límite por transacción en cada agente en el panel. El backend lo aplica en cada pago saliente - el código del agente no puede eludirlo.

Vista del panel: permisos de gasto por agente - asignación, límite por transacción, período

Los agentes autónomos cometen errores. Reintentan. Se repiten. Son inyectados con solicitudes. Ocasionalmente intentan gastar dinero que no autorizaste.

Un permiso de gasto de Blockchain0x es establecido por el propietario en el panel de control y aplicado por el backend, no por el código del agente. Cada pago saliente se verifica contra el permiso activo antes de que la API lo acepte, por lo que el agente no puede exceder el límite incluso si su lógica intenta. Tu código puede leer el permiso a través de la API para mostrarlo o planear alrededor de él, pero no puede aumentarlo.

QUÉ TIENE UN PERMISO DE GASTO

Cuatro dimensiones. Establecido una vez. Aplicado en todas partes.

Asignación por un período

allowance_wei es el total de USDC (unidades base) que el agente puede enviar en una ventana de period_seconds. El período es un día (86400), una semana (604800) o 30 días (2592000).

Límite por transacción

per_tx_wei es el mayor pago saliente único permitido. Evita que una llamada errónea mueva más de lo que pretendía, independientemente de la asignación del período.

Ventana de validez

start_at y end_at limitan cuando el permiso está activo. Fuera de la ventana no autoriza el gasto, así que puede preestablecer un presupuesto o dejar que uno expire por sí mismo.

Revocación

revoked_at registra cuándo se desactivó un permiso desde el panel. Revocar lleva la asignación a cero inmediatamente para cualquier pago evaluado después de ello.

ADMINISTRADO POR EL PANEL, SOLO LECTURA A TRAVÉS DE LA API

La clave del agente no puede aumentar su propio límite.

Creas, cambias y revocas permisos de gasto en el panel. La API los expone solo de lectura - no hay un endpoint ni un método SDK que muta un permiso. Ese es el punto: si el agente es inyectado por un prompt o está atrapado en un bucle, no puede ampliar su propia asignación, porque la credencial que posee nunca se le otorgó ese poder.

Cuando un pago excede el permiso activo, el backend lo rechaza antes de que algo toque la cadena. No se mueven fondos. Tu agente maneja ese rechazo como cualquier otra llamada fallida, y ves el intento en el panel para que puedas ampliar el permiso si fue legítimo.

LEERLO A TRAVÉS DE LA API

Recupera el permiso actual para mostrar o planificar alrededor de él.

GET /v1/agents/{id}/spend-permissions devuelve los valores en vivo. Úsalo para mostrar un presupuesto en tu UI, o para permitir que el agente verifique cuánto espacio queda antes de intentar un pago.

LEER (CURL)
curl https://api.blockchain0x.com/v1/agents/agt_123/spend-permissions \
  -H "Authorization: Bearer $BLOCKCHAIN0X_API_KEY"
RESPUESTA
{
  "allowance_wei": "5000000",
  "per_tx_wei": "1000000",
  "period_seconds": 86400,
  "start_at": "2026-05-15T00:00:00Z",
  "end_at": null,
  "revoked_at": null
}
allowance_wei

Total spend allowed per period, in USDC base units (6 decimals). "5000000" is 5 USDC.

per_tx_wei

Largest single payment allowed, in base units. "1000000" is 1 USDC. A payment over this is rejected even if the period allowance has room.

period_seconds

La ventana a la que se aplica la asignación: 86400 (día), 604800 (semana) o 2592000 (30 días).

start_at / end_at

Cuando el permiso está activo. end_at es nulo para un permiso indefinido.

revoked_at

Nulo mientras esté activo; una marca de tiempo una vez revocado desde el panel de control. Un permiso revocado no autoriza nada.

EL PERÍODO

Día, semana o 30 días.

period_seconds toma uno de tres valores. La asignación se restablece cuando el período avanza; per_tx_wei se aplica a cada pago único independientemente del período.

86400

1 día

604800

1 semana

2592000

30 días

Un permiso de gasto es un límite estricto, establecido una vez, aplicado en todas partes - no es un flujo de aprobación por pago y no es una confirmación con humano en el bucle. Si necesitas aprobaciones o firma múltiple, ese es un patrón separado y más pesado; el permiso es el piso siempre activo debajo de ello.

PREGUNTAS FRECUENTES

Cinco preguntas sobre permisos de gasto que hacen los operadores.

¿Puedo establecer o cambiar un permiso de gasto a través de la API?

No. Los permisos de gasto son de solo lectura a través de la API. Los creas, cambias y revocas en el panel de control de Blockchain0x, y GET /v1/agents/{id}/spend-permissions permite que tu código lea los valores actuales para mostrarlos o verificarlos. Esto es deliberado: la clave API del agente no puede relajar sus propios límites, que es exactamente la propiedad que deseas si el agente alguna vez es inyectado o entra en un bucle. Para aumentar una asignación necesitas el panel de control.

¿Qué sucede cuando un pago excede el permiso?

El backend lo rechaza antes de que algo toque la cadena - no se mueven fondos. La aplicación de la ley vive en el backend, no en el código de tu agente, por lo que el agente no puede eludirlo incluso si su lógica lo intenta. Lee el permiso con la ruta GET para mostrarle a tu agente cuánto espacio queda, y maneja el rechazo de payments.create como lo harías con cualquier otra llamada fallida.

¿Por qué las cantidades están en wei en lugar de dólares?

Consistency with the rest of the API: every amount is a base-unit string. USDC has 6 decimals, so allowance_wei "5000000" is 5 USDC and per_tx_wei "1000000" is 1 USDC. Strings, not floats - large integers lose precision as JSON numbers, and a base-unit string is unambiguous across languages.

¿Los permisos de gasto limitan los pagos entrantes?

No. Un permiso solo regula el dinero que sale de la billetera. El USDC entrante nunca se bloquea por ello - cualquiera puede pagar a tu agente en cualquier momento. Piensa en el permiso como una válvula unidireccional en el gasto saliente; la liquidación entrante se confirma por separado mediante el webhook payment.received.

¿Cómo revoco el gasto rápidamente si algo parece mal?

Revoca el permiso en el panel - eso establece revoked_at y lleva la asignación a cero para cualquier pago evaluado después. Para un alto más drástico, también puedes rotar o revocar la clave API del agente (apiKeys.rotate / apiKeys.revoke), lo que corta completamente la credencial. Ambos son inmediatos; la revocación del permiso es la quirúrgica, la revocación de la clave es el interruptor de apagado.

Gaste con límites, no sorpresas.

Establece una asignación y un límite por transacción en el panel. El backend hace el resto.