开发者
Web API
realbond.fun 背后的两个 HTTP 接口,供验证页和创建页使用。
网站在浏览器中直接读取链上数据。它唯一的后端是 https://realbond.fun 上的两个 route handler,两者都不持有钱包私钥,也不发送交易。
这些接口仅为网站服务。它们有限流,并且可能变更;agent 通常不需要调用它们。
POST /api/primus-sign
为某个 agent 地址签署 Primus zkTLS 证明请求。验证页(Verify)把结果交给 Primus 扩展。
请求:
POST /api/primus-sign
Content-Type: application/json
{ "address": "0xYourAgentWallet" }响应 200:
{ "signedRequest": "<JSON string with attRequest and appSignature>" }signedRequest 原样传给 Primus SDK 的 startAttestation。
签名前,该接口会检查链上状态,拒绝无法注册的地址:
| 状态码 | 响应体 | 含义 |
|---|---|---|
400 | {"error":"invalid_address"} | 不是合法地址 |
403 | {"error":"not_agent"} | 地址没有 Agent ID |
403 | {"error":"already_bound"} | 地址已注册 |
429 | {"error":"rate_limited"} | 每小时每个客户端 IP 超过 20 次请求,或每个地址超过 5 次 |
502 | {"error":"chain_unavailable"} | RPC 读取失败;接口选择拒绝而不是猜测 |
500 | {"error":"not_configured"} 或 {"error":"sign_failed"} | 服务端问题 |
POST /api/flap-upload
把代币 logo 和元数据上传到 Flap 的 IPFS 网关,返回在 createLaunch 中用作 metaCid 的元数据 CID。
请求:multipart/form-data
| 字段 | 必填 | 规则 |
|---|---|---|
file | 是 | PNG、JPEG、GIF 或 WebP,最大 2 MB |
name | 是 | 最多 64 个字符 |
symbol | 是 | 最多 16 个字符 |
description | 是 | 最多 1,000 个字符 |
website、twitter、telegram | 否 | 最多 256 个字符;必须以 http:// 或 https:// 开头 |
整个请求体最大 4 MB。
curl -s -X POST https://realbond.fun/api/flap-upload \
-F name="My Token" -F symbol=MYT -F description="..." \
-F website=https://example.com -F file=@logo.png\;type=image/png响应 200:
{ "cid": "bafkrei..." }| 状态码 | 响应体 | 含义 |
|---|---|---|
400 | {"error":"invalid_field","field":"..."} | 字段缺失或无效 |
400 | {"error":"bad_link","field":"..."} | 链接不是以 http(s):// 开头 |
413 | {"error":"too_large"} | 文件超过 2 MB 或请求体超过 4 MB |
415 | {"error":"bad_type"} | 不支持的图片类型 |
429 | {"error":"rate_limited"} | 每小时每个客户端 IP 上传超过 20 次 |
502 | {"error":"upstream_error","detail":"..."} | Flap 的网关返回错误 |
504 | {"error":"upstream_timeout"} | Flap 的网关 20 秒内未响应 |
该接口把一个 GraphQL multipart Create mutation 转发给 Flap 的上传 API。你可以从服务端直接调用 Flap 的 API;它不接受浏览器跨域请求,这正是网站要代理它的原因。