Tôi muốn xem liệu một nhân viên có thể trả tiền để gửi tin nhắn cho tôi hay không.
Không phải một người thật điền vào biểu mẫu liên hệ. Không phải CAPTCHA. Mà là một đại lý có ví tiền, có nhiệm vụ và mong muốn liên hệ với tôi.
Tôi không phải là trường hợp đặc biệt. Tôi chỉ đơn giản là một "cái que thịt" mà máy tính có thể muốn nói chuyện với.
Một người thật có thể liên hệ với tôi trên LinkedIn hoặc X bất cứ lúc nào họ muốn, như đã nêu trên trang liên hệ.
Nếu tôi đặt một điểm cuối liên hệ trên trang web này, tôi sẽ có thêm một hộp thư đến mới để theo dõi. Spam, bot, tiếp cận ngẫu nhiên. CAPTCHA ngăn chặn con người. Thanh toán ngăn chặn tất cả mọi người, nhưng thẻ tín dụng cũng ngăn chặn con người. Tôi cần một thứ gì đó phù hợp với cách thức hoạt động của các đại lý.
x402 chính là rào cản đó. Đây là một giao thức được xây dựng dựa trên mã trạng thái HTTP 402 "Yêu cầu thanh toán" — mã trạng thái mà internet đã dành riêng cho thanh toán nhưng chưa bao giờ được định nghĩa. x402 định nghĩa nó. Máy chủ trả về mã trạng thái 402 kèm theo giá và địa chỉ stablecoin. Đại lý đọc phản hồi, ký xác nhận bằng ví của mình, thử lại với tiêu đề thanh toán, và máy chủ xử lý giao dịch trên chuỗi khối. Không có trang thanh toán. Không có biểu mẫu. Không có tài khoản. Chỉ cần một mã trạng thái và một chữ ký.
Đó là một trải nghiệm tồi tệ đối với người dùng. Nhưng lại là một trải nghiệm tuyệt vời đối với đại lý.
Cách thức hoạt động
Điểm cuối nằm tại /contact/send trên trang web này. Đại lý tìm thấy nó thông qua thông số kỹ thuật OpenAPI hoặc tệp agents.md. Lần POST đầu tiên không có tiêu đề thanh toán. Máy chủ trả về mã trạng thái 402 kèm theo giá, các tài sản được chấp nhận và một lược đồ mô tả các trường cần bao gồm. Đại lý không cần tài liệu hướng dẫn nào ngoài chính phản hồi đó.
sequenceDiagram
participant Human as Human
participant Agent as Agent
participant Site as benmilne.com
participant Facilitator as x402 Facilitator
participant Chain as Blockchain
participant Admin as Admin Panel
Human-->>Agent: "Contact Ben Milne about X"
Agent-->>Site: POST /contact/send (no payment)
Site-->>Agent: 402 + price + assets + field schema
Agent-->>Agent: Sign stablecoin permit
Agent-->>Site: POST + PAYMENT-SIGNATURE + message body
Site-->>Facilitator: Verify signature
Facilitator-->>Site: Valid
Site-->>Facilitator: Settle
Facilitator->>Chain: On-chain transfer (SBC)
Chain-->>Facilitator: Tx hash
Facilitator-->>Site: Settlement confirmed
Site-->>Site: Store message in D1
Site-->>Agent: 200 + receipt with tx hash
Admin-->>Admin: Message appears with block explorer link
rect rgba(200, 120, 50, 0.08)
Note over Human,Admin: Future: callback URL enables two-way communication
end
The Stable Coin Company vận hành một đơn vị trung gian để xác minh giấy phép đã ký của đại lý và thực hiện chuyển khoản trên chuỗi, thanh toán phí gas thay mặt cho cả hai bên. Đại lý không cần phải nắm giữ ETH hoặc SOL. Đại lý chỉ cần nắm giữ một loại tài sản, đó là loại tài sản mà đại lý sử dụng để thanh toán.
Bắt đầu
Tôi đã viết một thư viện nhỏ có tên x402-payment-path cho mục đích này. Thư viện này xử lý yêu cầu 402, xác minh chữ ký, thanh toán và tạo biên lai.
Giao thức nền tảng là x402, tiêu chuẩn thanh toán gốc của Hiệp hội Tiền điện tử (stablecoin) mà Coinbase đã mã nguồn mở và hiện được Quỹ x402 duy trì dưới dạng dự án của Linux Foundation. The Stable Coin Company vận hành nền tảng trung gian này, hỗ trợ cả Hợp đồng Thông minh (USDC) và SBC trên các nền tảng Base, Solana và Radius. Tôi sử dụng SBC vì đây là tài sản tôi am hiểu nhất.
Nếu bạn muốn triển khai tính năng này cho một sản phẩm thay vì một tin nhắn, bạn sẽ thay đổi những gì xảy ra sau khi thanh toán. Thay vì lưu trữ tin nhắn, bạn sẽ tạo một URL tải xuống, kích hoạt webhook hoặc bắt đầu quá trình vận chuyển. Thư viện không quan tâm hành động đó là gì. Nó chỉ điều khiển hành động đó sau khi thanh toán được thực hiện.
Quyết định
Điểm cuối chấp nhận cả USDC và SBC. Tôi đã sử dụng SBC vì đây là tài sản mà tôi hiểu rõ nhất và là tài sản mà tôi muốn xác minh từ đầu đến cuối trên cả hai chuỗi.
Tôi có hai ví. Ví EVM của tôi nhận SBC trên Base. Một ví Solana riêng biệt nhận SBC trên Solana. Cùng một điểm cuối, cùng một mức giá, nhưng các kênh thanh toán khác nhau.
Các tin nhắn được lưu trong bảng D1. Tôi đọc chúng trong bảng điều khiển quản trị. Không chuyển tiếp email, không có hộp thư đến để theo dõi. Một tin nhắn không nên có thể làm gì khác ngoài việc chỉ là một tin nhắn.
Giá là 1 đô la. Đủ cao để khiến spam trở nên không kinh tế. Đủ thấp để trở nên không đáng kể đối với một đại lý hợp pháp.
Nó hoạt động
Dưới đây là các giao dịch thực tế từ ngày 13 tháng 6 năm 2026. Mỗi tin nhắn có giá 0,10 USD bằng SBC. Thanh toán được thực hiện trên chuỗi.
| Người gửi | Mạng | Số tiền | Giao dịch |
|---|---|---|---|
cursor-agent/0.46.2 | Cơ sở | 0,10 SBC | Quét cơ sở |
claude-research-agent/1.2 | Base | 0,10 SBC | BaseScan |
e2e-test-agent | Base | 0,10 SBC | BaseScan |
e2e-test-agent | Solana | 0,10 SBC | Solscan |

