Tổng quan
Công cụ chính sách đánh giá mọi giao dịch trước khi đến lớp ký MPC. Chính sách là theo tác nhân và có thể được cập nhật bất kỳ lúc nào qua SDK hoặc REST API. Vi phạm chính sách đầu tiên sẽ dừng giao dịch ngay lập tức.
Các Loại Chính sách
Giới hạn Chi tiêu
Kiểm soát mức chi tiêu của tác nhân:
await aw.policies.update("agent_abc123", {
maxTransactionAmount: "500", // Max per single transaction (USDC)
dailyLimit: "5000", // Rolling 24-hour total
monthlyLimit: "50000", // Rolling 30-day total
});
| Quy tắc | Mô tả | Cửa sổ |
|---|
maxTransactionAmount | Số tiền tối đa cho một lần thanh toán | Theo giao dịch |
dailyLimit | Tổng tối đa trong 24 giờ liên tục | Cửa sổ liên tục |
monthlyLimit | Tổng tối đa trong 30 ngày liên tục | Cửa sổ liên tục |
Kiểm soát Địa chỉ
Hạn chế địa chỉ mà tác nhân có thể gửi đến:
await aw.policies.update("agent_abc123", {
// Whitelist mode: only send to these addresses
allowedAddresses: [
"0xTrustedVendor1",
"0xTrustedVendor2",
"0xTrustedExchange",
],
// Blacklist mode: block specific addresses
blockedAddresses: [
"0xKnownScam",
],
});
Nếu allowedAddresses được thiết lập, chỉ những địa chỉ đó được phép. Nếu cả allowedAddresses và blockedAddresses được thiết lập, allowedAddresses được ưu tiên.
Kiểm soát Token
Hạn chế token mà tác nhân có thể giao dịch:
await aw.policies.update("agent_abc123", {
allowedTokens: ["USDC", "USDT"], // Only stablecoins
});
Kiểm soát Tốc độ
Giới hạn tần suất giao dịch để ngăn tác nhân mất kiểm soát:
await aw.policies.update("agent_abc123", {
velocityLimit: {
maxCount: 100, // Max number of transactions
windowSeconds: 3600, // Per hour
},
});
Kiểm soát theo Thời gian
Hạn chế thời điểm giao dịch có thể xảy ra:
await aw.policies.update("agent_abc123", {
schedule: {
timezone: "America/New_York",
allowedHours: { start: 9, end: 17 }, // 9 AM - 5 PM
allowedDays: [1, 2, 3, 4, 5], // Monday - Friday
},
});
Phê duyệt của Con người
Định tuyến giao dịch giá trị cao đến xem xét của con người:
await aw.policies.update("agent_abc123", {
requireHumanApproval: true,
humanApprovalThreshold: "1000", // Transactions above $1000
approvalTimeout: 3600, // 1 hour to approve before auto-reject
approvers: [
"user_admin1@company.com",
"user_admin2@company.com",
],
});
Phê duyệt của con người có sẵn trên gói Growth và Enterprise. Khi giao dịch yêu cầu phê duyệt, sự kiện webhook được gửi và giao dịch chuyển sang trạng thái pending_approval.
Thứ tự Đánh giá Chính sách
Chính sách được kiểm tra theo thứ tự này. Thất bại đầu tiên sẽ dừng giao dịch:
Trạng thái Tác nhân
Tác nhân có đang hoạt động (không bị đóng băng) không?
Kiểm tra Token
Token này có trong danh sách allowedTokens không?
Kiểm tra Địa chỉ
Người nhận có trong allowedAddresses và không trong blockedAddresses không?
Kiểm tra Số tiền
Giao dịch có vượt quá maxTransactionAmount không?
Giới hạn Hàng ngày
Giao dịch có vượt quá tổng hàng ngày liên tục không?
Giới hạn Hàng tháng
Giao dịch có vượt quá tổng hàng tháng liên tục không?
Kiểm tra Tốc độ
Tác nhân có vượt quá tần suất giao dịch (velocityLimit) không?
Kiểm tra Lịch trình
Giao dịch có trong giờ và ngày cho phép không?
Phê duyệt Con người
Giao dịch có yêu cầu xem xét của con người dựa trên ngưỡng không?
Mạng lưới An toàn Cơ sở hạ tầng
Giới hạn cứng được Paratro thực thi (không thể ghi đè).
Sự kiện Vi phạm Chính sách
Khi chính sách chặn giao dịch, API trả về lỗi chi tiết:
{
"code": "policy_violation",
"type": "invalid_request_error",
"message": "Transaction would exceed daily limit"
}
Bạn cũng có thể nhận vi phạm dưới dạng sự kiện webhook:
await aw.webhooks.create({
url: "https://your-app.com/webhooks",
events: ["policy.violated"],
});
Mẫu Chính sách
Sử dụng mẫu cho các cấu hình phổ biến:
// Conservative: tight limits for testing
await aw.policies.applyTemplate("agent_abc123", "conservative");
// Standard: balanced limits for production
await aw.policies.applyTemplate("agent_abc123", "standard");
// Custom: define and reuse your own templates
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");
Các phương pháp tốt nhất
Bắt đầu với hạn chế, mở rộng dần. Bắt đầu với giới hạn chặt và tăng dần khi bạn có thêm tin tưởng vào hành vi của tác nhân.
- Sử dụng allowedAddresses — Danh sách trắng địa chỉ đáng tin cậy thay vì chỉ dựa vào giới hạn số tiền.
- Bật phê duyệt con người cho giá trị cao — Thiết lập ngưỡng mà con người sẽ xem xét giao dịch.
- Giám sát vi phạm chính sách — Theo dõi vi phạm qua webhook để xác định tác nhân bị cấu hình sai.
- Sử dụng giới hạn tốc độ — Ngăn vòng lặp mất kiểm soát nơi tác nhân liên tục cố gắng giao dịch.
- Xem xét chính sách hàng tuần — Khi hành vi tác nhân phát triển, cập nhật chính sách cho phù hợp.