Перейти к основному содержимому
КОНТРОЛЬ РАСХОДОВ

Ваш агент не может превысить установленные вами лимиты.

Установите лимит на период и лимит на транзакцию для каждого агента в панели управления. Бэкенд применяет его к каждому исходящему платежу - код агента не может его обойти.

Просмотр панели управления: разрешения на расходы для каждого агента - лимит, лимит на транзакцию, период

Автономные агенты совершают ошибки. Они повторяют попытки. Они зацикливаются. Они получают инъекции команд. Они иногда пытаются потратить деньги, которые вы не авторизовали.

Разрешение на расходы Blockchain0x устанавливается владельцем в панели управления и обеспечивается бэкендом, а не кодом агента. Каждая исходящая оплата проверяется на соответствие активному разрешению перед тем, как API примет ее, поэтому агент не может превысить лимит, даже если его логика пытается. Ваш код может читать разрешение через API, чтобы отобразить его или спланировать вокруг него, но не может его увеличить.

ЧТО ВКЛЮЧАЕТ РАЗРЕШЕНИЕ НА РАСХОДЫ

Четыре измерения. Установите один раз. Применяется повсюду.

Лимит на период

allowance_wei - это общий объем USDC (base units), который agent может отправить за один window period_seconds. Period составляет день (86400), неделю (604800) или 30 days (2592000).

Лимит на транзакцию

per_tx_wei это максимальный размер одного исходящего платежа. Он предотвращает случайный вызов, который переместит больше, чем вы намеревались, независимо от периодического лимита.

Окно действительности

start_at и end_at привязаны, когда разрешение активно. За пределами окна оно не авторизует расходы, поэтому вы можете заранее запланировать бюджет или позволить ему истечь самостоятельно.

Отзыв

revoked_at фиксирует, когда разрешение было отключено с панели управления. Отзыв немедленно устанавливает лимит на ноль для любого платежа, оцененного после этого.

УПРАВЛЯЕТСЯ ПАНЕЛЬЮ УПРАВЛЕНИЯ, ДОСТУП ТОЛЬКО ЧИТАТЬ ЧЕРЕЗ API

Ключ агента не может увеличить свой собственный лимит.

Вы создаете, изменяете и отзывает разрешения на расходы на панели управления. API предоставляет их только для чтения - нет конечной точки и нет метода SDK, который изменяет разрешение. В этом и заключается суть: если агент подвергся инъекции подсказки или застрял в цикле, он не может расширить свои собственные лимиты, потому что полномочия, которые он имеет, никогда не были предоставлены ему.

Когда платеж превышает активное разрешение, сервер отклоняет его, прежде чем что-либо коснется цепочки. Средства не перемещаются. Ваш агент обрабатывает это отклонение как любой другой неудавшийся вызов, и вы видите попытку на панели управления, чтобы вы могли расширить разрешение, если оно было законным.

ЧИТАТЬ ЧЕРЕЗ API

Получите текущее разрешение для отображения или планирования вокруг него.

GET /v1/agents/{id}/spend-permissions возвращает актуальные значения. Используйте его, чтобы показать бюджет в вашем интерфейсе или чтобы позволить агенту проверить, сколько места осталось, прежде чем он попытается выполнить платеж.

ЧИТАТЬ (CURL)
curl https://api.blockchain0x.com/v1/agents/agt_123/spend-permissions \
  -H "Authorization: Bearer $BLOCKCHAIN0X_API_KEY"
ОТВЕТ
{
  "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

Окно, к которому применяется разрешение: 86400 (день), 604800 (неделя) или 2592000 (30 дней).

start_at / end_at

Когда разрешение активно. end_at равно null для разрешения без срока.

revoked_at

Null, пока активно; временная метка после отзыва из панели управления. Отозванное разрешение ничего не авторизует.

ПЕРИОД

День, неделя или 30 дней.

period_seconds принимает одно из трех значений. Лимит сбрасывается, когда период истекает; per_tx_wei применяется к каждому отдельному платежу независимо от периода.

86400

1 день

604800

1 неделя

2592000

30 дней

Разрешение на расходы - это жесткий лимит, установленный один раз, применяемый повсюду - не рабочий процесс одобрения на каждую оплату и не подтверждение с участием человека. Если вам нужны одобрения или многофакторная подпись, это отдельный, более сложный шаблон; разрешение - это всегда включенный минимум под ним.

ЧАСТО ЗАДАВАЕМЫЕ

Пять вопросов о разрешениях на расходы, которые задают операторы.

Могу ли я установить или изменить разрешение на расходы через API?

Нет. Разрешения на расходы доступны только для чтения через API. Вы создаете, изменяете и отзывает их в панели управления Blockchain0x, а GET /v1/agents/{id}/spend-permissions позволяет вашему коду читать текущие значения для отображения или проверки. Это сделано намеренно: собственный API-ключ агента не может ослабить свои собственные ограничения, что является именно тем свойством, которое вам нужно, если агент когда-либо будет подвергнут инъекции или зацикливанию. Чтобы увеличить лимит, вам нужна панель управления.

Что происходит, когда платеж превышает разрешение?

Бэкэнд отклоняет это до того, как что-либо коснется цепочки - средства не перемещаются. Исполнение происходит на бэкэнде, а не в коде вашего агента, поэтому агент не может обойти это, даже если его логика пытается. Читайте разрешение с помощью маршрута GET, чтобы показать вашему агенту, сколько места осталось, и обрабатывайте отклонение от payments.create так же, как и любой другой неудачный вызов.

Почему суммы указаны в wei, а не в долларах?

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.

Ограничивают ли разрешения на расходы входящие платежи?

Нет. Разрешение регулирует только деньги, покидающие кошелек. Входящие USDC никогда не блокируются - любой может оплатить вашего агента в любое время. Рассматривайте разрешение как односторонний клапан для исходных расходов; входящее урегулирование подтверждается отдельно вебхуком payment.received.

Как мне быстро отозвать расходы, если что-то выглядит неправильно?

Отозвать разрешение на панели управления - это устанавливает revoked_at и обнуляет лимит для любого платежа, оцененного после этого. Для более жесткой остановки вы также можете изменить или отозвать API-ключ агента (apiKeys.rotate / apiKeys.revoke), что полностью отключает учетные данные. Оба действия немедленны; отзыв разрешения - это хирургический процесс, отзыв ключа - это аварийный выключатель.

Тратьте с лимитами, а не с неожиданностями.

Установите лимит и лимит на транзакцию в панели управления. Бэкенд делает остальное.