أردت أن أرى ما إذا كان بإمكان أحد الوكلاء الدفع لإرسال رسالة إليّ.

ليس شخصًا يملأ نموذج اتصال. وليس اختبار CAPTCHA. بل وكيلًا لديه محفظة، ومهمة، ورغبة في التواصل معي.

أنا لست فريدًا من نوعي. أنا مجرد شخص عادي قد يرغب الكمبيوتر في التحدث إليه.

يمكن لأي شخص التواصل معي عبر LinkedIn أو X متى شاء، كما هو موضح في صفحة الاتصال.

إذا وضعت نقطة اتصال على هذا الموقع، فسأحصل على صندوق بريد وارد جديد لأراقبه. رسائل غير مرغوب فيها، وروبوتات، واتصالات غير مرغوب فيها. اختبار CAPTCHA يمنع البشر. الدفع يمنع الجميع، لكن بطاقات الائتمان تمنع البشر أيضًا. كنت بحاجة إلى شيء متأصل في طريقة عمل الوكلاء.

x402 هو تلك البوابة. إنه بروتوكول مبني على HTTP 402 «الدفع مطلوب»، وهو رمز الحالة الذي خصصه الإنترنت للمدفوعات ولكن لم يتم تعريفه أبدًا. x402 يحدده. يقوم الخادم بإرجاع الرمز 402 مع السعر وعنوان stablecoin. يقرأ الوكيل الرد، ويوقع على تصريح باستخدام محفظته الرقمية، ويعيد المحاولة مع رأس دفع، ويقوم الخادم بتسوية المعاملة على السلسلة. لا توجد صفحة دفع. لا يوجد نموذج. لا يوجد حساب. مجرد رمز حالة وتوقيع.

هذه تجربة مروعة بالنسبة للشخص العادي. لكنها تجربة رائعة بالنسبة للوكيل.

كيف يعمل

تقع نقطة النهاية في /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

تدير شركة Stable Coin Company وسيطًا يتحقق من التصريح الموقع من قبل الوكيل وينفذ التحويل على السلسلة، مدفوعًا تكاليف الغاز نيابة عن الطرفين. لا يحتاج الوكيل إلى الاحتفاظ بـ ETH أو SOL. فهو يحتفظ بأصل واحد، وهو الأصل الذي يدفع به.

البدء

لقد كتبت مكتبة صغيرة تسمى x402-payment-path لهذا الغرض. وهي تتولى معالجة التحدي 402، والتحقق من التوقيع، والتسوية، وإنشاء الإيصالات.

البروتوكول الأساسي هو x402، وهو معيار الدفع الأصلي لـ «stablecoin» (التحدي 402) الذي جعلته Coinbase مفتوح المصدر وتقوم مؤسسة x402 الآن بصيانته كمشروع تابع لمؤسسة Linux Foundation. تدير شركة Stable Coin Company الميسر، الذي يدعم كلاً من «USDC» و«SBC» على شبكات Base وSolana وRadius. استخدمت SBC لأنه الأصل الذي أعرفه أفضل من غيره.

إذا أردت تطبيق هذا على منتج بدلاً من رسالة، فستقوم بتغيير ما يحدث بعد الدفع. فبدلاً من تخزين رسالة، ستقوم بإنشاء رابط تنزيل، أو تشغيل ويبهوك، أو بدء عملية شحن. لا تهتم المكتبة بطبيعة الإجراء. فهي تربط الإجراء بعملية الدفع.

القرارات

تقبل نقطة النهاية كلاً من USDC و SBC. استخدمت SBC لأنه الأصل الذي أعرفه أفضل والأصل الذي أردت التحقق منه من البداية إلى النهاية على كلتا السلسلتين.

لدي محفظتان. محفظتي EVM تستقبل SBC على شبكة Base. ومحفظة Solana منفصلة تستقبل SBC على شبكة Solana. نفس نقطة النهاية، نفس السعر، قنوات تسوية مختلفة.

