Chuyển đến nội dung chính

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ắcMô tảCửa sổ
maxTransactionAmountSố tiền tối đa cho một lần thanh toánTheo giao dịch
dailyLimitTổng tối đa trong 24 giờ liên tụcCửa sổ liên tục
monthlyLimitTổng tối đa trong 30 ngày liên tụcCử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ả allowedAddressesblockedAddresses đượ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:
1

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?
2

Kiểm tra Token

Token này có trong danh sách allowedTokens không?
3

Kiểm tra Địa chỉ

Người nhận có trong allowedAddresses và không trong blockedAddresses không?
4

Kiểm tra Số tiền

Giao dịch có vượt quá maxTransactionAmount không?
5

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?
6

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?
7

Kiểm tra Tốc độ

Tác nhân có vượt quá tần suất giao dịch (velocityLimit) không?
8

Kiểm tra Lịch trình

Giao dịch có trong giờ và ngày cho phép không?
9

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?
10

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.