मैं यह देखना चाहता था कि क्या कोई एजेंट मुझे संदेश भेजने के लिए भुगतान कर सकता है।
न कोई इंसान जो संपर्क फ़ॉर्म भर रहा हो। न कोई CAPTCHA। एक एजेंट जिसके पास वॉलेट हो, एक कार्य हो, और मुझसे संपर्क करने की इच्छा हो।
मैं अनोखा नहीं हूँ। मैं बस एक मांस की छड़ी हूँ जिससे कंप्यूटर कुछ कहना चाहता है।
कोई भी इंसान जब चाहे LinkedIn या X पर मुझसे संपर्क कर सकता है, जैसा कि संपर्क पृष्ठ पर बताया गया है।
अगर मैं इस साइट पर एक संपर्क एंडपॉइंट रखता हूँ, तो मुझे मॉनिटर करने के लिए एक नया इनबॉक्स मिलता है। स्पैम, बॉट्स, कोल्ड आउटरीच। एक कैप्चा इंसानों को रोकता है। भुगतान सभी को रोकता है, लेकिन क्रेडिट कार्ड भी इंसानों को रोकते हैं। मुझे एजेंट्स के काम करने के तरीके के अनुरूप कुछ मूलभूत चीज़ की ज़रूरत थी।
x402 वह गेट है। यह HTTP 402 Payment Required पर बनाया गया एक प्रोटोकॉल है, जो वह स्टेटस कोड है जिसे इंटरनेट ने भुगतानों के लिए आरक्षित किया था लेकिन कभी परिभाषित नहीं किया। x402 इसे परिभाषित करता है। एक सर्वर कीमत और एक stablecoin पते के साथ 402 लौटाता है। एजेंट प्रतिक्रिया को पढ़ता है, अपने वॉलेट से एक परमिट पर हस्ताक्षर करता है, एक पेमेंट हेडर के साथ फिर से प्रयास करता है, और सर्वर चेन पर निपटान कर देता है। कोई चेकआउट पेज नहीं। कोई फॉर्म नहीं। कोई खाता नहीं। बस एक स्टेटस कोड और एक हस्ताक्षर।
यह एक व्यक्ति के लिए एक भयानक अनुभव है। यह एक एजेंट के लिए एक शानदार अनुभव है।
यह कैसे काम करता है
इस साइट पर एंडपॉइंट /contact/send पर स्थित है। एक एजेंट इसे OpenAPI स्पेक या agents.md के माध्यम से खोजता है। पहले POST में कोई पेमेंट हेडर नहीं होता है। सर्वर कीमत, स्वीकृत संपत्तियों, और यह बताने वाले एक स्कीमा के साथ 402 लौटाता है कि किन फ़ील्ड्स को शामिल करना है। एजेंट को स्वयं प्रतिक्रिया के अलावा किसी अन्य दस्तावेज़ीकरण की आवश्यकता नहीं होती है।
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
द स्टेबल कॉइन कंपनी एक सुविधारत (facilitator) संचालित करती है जो एजेंट के हस्ताक्षरित परमिट को सत्यापित करती है और ऑन-चेन ट्रांसफर को निष्पादित करती है, दोनों पक्षों की ओर से गैस का भुगतान करती है। एजेंट को ETH या SOL रखने की आवश्यकता नहीं है। यह एक ही एसेट रखता है, वह जिसे यह भुगतान करने के लिए उपयोग कर रहा है।
शुरुआत करना
मैंने इसके लिए x402-payment-path नामक एक छोटी लाइब्रेरी लिखी है। यह 402 चैलेंज, हस्ताक्षर सत्यापन, निपटान और रसीद निर्माण को संभालती है।
इसके नीचे का प्रोटोकॉल x402 है, जो एक ईवीएम-नेटिव भुगतान मानक है जिसे Coinbase ने ओपन सोर्स किया था और जिसे अब x402 फाउंडेशन एक लिनक्स फाउंडेशन प्रोजेक्ट के रूप में बनाए रखता है। The Stable Coin Company इस फैसिलिटेटर को चलाती है, जो Base, Solana और Radius पर USDC और SBC दोनों को सपोर्ट करता है। मैंने SBC का इस्तेमाल इसलिए किया क्योंकि यह वह एसेट है जिसे मैं सबसे अच्छी तरह जानता हूँ।
यदि आप इसे संदेश के बजाय किसी उत्पाद के लिए लागू करना चाहते हैं, तो आप भुगतान के बाद होने वाली कार्रवाई बदल देंगे। संदेश संग्रहीत करने के बजाय, आप एक डाउनलोड URL उत्पन्न करेंगे, एक वेबहुक ट्रिगर करेंगे, या शिपमेंट शुरू करेंगे। लाइब्रेरी को इस बात की परवाह नहीं है कि कार्रवाई क्या है। यह कार्रवाई को भुगतान के बाद ही सक्षम करती है।
निर्णय
एंडपॉइंट दोनों USDC और SBC को स्वीकार करता है। मैंने SBC का इस्तेमाल किया क्योंकि यह वह एसेट है जिसे मैं सबसे अच्छी तरह जानता हूँ और जिसे मैं दोनों चेनों पर एंड-टू-एंड सत्यापित करना चाहता था।
मेरे पास दो वॉलेट हैं। मेरा EVM वॉलेट Base पर SBC प्राप्त करता है। एक अलग Solana वॉलेट Solana पर SBC प्राप्त करता है। एक ही एंडपॉइंट, एक ही कीमत, अलग-अलग सेटलमेंट रेल।
संदेश D1 तालिका में आते हैं। मैं उन्हें एडमिन पैनल में पढ़ता हूँ। कोई ईमेल फॉरवर्डिंग नहीं, मॉनिटर करने के लिए कोई इनबॉक्स नहीं। एक संदेश को संदेश होने के अलावा कुछ भी करने में सक्षम नहीं होना चाहिए।
कीमत /bin/sh.10 है। स्पैम को अलाभकारी बनाने के लिए यह काफी अधिक है। एक वैध एजेंट के लिए इसे मामूली बनाने के लिए यह काफी कम है।
यह काम करता है
यहाँ 13 जून, 2026 के वास्तविक लेनदेन हैं। प्रत्येक संदेश पर SBC में /bin/sh.10 का खर्च आया। निपटान ऑन-चेन था।
| प्रेषक | नेटवर्क | राशि | लेनदेन |
|---|---|---|---|
cursor-agent/0.46.2 | बेस | /bin/sh.10 SBC | 0x5265bdd1…963cd · BaseScan |
deal-flow-scout@vcscan.ai | बेस | /bin/sh.10 SBC | 0xe0aa91c4…4313d · BaseScan |
claude-research-agent/1.2 | बेस | /bin/sh.10 SBC | 0xb0c96326…4dd05 · BaseScan |
e2e-test-agent | बेस | /bin/sh.10 SBC | 0x0fca4265…c1b08 · BaseScan |
e2e-test-agent | सोलैना | /bin/sh.10 SBC | 2typCyWo…hsYc · Solscan |