تصل الرسائل إلى جدول D1. أقرأها في لوحة الإدارة. لا إعادة توجيه للبريد الإلكتروني، ولا صندوق وارد لمراقبته. لا ينبغي أن تكون الرسالة قادرة على فعل أي شيء سوى أن تكون رسالة.

السعر هو 1 دولار. وهو مرتفع بما يكفي لجعل الرسائل غير المرغوب فيها غير مجدية اقتصاديًا. ومنخفض بما يكفي ليكون أمرًا تافهًا بالنسبة لوكيل شرعي.

إنها تعمل

فيما يلي معاملات حقيقية من 13 يونيو 2026. كلفت كل رسالة 0.10 دولارًا من SBC. تمت التسوية على السلسلة.

المرسلالشبكةالمبلغالمعاملة
cursor-agent/0.46.2الأساس0.10 دولار SBCBaseScan
claude-research-agent/1.2الأساسي0.10 دولار SBCBaseScan
e2e-test-agentBase0.10 دولار SBCBaseScan
e2e-test-agentSolana0.10 دولار SBCSolscan
Admin panel showing x402 agent messages with sender, message body, network, and transaction hash links to BaseScan and Solscan

هذه هي لوحة الإدارة الخاصة بي. سبع رسائل. Base و Solana. تمت تسوية كل واحدة منها على السلسلة قبل ظهورها.

إرسال رسالة إليّ

إذا كنت تقوم بإنشاء وكيل، فإن نقطة النهاية هي POST benmilne.com /contact/send. وهي موثقة في مواصفات OpenAPI وملف agents.md.

أرسل طلب POST بدون رأس دفع، وسيقوم الخادم بإرجاع رمز حالة 402 مع كل ما تحتاجه. تتولى مكتبة عميل x402 عملية التوقيع وإعادة المحاولة من هناك. السعر هو 1 دولار SBC على شبكتي Base وSolana. إذا قمت بتضمين عنوان URL للرد، فسيكون بإمكاني الرد على هذا العنوان في المستقبل.

ما تعلمته

الاستجابة 402 هي فاتورة قابلة للقراءة آليًّا. لا يحتاج الوكيل إلى واجهة مستخدم. إنه يحتاج إلى سعر وعنوان أصل وشبكة. يقوم بالتوقيع والدفع وإعادة المحاولة.

حاولت إضافة دعم USDC من خلال ميسرين مجتمعيين يعلنون عن أنفسهم على أنهم يعملون بدون مفاتيح. لم يعمل أي منهم بدون أذونات. أحدها تطلب تسجيل العنوان. وآخر كان يعاني من عدم توافق الإصدارات. كانت SBC من خلال The Stable Coin Company هي الميسر الوحيد الذي عمل دون أي إعداد على الإطلاق. لا مفاتيح، ولا حسابات، ولا تسجيل. وهذا أمر مهم إذا كنت تريد أن يتمكن الوكلاء من الدفع دون الحاجة إلى تدخل بشري لإجراء أي إعدادات مسبقًا.

هناك أمر آخر فاجأني أيضًا: استمر كل من MetaMask وPhantom في إخفاء SBC في محفظتي، حتى بعد أن وافقت عليه عدة مرات. كنت أضيف الرمز المميز، وأؤكد المعاملة، وأتحقق من رصيدي، ثم يختفي الأصل مرة أخرى. تكرر هذا الأمر مرارًا وتكرارًا أثناء الاختبار. لا أشعر إلا بالاحترام تجاه كلا الفريقين، لكن الاضطرار إلى إخبار محفظتي على جهازي الخاص بأنني أريد استخدام أصولي الخاصة من جهة إصدار خاضعة للرقابة، مرارًا وتكرارًا، كان أمرًا سخيفًا. الإنترنت واسع. يجب أن تثق المحافظ بالاختيارات التي اتخذها مستخدموها بالفعل.

الرمز البرمجي الذي استخدمته لهذا الغرض مفتوح المصدر، ولديك الحرية في فعل ما تشاء به، على افتراض أن MetaMask أو Phantom لا ترغبان في التأثير على ما تفعله بدلاً من ذلك.