Giải thích về X402: Thanh toán vi mô (Micropayments) gốc HTTP dành cho các AI Agent

Đặc tả X402 tái sử dụng mã trạng thái HTTP 402 Payment Required tiêu chuẩn để biến một lệnh gọi API thông thường thành một giao dịch thanh toán vi mô trên chuỗi (on-chain). Giờ đây, các AI agent có thể tự thanh toán phí cho các truy vấn LLM hoặc nguồn cấp dữ liệu mà không cần con người, và các nhà cung cấp có thể tính phí theo từng yêu cầu mà không cần xây dựng hệ thống lập hóa đơn tùy chỉnh.

Tại sao các AI agent cần một giao thức thanh toán

Các agent tự hành kết nối các mô hình ngôn ngữ, công cụ tìm kiếm web và các nguồn dữ liệu độc quyền lại với nhau. Mỗi sự kết nối này đều tốn chi phí—có thể là phí trên mỗi token của một mô hình hoặc phí trên mỗi lần gọi đối với một API dữ liệu thị trường. Các mô hình kinh doanh hiện nay dựa vào API key gắn liền với tài khoản đăng ký, nạp tiền thủ công hoặc thanh toán sau. Những phương pháp này phá vỡ lời hứa "không cần con người" của các agent tự hành và làm tăng chi phí vận hành cho các nhà cung cấp.

X402 cung cấp một giải pháp trung gian: một luồng yêu cầu-phản hồi (request-response) trông giống như bất kỳ lệnh gọi HTTP nào khác, nhưng có tích hợp sẵn bước thanh toán được ghi lại trên một blockchain công khai. Yêu cầu duy nhất là client có thể ký và phát sóng (broadcast) một giao dịch trên chuỗi mà máy chủ chỉ định.

Chi tiết về quy trình bắt tay (handshake) của X402

  1. Yêu cầu ban đầu – Agent gửi một lệnh GET hoặc POST thông thường đến một endpoint trả phí. Không cần các header đặc biệt.
  2. Máy chủ phản hồi với mã 402 – Phản hồi mang mã trạng thái 402 và một thân JSON (JSON body) liệt kê:
    • amount – mức phí mà máy chủ mong muốn, tính theo đơn vị token nhỏ nhất;
    • token – địa chỉ hợp đồng ERC-20 (hoặc tương đương);
    • chain – định danh blockchain nơi việc thanh toán phải được ghi lại;
    • nonce tùy chọn – một giá trị duy nhất để ngăn chặn các cuộc tấn công phát lại (replay attacks).
  3. Client chuẩn bị thanh toán – Agent kiểm tra địa chỉ token và chuỗi so với chính sách của nó (ví dụ: chỉ các chuỗi đáng tin cậy). Sau đó, nó tạo một giao dịch để chuyển số tiền yêu cầu đến địa chỉ do máy chủ cung cấp, ký giao dịch bằng khóa riêng (private key) của mình và phát sóng nó.
  4. Gửi mã băm thanh toán (Payment hash) – Khi đã có mã băm giao dịch (transaction hash), client lặp lại yêu cầu ban đầu, lần này thêm một header X-Payment chứa mã băm đó. Nội dung (payload) vẫn giữ nguyên.
  5. Máy chủ xác minh trên chuỗi – Máy chủ tra cứu trên blockchain để tìm một giao dịch chuyển tiền đã được xác nhận khớp với số tiền, token, chuỗi và nonce. Nếu tìm thấy kết quả khớp, nó sẽ trả về dữ liệu được yêu cầu với trạng thái 200 OK.

Bất kỳ thư viện HTTP client nào hỗ trợ các header tùy chỉnh và có thể gọi SDK blockchain đều có thể thực hiện các bước này. Không cần giao thức truyền tải mới hay lớp socket tùy chỉnh nào.

Những đánh đổi cần lưu ý

  • Độ trễ (Latency) – Việc xác nhận trên chuỗi công khai sẽ làm tăng độ trễ.
  • Chi phí gas – Ngay cả các chuỗi rẻ cũng thu phí gas; các khoản thanh toán dưới 0,001 USD có thể không hiệu quả về mặt kinh tế.
  • Độ phức tạp – Các agent phải xử lý các giao dịch thất bại và sự tái tổ chức chuỗi (chain reorganizations); logic thử lại (retry logic) mạnh mẽ là điều bắt buộc.
  • Bảo mật – Nonce giúp ngăn chặn các cuộc tấn công phát lại, nhưng các agent vẫn cần bảo vệ khóa riêng và tránh sử dụng lại chúng cho các dịch vụ không liên quan.