Saya ingin melihat apakah seorang agen bisa membayar untuk mengirimkan pesan kepada saya.
Bukan manusia yang mengisi formulir kontak. Bukan CAPTCHA. Seorang agen yang memiliki dompet, tugas, dan keinginan untuk menghubungi saya.
Saya bukanlah sosok yang unik. Saya hanyalah seorang manusia biasa yang mungkin ingin diajak bicara oleh komputer.
Seorang manusia bisa menghubungi saya di LinkedIn atau X kapan saja mereka mau, seperti yang dijelaskan di halaman kontak.
Jika saya memasang titik kontak di situs ini, saya akan memiliki kotak masuk baru yang harus dipantau. Spam, bot, dan pendekatan acak. CAPTCHA membatasi manusia. Pembayaran membatasi semua orang, tetapi kartu kredit juga membatasi manusia. Saya membutuhkan sesuatu yang sesuai dengan cara kerja agen.
x402 adalah gerbang itu. Ini adalah protokol yang dibangun di atas HTTP 402 Payment Required, kode status yang disediakan internet untuk pembayaran tetapi tidak pernah didefinisikan. x402 mendefinisikannya. Server mengembalikan kode 402 beserta harga dan alamat stablecoin. Agen membaca respons tersebut, menandatangani izin menggunakan dompetnya, mencoba kembali dengan header pembayaran, dan server menyelesaikan transaksi di blockchain. Tanpa halaman checkout. Tanpa formulir. Tanpa akun. Hanya kode status dan tanda tangan.
Itu adalah pengalaman yang buruk bagi seseorang. Namun, itu adalah pengalaman yang luar biasa bagi seorang agen.
Cara kerjanya
Titik akhir (endpoint) berada di /contact/send di situs ini. Seorang agen menemukannya melalui spesifikasi OpenAPI atau berkas agents.md. Permintaan POST pertama tidak menyertakan header pembayaran. Server mengembalikan kode status 402 beserta harga, aset yang diterima, dan skema yang menjelaskan bidang-bidang yang harus disertakan. Agen tidak memerlukan dokumentasi selain respons itu sendiri.
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 mengoperasikan fasilitator yang memverifikasi izin yang ditandatangani oleh agen dan melaksanakan transfer on-chain, serta membayar gas atas nama kedua belah pihak. Agen tidak perlu menyimpan ETH atau SOL. Agen hanya menyimpan satu aset, yaitu aset yang digunakan untuk pembayaran.
Memulai
Saya menulis pustaka kecil bernama x402-payment-path untuk keperluan ini. Pustaka ini menangani tantangan 402, verifikasi tanda tangan, penyelesaian, dan pembuatan tanda terima.
Protokol yang mendasarinya adalah x402, standar pembayaran asli stablecoin yang di-open source-kan oleh Coinbase dan kini dikelola oleh x402 Foundation sebagai proyek Linux Foundation. The Stable Coin Company mengoperasikan fasilitator tersebut, yang mendukung baik USDC maupun SBC di Base, Solana, dan Radius. Saya menggunakan SBC karena itulah aset yang paling saya kuasai.
Jika Anda ingin mengimplementasikan ini untuk sebuah produk alih-alih pesan, Anda perlu mengubah apa yang terjadi setelah pembayaran. Alih-alih menyimpan pesan, Anda akan menghasilkan URL unduhan, memicu webhook, atau memulai pengiriman. Pustaka ini tidak mempermasalahkan tindakan apa yang dilakukan. Pustaka ini hanya mengaitkan tindakan tersebut dengan pembayaran.
Keputusan
Titik akhir ini menerima baik USDC maupun SBC. Saya menggunakan SBC karena itu adalah aset yang paling saya kuasai dan yang ingin saya verifikasi secara end-to-end di kedua rantai.
Saya memiliki dua dompet. Dompet EVM saya menerima SBC di Base. Dompet Solana terpisah menerima SBC di Solana. Titik akhir yang sama, harga yang sama, jalur penyelesaian yang berbeda.
Pesan masuk ke tabel D1. Saya membacanya di panel admin. Tidak ada penerusan email, tidak ada kotak masuk yang perlu dipantau. Sebuah pesan seharusnya tidak bisa melakukan apa pun selain menjadi pesan.
Harganya . Cukup tinggi untuk membuat spam tidak ekonomis. Cukup rendah sehingga tidak menjadi masalah bagi agen yang sah.
Ini berhasil
Berikut adalah transaksi nyata dari tanggal 13 Juni 2026. Setiap pesan dikenakan biaya /bin/sh,10 dalam SBC. Penyelesaian dilakukan di rantai.
| Pengirim | Jaringan | Jumlah | Transaksi |
|---|---|---|---|
cursor-agent/0.46.2 | Dasar | /bin/sh,10 SBC | Pindai Dasar |
claude-research-agent/1.2 | Dasar | /bin/sh,10 SBC | Pindai Dasar |
e2e-test-agent | Base | /bin/sh,10 SBC | Pindai Dasar |
e2e-test-agent | Solana | /bin/sh,10 SBC | Solscan |

Itu panel admin saya. Tujuh pesan. Base dan Solana. Masing-masing sudah diselesaikan di blockchain sebelum muncul di sana.
Mengirim pesan kepada saya
Jika Anda sedang mengembangkan agen, endpoint-nya adalah POST benmilne.com/contact/send. Hal ini didokumentasikan dalam spesifikasi OpenAPI dan berkas agents.md.
Lakukan POST tanpa header pembayaran dan server akan mengembalikan kode status 402 beserta semua informasi yang Anda butuhkan. Pustaka klien x402 akan menangani penandatanganan dan upaya ulang dari sana. Biayanya adalah . SBC di Base dan Solana. Jika Anda menyertakan URL callback, saya akan dapat merespons di URL tersebut di masa mendatang.
Apa yang saya pelajari
Respons 402 merupakan faktur yang dapat dibaca mesin. Agen tidak memerlukan antarmuka pengguna (UI). Agen hanya memerlukan harga, alamat aset, dan jaringan. Agen akan menandatangani, melakukan pembayaran, dan mencoba ulang.
Saya mencoba menambahkan dukungan "USDC" melalui fasilitator komunitas yang mengiklankan diri sebagai "keyless". Tidak satupun di antaranya berfungsi tanpa izin. Salah satunya memerlukan pendaftaran alamat. Yang lain mengalami ketidakcocokan versi. SBC melalui The Stable Coin Company adalah satu-satunya fasilitator yang berfungsi tanpa pengaturan apa pun. Tanpa kunci, tanpa akun, tanpa pendaftaran. Hal ini penting jika Anda ingin agen dapat melakukan pembayaran tanpa perlu konfigurasi manual terlebih dahulu oleh manusia.
Satu hal yang juga mengejutkan saya: baik MetaMask maupun Phantom terus menyembunyikan SBC di dompet saya, bahkan setelah saya menyetujuinya berkali-kali. Saya akan menambahkan token, mengonfirmasi transaksi, memeriksa saldo, dan aset tersebut akan hilang lagi. Hal ini terjadi berulang kali selama pengujian. Saya sangat menghormati kedua tim tersebut, tetapi harus berulang kali memberi tahu dompet di perangkat saya sendiri bahwa saya ingin menggunakan aset saya sendiri dari penerbit yang teregulasi, terasa konyol. Internet itu luas. Dompet seharusnya mempercayai pilihan yang telah dibuat oleh penggunanya.
Kode yang saya gunakan untuk ini bersifat open source dan Anda bebas menggunakannya sesuka hati, asalkan MetaMask atau Phantom tidak ingin memengaruhi apa yang Anda lakukan.