خمس خطوات لتحويل بيانات قابلة للبيع بالطلب إلى منتج معروض. الخطوات الأربع الأولى تتم في لوحة التحكم، والخامسة مراجعة من المنصة.
انتقل إلى لوحة التحكم → أصول البيانات → أصل جديد، واملأ الاسم والفئة وتكرار التحديث.
اختر API / CSV / Postgres / Crawler، وأدخل بيانات الاتصال، ثم اضغط «اختبار الجلب» للتأكد من بنية الاستجابة وحداثتها.
في مصنع الأدوات، حدّد اسم كل أداة ووصفها ومدخلاتها وحقول الإرجاع وسعرها واحدة تلو الأخرى. اجعل واحدة منها مجانية على الأقل.
اضغط «إنشاء نقطة النهاية»، فتولّد المنصة تلقائيًا نقطة نهاية MCP وملف /.well-known وllms.txt، ثم تُجري فحصًا ذاتيًا واحدًا لـ 402.
تراجع المنصة أوصاف الأدوات ومعقولية التسعير (خلال يوم عمل واحد عادةً)، وبعد الموافقة تدخل السوق وقائمة انتظار Registry.
أربع طرق تكامل تغطي معظم البيانات القابلة للبيع. بعد الربط، تخزن المنصة البيانات مؤقتًا حسب تكرار التحديث الذي تحدده، وتضمن الاستجابة خلال ثانية واحدة.
| النوع | الحالة المناسبة | نقاط الإعداد |
|---|---|---|
| HTTP API | واجهة خارجية موجودة، مصدر بيانات طرف ثالث | URL / method / headers / فاصل الاستقصاء (45 ثانية كحد أدنى) |
| CSV / ملفات | القوائم، الأدلة، الجداول الثابتة | بعد الرفع، حدّد عمود المفتاح الرئيسي وتكرار التحديث؛ ويتم دعم التحديث بالاستبدال. |
| PostgreSQL | اتصال مباشر بقاعدة بيانات الأعمال، وآنية عالية | حساب للقراءة فقط + قائمة IP مسموح + عروض بدل الجداول الأصلية |
| زاحف مجدول | صفحات عامة بلا واجهة | قائمة URL المستهدفة + محددات CSS + التكرار (يُنصح بـ 45 دقيقة أو أكثر) |
curl -X POST https://api.feegate.org/v1/assets \
-H "Authorization: Bearer $RAILS_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "GPU 行情快照",
"category": "算力",
"refresh_minutes": 45,
"source": {
"type": "http_api",
"url": "https://rentgpu.link/api/prices",
"method": "GET",
"headers": {},
"response_path": "data.items"
}
}'
القيمة asset_id في الاستجابة تُستخدم لإنشاء الأدوات لاحقاً. وبعد تغيّر مصدر البيانات يجب إعادة اختبار الجلب، وإلا بقي الأداة يشير إلى اللقطة القديمة.
لا تُباع البيانات كما هي؛ بل تُقسَّم إلى «سؤال واحد يمكن لاستدعاء واحد الإجابة عنه».
معايير الحكم:إذا أمكنك إرجاع إجابة السؤال خلال ثانية واحدة وكان بإمكان المشتري استخدامها فورًا، فهي مؤهلة لتكون وحدة مدفوعة.
{
"tools": [
{
"name": "list_gpu_models",
"price": "0",
"description": "列出全部在监测的 GPU 卡型,含显存与在售平台数量。免费。",
"params": {}
},
{
"name": "gpu_price",
"price": "0.05",
"description": "指定卡型的当前最低价、中位价与 30 天最低价,附平台名与库存状态。",
"params": { "gpu": "string" }
},
{
"name": "recommend_for_task",
"price": "0.05",
"description": "按任务(如 fine-tune 7B)给出最省钱的租用方案与估算总成本。",
"params": { "task": "string", "hours": "int" }
}
]
}
التسعير بالطلب، ولا تنزل عن تكلفة التسوية.
الافتراضي $0.05. السعر الأقل من $0.01 لا معنى له في هذا النظام: في البداية سعّرنا بـ $0.001 فكانت النتيجة خسارة في كل عملية بيع.
قبل أن يقرر الـ Agent الدفع، عليه أن يعرف أن لديك مخزوناً وأن هذا المخزون هو ما يريده. اجعل «سرد كل العناصر» و ping مجانيين——الطبقة المجانية واجهة عرض، لا صدقة، وهذا هو ما يحدد ما إذا كانت هناك فرصة للتحويل المدفوع.
تعرض المنصة الأدوات عبر FastMCP وتربط تحدي 402 بالأدوات المدفوعة باستخدام غلاف الدفع في x402 SDK. إذا كنت تبنيها بنفسك، التزم بهذه المبادئ كما هي.
from fastmcp import FastMCP from x402.mcp import require_payment mcp = FastMCP("gpu-market") # 免费层:橱窗 @mcp.tool() def list_gpu_models() -> dict: """列出全部在监测的 GPU 卡型。免费。""" return load_models() # 付费层:$0.05 / 次 @mcp.tool() @require_payment(price="$0.05", network="eip155:8453") def gpu_price(gpu: str) -> dict: """指定卡型的当前最低价、中位价与 30 天最低价。""" r = query_price(gpu) if not r: # 关键:查询失败返回 isError,x402 中间件就不会结算 return {"isError": True, "content": "no data"} return r
اجعل الآخرين (وAgent) قادرين على العثور عليك. يمكن للوحة التحكم إنشاء هذه الملفات الثلاثة والتحقق منها بنقرة واحدة.
{
"name": "link.rentgpu/gpu-market",
"transport": "streamable-http",
"url": "https://api.feegate.org/mcp/gpu-market",
"tools": [
{"name": "list_gpu_models", "payment": "free"},
{"name": "gpu_price", "payment": "x402"}
]
}
{
"network": "eip155:8453",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"payTo": "0x230cd9cd33589bcf33cd32e5aa4f9e0c3994a63b",
"facilitator": "payai",
"prices": {
"gpu_price": "50000", // USDC 6 位小数 → $0.05
"gpu_history": "50000",
"list_gpu_models": "0"
}
}
# GPU 算力雷达(rentgpu.link) > 26 家平台、23 张 GPU 卡型的租赁报价,每 45 分钟全量重抓。 ## 免费端点 - GET /api/prices 全量报价 feed,CC BY 4.0,免注册免 key - GET /api/resolve?gpu=H100&budget=10 按卡型+预算直接给答案 ## 付费工具(MCP, x402, $0.05/次) - gpu_price / gpu_history / market_movers - platform_reliability / recommend_for_task ## How to cite 数据来源:GPU 算力雷达 https://rentgpu.link ,授权 CC BY 4.0。
نموذج التحصيل: تذهب مدفوعات المشتري إلى عنوان تجميع المنصة، وبعد خصم العمولة تُجمَّع حسب الشهر الميلادي وتُسوَّى إلى عنوان الاستلام في العاشر من الشهر التالي.
يتضمن scheme وnetwork وعقد الأصل والمبلغ وعنوان الاستلام والمهلة الزمنية.
transferWithAuthorization. لا تحتاج محفظة المشتري سوى USDC، ويتكفّل facilitator بدفع الغاز.لا حاجة إلى ETH في أي مرحلة من العملية.
يتحقق facilitator من التوقيع والمبلغ؛ ولا تُنفَّذ منطقية الأداة إلا بعد النجاح.
لا تتم التسوية إلا بعد إرجاع البيانات بنجاح. ولا يُحصَّل أي مبلغ عند إرجاع isError بسبب الفشل.
عند التحقق بأموال حقيقية،الثقة فقط بأحداث Transfer على السلسلة— فروق الأرصدة تُخدع بتأخر مزامنة RPC. ولوحة المطابقة تجمع افتراضياً حسب أحداث Transfer، ويمكن تصدير كشوف التسوية بصيغة CSV.
يذهب USDC أولًا إلى عنوان تجميع المنصة بعمولة 50%، ويُجمَّع حسب الشهر الميلادي ويُسوَّى في العاشر من الشهر التالي. ويؤهلك ذلك لمواضع مميزة في السوق وللترويج المشترك.
يذهب USDC مباشرة إلى محفظتك ويمكن التحقق منه على السلسلة، وتقتصر رسوم المنصة على رسوم الخدمة. وتتحمل أنت مسؤولية اختيار facilitator وتشغيله.
لا يحتاج المستدعي إلى التسجيل ولا إلى API Key؛ يكفي وجود USDC في المحفظة للاستدعاء بالطلب.
# pip install "mcp<2" "x402==2.25.0" web3 from mcp import ClientSession from mcp.client.streamable_http import streamablehttp_client from x402.mcp import create_payment_hook from eth_account import Account account = Account.from_key("你的私钥") # 只需有 Base 主网 USDC MCP_URL = "https://api.feegate.org/mcp/gpu-market" async with streamablehttp_client(MCP_URL) as (r, w, _): async with ClientSession(r, w, hooks=[create_payment_hook(account)]) as s: await s.initialize() print(await s.call_tool("list_gpu_models", {})) # 免费 print(await s.call_tool("gpu_price", {"gpu": "H100"})) # $0.05
لكل إجراء في لوحة التحكم واجهة مقابلة، لتسهيل ربط أنظمتك الخاصة.
| الطريقة | المسار | ملاحظات |
|---|---|---|
| POST | /v1/assets | إنشاء أصول البيانات ومصادرها |
| POST | /v1/assets/{id}/tools | إنشاء / تحديث الأدوات وقائمة الأسعار بشكل مجمع |
| GET | /v1/assets/{id}/verify | تشغيل فحص ذاتي واحد لـ 402 وإرجاع عناصر التحدي الأربعة |
| GET | /v1/assets/{id}/calls | تفاصيل الاستدعاءات (200 / 402 / settled) |
| GET | /v1/settlements | قائمة كشوف التسوية وحالتها |
| POST | /v1/assets/{id}/publish | إرسال طلب الإدراج للمراجعة |
| GET | /v1/market/items | كتالوج السوق العام (بدون مصادقة) |
curl https://api.feegate.org/v1/assets/ast_92f1/verify \ -H "Authorization: Bearer $RAILS_KEY" # → {"x402Version":2,"accepts":[{"scheme":"exact", # "network":"eip155:8453","amount":"50000", # "payTo":"0x230c…a63b","maxTimeoutSeconds":300}], # "error":"Payment Required"}
كل بند أدناه واجهناه فعليًا في الإنتاج، ولن تجده في الوثائق الرسمية.