Bỏ qua nội dung chính
KIỂM SOÁT CHI TIÊU

Tác nhân của bạn không thể chi vượt quá những gì bạn đã thiết lập.

Đặt một khoản cho phép theo kỳ và một giới hạn cho mỗi giao dịch trên mỗi tác nhân trong bảng điều khiển. Backend thực thi nó trên mỗi khoản thanh toán ra ngoài - mã của tác nhân không thể vượt qua nó.

Xem bảng điều khiển: quyền chi tiêu theo từng tác nhân - trợ cấp, giới hạn theo giao dịch, thời gian

Các đại lý tự động mắc sai lầm. Họ thử lại. Họ lặp lại. Họ bị tiêm lệnh. Họ đôi khi cố gắng chi tiêu tiền mà bạn không ủy quyền.

Một quyền chi tiêu Blockchain0x được thiết lập bởi chủ sở hữu trong bảng điều khiển và được thực thi bởi backend, không phải bởi mã của đại lý. Mỗi khoản thanh toán ra ngoài được kiểm tra với quyền hoạt động trước khi API chấp nhận nó, vì vậy đại lý không thể vượt quá giới hạn ngay cả khi logic của nó cố gắng. Mã của bạn có thể đọc quyền qua API để hiển thị hoặc lập kế hoạch xung quanh nó, nhưng không thể nâng cao nó.

CÁI GÌ MỘT QUYỀN CHI TIÊU CÓ

Bốn chiều. Đặt một lần. Thực thi ở mọi nơi.

Trợ cấp theo khoảng thời gian

allowance_wei là tổng USDC (đơn vị cơ sở) mà agent có thể gửi trong một khoảng period_seconds. Kỳ hạn là một ngày (86400), một tuần (604800), hoặc 30 ngày (2592000).

Giới hạn theo giao dịch

per_tx_wei là khoản thanh toán lớn nhất cho phép ra ngoài. Nó ngăn một cuộc gọi sai lầm chuyển nhiều hơn bạn đã định, độc lập với khoản cho phép theo thời gian.

Cửa sổ hợp lệ

start_at và end_at ràng buộc khi quyền đang hoạt động. Ngoài khoảng thời gian đó, nó không ủy quyền cho việc chi tiêu, vì vậy bạn có thể chuẩn bị trước một ngân sách hoặc để một cái hết hạn tự nhiên.

Hủy bỏ

revoked_at ghi lại khi một quyền đã bị tắt từ bảng điều khiển. Việc thu hồi sẽ đưa khoản cho phép về không ngay lập tức cho bất kỳ khoản thanh toán nào được đánh giá sau đó.

QUẢN LÝ BẢNG ĐIỀU KHIỂN, CHỈ ĐỌC QUA API

Khóa của tác nhân không thể nâng giới hạn của chính nó.

Bạn tạo, thay đổi và thu hồi spend permissions trong dashboard. API chỉ hiển thị chúng ở chế độ read-only - không có endpoint và cũng không có method SDK nào để sửa đổi quyền. Đó chính là điểm cốt lõi: nếu agent bị prompt-injected hoặc bị kẹt trong vòng lặp, nó không thể tự mở rộng allowance của mình, vì credential mà nó nắm giữ chưa bao giờ được cấp quyề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. Agent của bạn xử lý sự từ chối đó như bất kỳ lệnh thất bại nào khác, và bạn sẽ thấy lần thử trong dashboard để có thể mở rộng quyền nếu đó là yêu cầu hợp lệ.

ĐỌC NÓ QUA API

Lấy quyền hiện tại để hiển thị hoặc lập kế hoạch xung quanh nó.

GET /v1/agents/{id}/spend-permissions trả về các giá trị trực tiếp. Sử dụng nó để hiển thị ngân sách trong giao diện người dùng của bạn, hoặc để cho phép tác nhân kiểm tra còn lại bao nhiêu chỗ trước khi nó thử thanh toán.

ĐỌC (CURL)
curl https://api.blockchain0x.com/v1/agents/agt_123/spend-permissions \
  -H "Authorization: Bearer $BLOCKCHAIN0X_API_KEY"
PHẢN HỒI
{
  "allowance_wei": "5000000",
  "per_tx_wei": "1000000",
  "period_seconds": 86400,
  "start_at": "2026-05-15T00:00:00Z",
  "end_at": null,
  "revoked_at": null
}
allowance_wei

Total spend allowed per period, in USDC base units (6 decimals). "5000000" is 5 USDC.

per_tx_wei

