Thiết lập các kiểm soát chi tiêu cho đại lý mà vẫn chịu được việc tiêm lệnh.
Đặt một quyền chi tiêu trong bảng điều khiển - một khoản cho phép theo kỳ cộng với một giới hạn cho mỗi giao dịch - và backend thực thi nó trên mỗi khoản thanh toán. Bởi vì nó sống trên backend và API chỉ đọc, việc tiêm prompt mà chiếm đoạt kế hoạch của tác nhân vẫn không thể nâng giới hạn. Mã của bạn đọc quyền qua API để hiển thị hoặc lập kế hoạch xung quanh nó.
Trước khi bạn bắt đầu.
- Một đại lý hiện có (xem hướng dẫn thêm thanh toán vào đại lý).
- Truy cập bảng điều khiển cho không gian làm việc sở hữu tác nhân - quyền được thiết lập ở đó, không qua API.
- Một ý tưởng sơ bộ về chi tiêu hàng ngày dự kiến - khoản trợ cấp nên là 2-3x mức sử dụng bình thường, không phải 100x, vì vậy nó thực sự chịu tải.
- Một khóa API để đọc quyền truy cập (một khóa
sk_test_là đủ cho hướng dẫn này). - Sự quen thuộc với khái niệm chính sách chi tiêu của tác nhân - hướng dẫn này là đối tác vận hành của nó.
Đặt quyền trong bảng điều khiển.
Mở tác nhân trong bảng điều khiển Blockchain0x và đặt hai số: một khoản trợ cấp theo một khoảng thời gian (một ngày, một tuần hoặc 30 ngày) và một giới hạn theo giao dịch. Khoản trợ cấp giới hạn trường hợp tồi tệ nhất trong toàn bộ khoảng thời gian; giới hạn theo giao dịch ngăn một yêu cầu bất thường đơn lẻ chi tiêu tất cả ngay lập tức. Đây là một hành động trên bảng điều khiển có chủ đích - đó là ranh giới do con người thiết lập mà tác nhân hoạt động bên trong.
Amounts are USDC base units (6 decimals). An allowance_wei of "20000000" is 20 USDC; a per_tx_wei of "2000000" is 2 USDC. The period is a period_seconds value: 86400 for a day, 604800 for a week, 2592000 for 30 days.
Đọc quyền qua API.
Mã của bạn có thể lấy permission đang hoạt động để hiển thị trong UI hoặc để cho agent kiểm tra còn bao nhiêu dung lượng trước khi thử thanh toán. Route này chỉ đọc - không có mutate endpoint, và đó chính là lý do API key của agent không thể tự nới rộng giới hạn của nó.
curl https://api.blockchain0x.com/v1/agents/agt_123/spend-permissions \
-H "Authorization: Bearer $BLOCKCHAIN0X_API_KEY"{
"allowance_wei": "20000000",
"per_tx_wei": "2000000",
"period_seconds": 86400,
"start_at": "2026-05-15T00:00:00Z",
"end_at": null,
"revoked_at": null
}Ràng buộc nó theo thời gian, hoặc thu hồi nó.
Hai trường biến quyền thành một điều khiển theo thời gian. start_at và end_at đặt cửa sổ mà nó hoạt động, vì vậy bạn có thể chuẩn bị trước một ngân sách cho một công việc đã lên lịch hoặc để một cái hết hạn tự động; bên ngoài cửa sổ, nó không ủy quyền gì cả. revoked_at là công tắc ngắt: thu hồi từ bảng điều khiển và khoản trợ cấp giảm xuống bằng không cho bất kỳ khoản thanh toán nào được đánh giá sau đó.
Để dừng mạnh mẽ hơn, thu hồi hoặc xoay vòng khóa API của tác nhân với apiKeys.revoke hoặc apiKeys.rotate - điều này cắt đứt hoàn toàn thông tin xác thực, không chỉ là quyền chi tiêu. Việc thu hồi quyền là bước phẫu thuật; việc thu hồi khóa là công tắc ngắt.
Xử lý một khoản thanh toán chạm đến giới hạn.
Khi một khoản thanh toán vượt quá quyền hiện hành, backend sẽ từ chối trước khi bất cứ thứ gì chạm vào chain - không có tiền nào di chuyển. Lệnh payments.create của bạn sẽ trả về lỗi; hãy xử lý như bất kỳ lệnh thất bại nào khác, hiển thị cho người vận hành của bạn, và đừng mù quáng thử lại vào cùng một bức tường.
Để xem những gì một đại lý đã cố gắng, hãy theo dõi nhật ký hoạt động của bảng điều khiển và đối chiếu các chuyển động thực tế với transactions.get. Một đợt cố gắng bị từ chối là tín hiệu cảnh báo sớm của bạn: hoặc là một khoản trợ cấp được cấu hình sai, một vòng lặp chạy trốn, hoặc một cuộc thử nghiệm tiêm. Cảnh báo về nó theo cách bạn sẽ làm với bất kỳ sự gia tăng nào của các cuộc gọi thất bại.
Năm sai lầm đánh bại sự kiểm soát.
Đặt giới hạn chi tiêu trong mã tác nhân thay vì phía backend
Các quy tắc chi tiêu trong kế hoạch của tác nhân hoặc prompt hệ thống không phải là ranh giới an ninh. Một cuộc tấn công tiêm prompt mà ghi đè lên kế hoạch cũng ghi đè lên giới hạn. Mục đích chính của quyền chi tiêu là nó sống bên ngoài phạm vi có thể thao tác của tác nhân - trên backend, được đặt trong bảng điều khiển - vì vậy tác nhân không thể thay đổi nó. Cấu hình nó ở đó, không phải với 'nói với tác nhân không chi tiêu nhiều hơn $X'.
Mong đợi khóa API của tác nhân mở rộng giới hạn
API chỉ đọc cho quyền chi tiêu: không có điểm cuối và không có phương thức SDK nào nâng cao khoản cho phép. Điều đó là cố ý. Nếu một tác nhân bị xâm phạm hoặc bị tiêm có thể gọi một điểm cuối thay đổi với khóa mà nó đã giữ, thì quyền kiểm soát sẽ trở nên vô giá trị. Để thay đổi một giới hạn, bạn sử dụng bảng điều khiển, nơi thay đổi là một hành động của con người với một dấu vết kiểm toán.
Đặt một khoản cho phép cao đến mức nó không bao giờ gây rắc rối
Một quyền chỉ bảo vệ bạn nếu nó chịu tải. Một khoản trợ cấp được đặt ở mức 100x mức sử dụng bình thường sẽ không ngăn chặn một vòng lặp chạy trốn cho đến khi nó đã chi tiêu nhiều hơn bạn mong muốn. Đặt kích thước khoản trợ cấp và giới hạn theo giao dịch ở mức khoảng 2-3x mức sử dụng dự kiến, sau đó mở rộng một cách có chủ đích nếu lưu lượng thực tế chứng minh bạn cần.
Quên giới hạn theo giao dịch
allowance_wei giới hạn kịch bản xấu nhất trong toàn bộ kỳ hạn; per_tx_wei giới hạn từng khoản thanh toán riêng lẻ. Chúng đảm nhận những việc khác nhau. Một period allowance hào phóng nhưng không có giới hạn mỗi giao dịch vẫn cho phép một yêu cầu bất thường - một lần retry lỗi, một mức giá được báo độc hại - chuyển một số tiền lớn chỉ trong một lần. Hãy đặt cả hai.
Không có công tắc tắt nhanh nào được diễn tập
Khi có gì đó trông không ổn lúc 2 giờ sáng, bạn muốn một thao tác mà bạn đã luyện tập từ trước. Có hai cách: thu hồi quyền trong dashboard (đặt revoked_at, allowance về 0), hoặc thu hồi/đổi mới API key của agent bằng apiKeys.revoke / apiKeys.rotate (vô hiệu hóa hoàn toàn credential). Hãy biết bạn sẽ dùng cách nào và có thể thực hiện nhanh chóng.
Sau khi quyền truy cập được thiết lập.
Khi quyền được thực thi, những bước tiếp theo đáng làm nhất là xử lý webhook đáng tin cậy (để sự kiện thanh toán thực sự đến được handler của bạn), xác minh danh tính (để đối tác tin vào hồ sơ của agent), và rà soát bảo mật trước khi ra mắt (để bạn không bỏ ngỏ thêm cánh cửa nào khác).
Các mẫu webhook mà các nhà phát triển thường hỏi nhất
Kiếm huy hiệu xác minh GitHub và miền
Bảo mật ví agent của bạn trước khi ra mắt
Tài liệu đầy đủ tại docs.blockchain0x.com. Bề mặt sản phẩm: Kiểm soát chi tiêu.