> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentwallex.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Công cụ Chính sách

> Cấu hình giới hạn chi tiêu theo tác nhân, danh sách địa chỉ cho phép, kiểm soát tốc độ và định tuyến phê duyệt con người.

## 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:

```typescript theme={null}
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:

```typescript theme={null}
await aw.policies.update("agent_abc123", {
  // Whitelist mode: only send to these addresses
  allowedAddresses: [
    "0xTrustedVendor1",
    "0xTrustedVendor2",
    "0xTrustedExchange",
  ],

  // Blacklist mode: block specific addresses
  blockedAddresses: [
    "0xKnownScam",
  ],
});
```

<Note>
  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.
</Note>

### Kiểm soát Token

Hạn chế token mà tác nhân có thể giao dịch:

```typescript theme={null}
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:

```typescript theme={null}
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:

```typescript theme={null}
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:

```typescript theme={null}
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",
  ],
});
```

<Info>
  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`.
</Info>

## 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:

<Steps>
  <Step title="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?
  </Step>

  <Step title="Kiểm tra Token">
    Token này có trong danh sách `allowedTokens` không?
  </Step>

  <Step title="Kiểm tra Địa chỉ">
    Người nhận có trong `allowedAddresses` và không trong `blockedAddresses` không?
  </Step>

  <Step title="Kiểm tra Số tiền">
    Giao dịch có vượt quá `maxTransactionAmount` không?
  </Step>

  <Step title="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?
  </Step>

  <Step title="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?
  </Step>

  <Step title="Kiểm tra Tốc độ">
    Tác nhân có vượt quá tần suất giao dịch (`velocityLimit`) không?
  </Step>

  <Step title="Kiểm tra Lịch trình">
    Giao dịch có trong giờ và ngày cho phép không?
  </Step>

  <Step title="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?
  </Step>

  <Step title="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 đè).
  </Step>
</Steps>

## 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:

```json theme={null}
{
  "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:

```typescript theme={null}
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:

```typescript theme={null}
// 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

<Tip>
  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.
</Tip>

* **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.