Đó là bảng điều khiển quản trị của tôi. Có bảy tin nhắn. Base và Solana. Mỗi tin nhắn đều đã được xác nhận trên chuỗi trước khi hiển thị.
Gửi tin nhắn cho tôi
Nếu bạn đang phát triển một agent, điểm cuối là POST benmilne.com/contact/send. Điều này được ghi trong tài liệu OpenAPI và agents.md.
Gửi yêu cầu POST mà không có tiêu đề thanh toán và máy chủ sẽ trả về mã trạng thái 402 kèm theo tất cả thông tin cần thiết. Thư viện khách hàng x402 sẽ xử lý việc ký tên và thử lại từ đó. Giá là . SBC trên Base và Solana. Nếu bạn bao gồm URL gọi lại, tôi sẽ có khả năng phản hồi tại URL đó trong tương lai.
Những gì tôi đã học được
Phản hồi 402 là một hóa đơn có thể đọc được bằng máy. Trình đại lý không cần giao diện người dùng. Nó chỉ cần giá, địa chỉ tài sản và mạng. Nó ký, thanh toán và thử lại.
Tôi đã thử thêm hỗ trợ USDC thông qua các nhà cung cấp dịch vụ trong cộng đồng tự giới thiệu là "không cần khóa". Không có nhà cung cấp nào hoạt động mà không cần cấp phép. Một nhà cung cấp yêu cầu đăng ký địa chỉ. Một nhà cung cấp khác gặp vấn đề không tương thích phiên bản. SBC thông qua The Stable Coin Company là nhà cung cấp duy nhất hoạt động mà không cần bất kỳ thiết lập nào. Không cần khóa, không cần tài khoản, không cần đăng ký. Điều này rất quan trọng nếu bạn muốn các tác nhân có thể thanh toán mà không cần con người phải cấu hình trước.
Một điều cũng khiến tôi ngạc nhiên: cả MetaMask và Phantom đều liên tục ẩn SBC trong ví của tôi, ngay cả sau khi tôi đã phê duyệt nhiều lần. Tôi thêm token, xác nhận giao dịch, kiểm tra số dư, và tài sản lại biến mất. Điều này lặp đi lặp lại trong quá trình thử nghiệm. Tôi hoàn toàn tôn trọng cả hai đội ngũ, nhưng việc phải liên tục thông báo cho ví trên thiết bị của mình rằng tôi muốn sử dụng tài sản của chính mình từ một nhà phát hành được cấp phép, lặp đi lặp lại, thật sự là điều vô lý. Internet rất rộng lớn. Các ví nên tin tưởng vào những lựa chọn mà người dùng đã thực hiện.
Mã nguồn tôi sử dụng cho việc này là mã nguồn mở và bạn có thể tự do làm bất cứ điều gì bạn muốn với nó, miễn là MetaMask hoặc Phantom không muốn can thiệp vào những gì bạn làm.