AgentWallex logo
文档

策略配置

为你的 Agent 精细化配置支出控制和安全规则

概述

策略引擎在每笔交易到达 MPC 签名层之前进行评估。策略按 Agent 独立配置,可随时通过 SDK 或 REST API 更新。

策略类型

支出限额

控制 Agent 的支出额度:

await aw.policies.update("agent_abc123", {
  maxTransactionAmount: "500",   // 单笔交易最大金额
  dailyLimit: "5000",            // 滚动 24 小时总额
  monthlyLimit: "50000",         // 滚动 30 天总额
});
规则说明重置方式
maxTransactionAmount单笔支付最大金额每笔交易
dailyLimit滚动 24 小时最大总额滚动窗口
monthlyLimit滚动 30 天最大总额滚动窗口

地址控制

限制 Agent 可以发送到的地址:

await aw.policies.update("agent_abc123", {
  // 白名单模式:仅允许发送到这些地址
  allowedAddresses: [
    "0xTrustedVendor1",
    "0xTrustedVendor2",
    "0xTrustedExchange",
  ],
 
  // 黑名单模式:阻止特定地址
  blockedAddresses: [
    "0xKnownScam",
  ],
});

如果设置了 allowedAddresses,则仅允许这些地址。如果同时设置,allowedAddresses 优先。

代币控制

限制 Agent 可以交易的代币:

await aw.policies.update("agent_abc123", {
  allowedTokens: ["USDC", "USDT"],  // 仅限稳定币
});

速率控制

限制交易频率以防止 Agent 失控:

await aw.policies.update("agent_abc123", {
  velocityLimit: {
    maxCount: 100,        // 最大交易次数
    windowSeconds: 3600,  // 每小时
  },
});

时间控制

限制交易发生的时间:

await aw.policies.update("agent_abc123", {
  schedule: {
    timezone: "Asia/Shanghai",
    allowedHours: { start: 9, end: 17 },  // 上午 9 点 - 下午 5 点
    allowedDays: [1, 2, 3, 4, 5],         // 周一至周五
  },
});

人工审批

将大额交易路由至人工审查:

await aw.policies.update("agent_abc123", {
  requireHumanApproval: true,
  humanApprovalThreshold: "1000",  // 超过 $1000 的交易
  approvalTimeout: 3600,            // 1 小时内审批,否则自动拒绝
  approvers: [
    "user_admin1@company.com",
    "user_admin2@company.com",
  ],
});

策略评估顺序

策略按以下顺序检查。首个失败即终止交易:

  1. Agent 状态 — Agent 是否处于活跃状态(未冻结)?
  2. 代币检查 — 该代币是否被允许?
  3. 地址检查 — 该收款方是否被允许?
  4. 金额检查 — 是否超出单笔交易限额?
  5. 每日限额 — 是否会超出滚动每日总额?
  6. 每月限额 — 是否会超出滚动每月总额?
  7. 速率检查 — Agent 是否超出交易频率?
  8. 时间检查 — 是否在允许的时间段内?
  9. 人工审批 — 是否需要人工审查?
  10. 基础设施安全网 — Paratro 强制执行的硬限制

策略违规事件

当策略拦截交易时,你会收到详细错误:

{
  "code": "policy_violation",
  "type": "invalid_request_error",
  "message": "交易将超出每日限额"
}

你也可以通过 Webhook 事件接收这些通知:

await aw.webhooks.create({
  url: "https://your-app.com/webhooks",
  events: ["policy.violated"],
});

策略模板

使用模板进行常见配置:

// 保守型:用于测试的严格限制
await aw.policies.applyTemplate("agent_abc123", "conservative");
 
// 标准型:用于生产的均衡限制
await aw.policies.applyTemplate("agent_abc123", "standard");
 
// 自定义:定义并复用你自己的模板
await aw.policies.createTemplate("my-template", {
  maxTransactionAmount: "200",
  dailyLimit: "2000",
  allowedTokens: ["USDC"],
  velocityLimit: { maxCount: 50, windowSeconds: 3600 },
});
 
await aw.policies.applyTemplate("agent_abc123", "my-template");

最佳实践

  • 从严格开始,逐步放宽 — 从紧限制开始,随着信心增长逐步提高
  • 使用地址白名单 — 白名单可信地址,而非仅依赖金额限制
  • 启用大额人工审批 — 设置人工审查的金额阈值
  • 监控策略违规 — 通过 Webhook 跟踪违规,识别配置不当的 Agent
  • 使用速率限制 — 防止 Agent 循环中反复尝试交易的失控场景
  • 每周审查策略 — 随着 Agent 行为演变,及时更新策略