Saltar al contenido principal
AprenderGuíasControles de gasto del agente
GUÍA

Configure controles de gasto para agentes que sobrevivan a la inyección de comandos.

8 minutos
RESPUESTA CORTA

Establece un permiso de gasto en el panel - una asignación por período más un límite por transacción - y el backend lo aplica en cada pago. Debido a que vive en el backend y la API es solo de lectura, la inyección de aviso que secuestra el planificador del agente aún no puede aumentar el límite. Tu código lee el permiso a través de la API para mostrarlo o planificar en torno a él.

REQUISITOS PREVIOS

Antes de comenzar.

  • Un agente existente (consulta la guía para agregar pagos a un agente).
  • Acceso al panel para el espacio de trabajo que posee el agente - los permisos se establecen allí, no a través de la API.
  • Una idea aproximada del gasto diario esperado - la asignación debe ser 2-3x el uso normal, no 100x, para que sea realmente estructural.
  • Una clave API para leer el permiso (una clave sk_test_ está bien para esta guía).
  • Familiaridad con el concepto de política de gasto del agente - esta guía es su contraparte operativa.
PASO 1 DE 4

Establece el permiso en el panel.

Abre el agente en el panel de control de Blockchain0x y establece dos números: una asignación durante un período (un día, una semana o 30 días) y un límite por transacción. La asignación limita el peor caso durante todo el período; el límite por transacción detiene una única solicitud anómala de gastar todo de una vez. Esta es una acción del panel de control a propósito - es el límite establecido por humanos dentro del cual opera el agente.

Amounts are USDC base units (6 decimals). An allowance_wei of "20000000" is 20 USDC; a per_tx_wei of "2000000" is 2 USDC. The period is a period_seconds value: 86400 for a day, 604800 for a week, 2592000 for 30 days.

PASO 2 DE 4

Leer el permiso a través de la API.

Tu código puede obtener el permiso en vivo para mostrarlo en una interfaz de usuario o para permitir que el agente verifique cuánto espacio queda antes de intentar un pago. La ruta es solo de lectura - no hay un endpoint de mutación, que es exactamente por qué la clave del agente no puede ampliar su propio límite.

Leer (curl)
curl https://api.blockchain0x.com/v1/agents/agt_123/spend-permissions \
  -H "Authorization: Bearer $BLOCKCHAIN0X_API_KEY"
Respuesta
{
  "allowance_wei": "20000000",
  "per_tx_wei": "2000000",
  "period_seconds": 86400,
  "start_at": "2026-05-15T00:00:00Z",
  "end_at": null,
  "revoked_at": null
}
PASO 3 DE 4

Vínculalo en el tiempo, o revócalo.

Dos campos convierten el permiso en un control limitado en el tiempo. start_at y end_at establecen la ventana en la que está activo, así que puedes preestablecer un presupuesto para un trabajo programado o dejar que uno expire por sí mismo; fuera de la ventana no autoriza nada. revoked_at es el interruptor de apagado: revoca desde el panel y la asignación cae a cero para cualquier pago evaluado después.

Para una detención más drástica, revoca o rota la clave API del agente con apiKeys.revoke o apiKeys.rotate - eso corta completamente la credencial, no solo el gasto. La revocación de permisos es el movimiento quirúrgico; la revocación de la clave es el interruptor de apagado.

PASO 4 DE 4

Maneja un pago que alcanza el límite.

Cuando un pago excede el permiso activo, el backend lo rechaza antes de que algo toque la cadena - no se mueven fondos. Tu llamada payments.create devuelve un error; maneja esto como cualquier otra llamada fallida, infórmalo a tu operador y no intentes nuevamente ciegamente en la misma pared.

Para ver lo que intentó un agente, observa el registro de actividad del panel y reconcilia los movimientos reales con transactions.get. Un estallido de intentos rechazados es tu señal de advertencia temprana: ya sea un límite mal configurado, un bucle descontrolado, o una prueba de inyección. Alerta sobre ello de la misma manera que lo harías ante cualquier aumento de llamadas fallidas.

ERRORES COMUNES

Cinco errores que derrotan el control.

Colocando el límite de gasto en el código del agente en lugar de en el backend

Las reglas de gasto en el planificador del agente o en el aviso del sistema no son límites de seguridad. Un ataque de inyección de aviso que anula el planificador también anula el límite. El objetivo de un permiso de gasto es que viva fuera del alcance manipulable del agente - en el backend, establecido en el panel - para que el agente no pueda cambiarlo. Configúralo allí, no con 'dile al agente que no gaste más de $X'.

Esperando que la clave API del agente amplíe el límite

La API es de solo lectura para permisos de gasto: no hay un punto final y ningún método SDK que aumente una asignación. Eso es deliberado. Si un agente comprometido o inyectado pudiera llamar a un punto final de mutación con la clave que ya posee, el control sería inútil. Para cambiar un límite usas el panel, donde el cambio es una acción humana con un rastro de auditoría.

Estableciendo una asignación tan alta que nunca muerde

Un permiso solo te protege si es estructural. Una asignación establecida en 100x el uso normal no detendrá un bucle descontrolado hasta que ya haya gastado mucho más de lo que hubieras querido. Dimensiona la asignación y el límite por transacción en aproximadamente 2-3x el uso esperado, luego amplía deliberadamente si el tráfico real demuestra que lo necesitas.

Olvidando el límite por transacción

allowance_wei limita el peor caso durante todo el período; per_tx_wei limita cualquier pago único. Hacen trabajos diferentes. Una asignación generosa de período sin límite por transacción aún permite que una solicitud anómala - un reintento defectuoso, un precio malicioso - mueva una gran cantidad de una sola vez. Establezca ambos.

No se ensayó un interruptor de apagado rápido

Cuando algo parece mal a las 2 a.m., quieres un movimiento que ya has practicado. Existen dos: revocar el permiso en el panel (establece revoked_at, asignación a cero), o revocar/rotar la clave API del agente con apiKeys.revoke / apiKeys.rotate (corta la credencial por completo). Sabe cuál elegir y que puedes hacerlo rápidamente.

PRÓXIMOS PASOS

Después de que se establezca el permiso.

Con el permiso aplicado, los seguimientos que más valen la pena son el manejo confiable de webhooks (para que los eventos de pago realmente lleguen a tu manejador), la verificación de identidad (para que las contrapartes confíen en el perfil del agente) y una revisión de seguridad previa al lanzamiento (para que no hayas dejado otra puerta abierta).

Referencia completa en docs.blockchain0x.com. Superficie de producto: Controles de gasto.

Última revisión: 2026-05-15. Publicado bajo CC BY 4.0.

Dale a tu agente límites que el aviso no puede levantar.

Una asignación por período y un límite por transacción, establecidos en el panel y aplicados por el backend. Gratis para comenzar.