यह मेरा एडमिन पैनल है। सात संदेश। Base और Solana। प्रत्येक एक प्रदर्शित होने से पहले चेन पर निपटाया गया था।
मुझे संदेश भेजना
यदि आप एक एजेंट बना रहे हैं, तो एंडपॉइंट benmilne.com/contact/send पर POST है। यह OpenAPI स्पेक और agents.md में प्रलेखित है।
बिना भुगतान हेडर के POST करें और सर्वर आपको वह सब कुछ देता है जिसकी आपको ज़रूरत है, साथ ही एक 402 त्रुटि लौटाता है। x402 क्लाइंट लाइब्रेरी वहीं से साइनिंग और दोबारा प्रयास को संभालती है। कीमत /bin/sh.10 है। Base और Solana पर SBC और USDC। यदि आप एक कॉलबैक URL शामिल करते हैं, तो भविष्य में मेरे पास उस URL पर प्रतिक्रिया देने की क्षमता होगी।
मैंने क्या सीखा
402 प्रतिक्रिया एक मशीन-पठनीय चालान है। एजेंट को UI की आवश्यकता नहीं है। उसे एक कीमत, एक एसेट पता, और एक नेटवर्क की आवश्यकता है। यह साइन करता है, भुगतान करता है, और पुनः प्रयास करता है।
मैंने 'कीलेस' के रूप में विज्ञापन देने वाले समुदाय के मध्यस्थों के माध्यम से USDC समर्थन जोड़ने की कोशिश की। उनमें से कोई भी बिना अनुमति के काम नहीं करता था। एक को पते की पंजीकरण की आवश्यकता थी। दूसरे में संस्करण असंगति थी। द स्टेबल कॉइन कंपनी के माध्यम से SBC ही एकमात्र मध्यस्थ था जो बिना किसी सेटअप के काम करता था। कोई कुंजी नहीं, कोई खाता नहीं, कोई पंजीकरण नहीं। यह बात मायने रखती है अगर आप चाहते हैं कि एजेंट बिना किसी इंसान द्वारा पहले कुछ कॉन्फ़िगर किए भुगतान कर सकें।
एक और बात जिसने मुझे आश्चर्यचकित किया: मेटामास्क और फैंटम दोनों मेरे वॉलेट में SBC को छिपाते रहे, भले ही मैंने इसे कई बार मंजूरी दे दी थी। मैं टोकन जोड़ता, लेनदेन की पुष्टि करता, अपना बैलेंस चेक करता, और वह एसेट फिर से गायब हो जाता। परीक्षण के दौरान यह बार-बार हुआ। मैं दोनों टीमों का बहुत सम्मान करता हूँ, लेकिन अपने ही डिवाइस पर अपने वॉलेट को बार-बार यह बताना कि मैं एक विनियमित जारीकर्ता से अपनी खुद की संपत्ति का उपयोग करना चाहता हूँ, हास्यास्पद लगा। इंटरनेट बहुत बड़ा है। वॉलेट को अपने उपयोगकर्ताओं द्वारा पहले से किए गए चुनावों पर भरोसा करना चाहिए।
जिस कोड का मैंने इसके लिए इस्तेमाल किया है, वह ओपन सोर्स है और आप इसके साथ जो चाहें करने के लिए स्वतंत्र हैं, बशर्ते कि मेटामास्क या फैंटम यह प्रभावित नहीं करना चाहते कि आप इसके बजाय क्या करते हैं।