五步,把一份能按次卖的数据变成在架商品。前四步在控制台完成,第五步由平台审核。
进入控制台 → 数据资产 → 新建资产,填写名称、类目与更新频率。
选择 API / CSV / Postgres / 爬虫,填连接信息,点「测试取数」确认返回结构与新鲜度。
在工具工厂里逐个定义工具的名称、描述、入参、返回字段与价格。至少一个设为免费。
点「生成端点」,平台自动产出 MCP 端点、/.well-known 清单与 llms.txt,并跑一次 402 自检。
平台审核工具描述与定价合理性(通常 1 个工作日内),通过后进入市场与 Registry 队列。
四种接入方式,覆盖大多数可售数据。接入后平台会按你声明的更新频率做缓存,保证 1 秒内返回。
| 类型 | 适用场景 | 配置要点 |
|---|---|---|
| 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 用于后续创建工具。数据源变更后需重新测试取数,否则工具仍指向旧快照。
数据不能直接卖,要拆成「一次调用能回答的一个问题」。
判断标准:如果一个问题的答案你能在 1 秒内返回、且买家拿到就能用,它就够格成为一个付费单元。
{
"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 暴露工具,用 x402 SDK 的支付包装器给付费工具挂 402 挑战。自建时请照抄以下原则。
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。
代收模式:买家付款进平台归集地址,抽成后按自然月归集、次月 10 号结算到你的收款地址。
含 scheme、network、资产合约、金额、收款地址、超时时间。
transferWithAuthorization。买家钱包只需要 USDC,gas 由 facilitator 代付。整个过程不需要 ETH。
facilitator 校验签名与金额;通过后才执行工具逻辑。
只有在数据成功返回后才结算。失败返回 isError 时不收费。
真钱验证时,只信链上 Transfer 事件——用余额差值会被 RPC 同步延迟骗到。控制台的对账面板默认按 Transfer 事件聚合,结算单可导出 CSV。
USDC 先进平台归集地址,抽成 50%,按自然月归集、次月 10 号结算。可进入市场推荐位与联合推广。
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"}
以下每一条都是我们线上真实踩过的,不会写在官方文档里。