Largest single payment allowed, in base units. "1000000" is 1 USDC. A payment over this is rejected even if the period allowance has room.

period_seconds

Cửa sổ mà khoản trợ cấp áp dụng: 86400 (ngày), 604800 (tuần), hoặc 2592000 (30 ngày).

start_at / end_at

Khi quyền đang hoạt động. end_at là null đối với quyền không có thời hạn kết thúc.

revoked_at

Null khi đang hoạt động; một dấu thời gian khi bị thu hồi từ bảng điều khiển. Một quyền đã bị thu hồi không ủy quyền cho bất cứ điều gì.

THỜI GIAN

Ngày, tuần hoặc 30 ngày.

period_seconds nhận một trong ba giá trị. Khoản cho phép được đặt lại khi thời gian quay; per_tx_wei áp dụng cho mỗi khoản thanh toán đơn lẻ bất kể thời gian.

86400

1 ngày

604800

1 tuần

2592000

30 ngày

Một quyền chi tiêu là một giới hạn cứng, được thiết lập một lần, được thực thi ở mọi nơi - không phải là một quy trình phê duyệt theo từng khoản thanh toán và không phải là một xác nhận có con người trong vòng lặp. Nếu bạn cần phê duyệt hoặc chữ ký đa, đó là một mẫu riêng biệt, nặng hơn; quyền là nền tảng luôn bật bên dưới nó.

CÂU HỎI THƯỜNG GẶP

Năm câu hỏi về quyền chi tiêu mà các nhà điều hành hỏi.

Tôi có thể thiết lập hoặc thay đổi quyền chi tiêu thông qua API không?

Không. Quyền chi tiêu chỉ có thể đọc qua API. Bạn tạo, thay đổi và thu hồi chúng trong bảng điều khiển Blockchain0x, và GET /v1/agents/{id}/spend-permissions cho phép mã của bạn đọc các giá trị hiện tại để hiển thị hoặc kiểm tra chúng. Điều này là cố ý: khóa API của chính tác nhân không thể nới lỏng giới hạn của chính nó, điều này chính xác là thuộc tính bạn muốn nếu tác nhân bao giờ bị tiêm lệnh hoặc lặp lại. Để tăng mức trợ cấp, bạn cần bảng điều khiển.

Điều gì xảy ra khi một khoản thanh toán vượt quá quyền?

Phía backend từ chối nó trước khi bất kỳ điều gì chạm vào chuỗi - không có quỹ nào di chuyển. Việc thực thi diễn ra ở phía backend, không phải trong mã của tác nhân của bạn, vì vậy tác nhân không thể định tuyến xung quanh nó ngay cả khi logic của nó cố gắng. Đọc quyền với tuyến GET để cho tác nhân của bạn biết còn bao nhiêu chỗ trống, và xử lý sự từ chối từ payments.create theo cách bạn sẽ làm với bất kỳ cuộc gọi thất bại nào khác.

Vì sao số tiền dùng wei thay vì dollars?

Consistency with the rest of the API: every amount is a base-unit string. USDC has 6 decimals, so allowance_wei "5000000" is 5 USDC and per_tx_wei "1000000" is 1 USDC. Strings, not floats - large integers lose precision as JSON numbers, and a base-unit string is unambiguous across languages.

Có phải quyền chi tiêu giới hạn các khoản thanh toán đến không?

Không. Một quyền chỉ quản lý tiền ra khỏi ví. USDC đến không bao giờ bị chặn bởi nó - bất kỳ ai cũng có thể thanh toán cho tác nhân của bạn bất cứ lúc nào. Hãy nghĩ về quyền như một van một chiều trên chi tiêu ra; việc thanh toán đến được xác nhận riêng biệt bởi webhook payment.received.

Làm thế nào để tôi thu hồi chi tiêu nhanh chóng nếu có điều gì đó trông không đúng?

Hủy bỏ quyền trong bảng điều khiển - điều này thiết lập revoked_at và đưa khoản trợ cấp về không cho bất kỳ khoản thanh toán nào được đánh giá sau đó. Để dừng cứng hơn, bạn cũng có thể xoay hoặc hủy bỏ khóa API của tác nhân (apiKeys.rotate / apiKeys.revoke), điều này cắt đứt hoàn toàn thông tin xác thực. Cả hai đều ngay lập tức; việc hủy bỏ quyền là chính xác, việc hủy bỏ khóa là công tắc ngắt.

Chi tiêu có giới hạn, không bất ngờ.

Đặt một khoản cho phép và một giới hạn cho mỗi giao dịch trong bảng điều khiển. Backend sẽ làm phần còn lại.