跳转到主要内容
支出控制

Define limits before delegating payment access.

Review how payment limits are evaluated and which paths are covered by enforcement. Set an allowance per period and a per-transaction cap on each agent in the dashboard.

仪表板视图:每个代理的支出权限 - 允许额、每笔交易上限、周期

自主代理会犯错误。它们会重试。它们会循环。它们会被提示注入。它们偶尔会试图花费您未授权的资金。

An AgentCredia spend permission is owner-set in the dashboard and enforced by the backend, not by the agent's code. Every outbound payment is checked against the active permission before the API accepts it, so a payment above the limit is rejected even if the agent's logic tries to send it. Your code can read the permission over the API to display it or plan around it, but it cannot raise it.

支出权限包含的内容

四个维度。设置一次。到处强制执行。

每周期津贴

allowance_wei 是代理在一个 period_seconds 窗口中可以发送的总 USDC(基本单位)。该周期为一天(86400),一周(604800)或 30 天(2592000)。

每笔交易上限

per_tx_wei 是允许的最大单笔出站支付。它阻止一次错误调用移动超过您所期望的金额,与期间限额无关。

有效性窗口

start_at 和 end_at 在权限生效时绑定。在窗口外,它不授权支出,因此您可以预先设置预算或让其自行到期。

撤销

revoked_at 记录何时从仪表板关闭权限。撤销立即将限额降至零,适用于其后评估的任何支付。

仪表板管理,通过 API 只读

代理的密钥无法提高其自身限制。

您可以在仪表板中创建、修改和撤销支出权限。API 以只读方式公开它们 - 没有端点,也没有 SDK 方法可以更改权限。这就是重点:如果代理被注入提示或陷入循环,它无法扩大自己的津贴,因为它持有的凭证从未被授予该权限。

当支付超过活动权限时,后端在任何操作触及链之前拒绝它。没有资金移动。您的代理像处理其他失败调用一样处理该拒绝,您可以在仪表板中看到该尝试,以便在其合法时扩大权限。

通过 API 阅读

获取当前权限以显示或围绕它进行计划。

GET /v1/agents/{id}/spend-permissions返回实时值。使用它在您的UI中显示预算,或让代理检查在尝试支付之前剩余多少空间。

读取 (CURL)
curl https://api.agentcredia.com/v1/agents/agt_123/spend-permissions \
  -H "Authorization: Bearer $AGENTCREDIA_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上是只读的。你在AgentCredia仪表板中创建、修改和撤销它们,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 webhook单独确认。

如果出现问题,我如何快速撤销支出?

在仪表板中撤销权限 - 这会设置 revoked_at 并将任何后续评估的付款的限额设置为零。为了更严格的停止,您还可以旋转或撤销代理的 API 密钥 (apiKeys.rotate / apiKeys.revoke),这会完全切断凭据。两者都是立即生效的;权限撤销是外科手术式的,密钥撤销是切断开关。

在限额内消费,而不是意外支出。

在仪表板中设置限额和每笔交易的上限。后端会处理其余部分。