四个维度相互独立,一条路线可同时挂多个 badge。不知道的一律标「待验证」,不编数字。
后端只需把 quote(from_asset, from_channel, to_asset, to_channel, amount, prefer) 包一层 HTTP,返回原样 JSON。本页用 GET 请求:
GET {endpoint}?from_asset=USDT&from_channel=TRON&to_asset=USDC&to_channel=ARC&amount=100&prefer=cost
# 资产/通道取值(settle.py 归一化口径)
# from_asset/to_asset: USDC USDT USDe USDG FDUSD USAT PYUSD
# from_channel/to_channel: TRON ARC BASE ETH ARB OP POLYGON SOLANA CELO ...
# prefer: cost(默认,按总成本升序)| time(按 ETA 升序,unknown 排最后)
响应 JSON(与 settle.py 的 quote() 返回完全一致):
{
"routes": [
{
"venue": "bridge | cctp_standard | cctp_fast | ...",
"legs": [
{"venue": "Bridge", "from_asset": "USDT", "from_channel": "TRON",
"to_asset": "USDC", "to_channel": "BASE",
"amount_in": 100, "note": "Bridge 段无事前报价,以建单回执为准"}
],
"cost_breakdown": {"protocol_fee_usd": 0.35, "gas_est_usd": 0.01,
"fx_spread_usd": null, "total_cost_usd": 0.36},
"eta_seconds": null,
"support_level": "docs | tested | blocked | unknown",
"fast_available": false,
"risk_notes": ["托管模式:资金经 Bridge 手", "..."]
}
],
"sorted_by": "cost",
"disclaimer": "只读报价,不执行任何资金动作"
}
badge 映射(前端按此渲染,四个维度独立):docs→官方文档支持 · tested→已测试方向 · fast_available=true→Fast 可用 · blocked→生产阻塞;未知一律 unknown→待验证。
后端托管最小示例(Python 标准库,示例仅供参考,请自行按生产要求加固):
import json, urllib.parse
from http.server import BaseHTTPRequestHandler, HTTPServer
import sys; sys.path.insert(0, "/home/<user>/workspace/hub-spoke")
from settle import quote # 只读报价,不执行资金动作
class H(BaseHTTPRequestHandler):
def do_GET(self):
q = urllib.parse.parse_qs(urllib.parse.urlparse(self.path).query)
try:
out = quote(q["from_asset"][0], q["from_channel"][0],
q["to_asset"][0], q["to_channel"][0],
float(q["amount"][0]), q.get("prefer", ["cost"])[0])
body = json.dumps(out, ensure_ascii=False).encode()
self.send_response(200)
except Exception as e:
body = json.dumps({"error": str(e)}).encode()
self.send_response(400)
self.send_header("Content-Type", "application/json")
self.send_header("Access-Control-Allow-Origin", "*")
self.end_headers(); self.wfile.write(body)
HTTPServer(("127.0.0.1", 8787), H).serve_forever()
⚠️ 后端托管方式(自建服务器 / Cloudflare Worker / 本机隧道等)由你决策;本页不替你搭后端。
badge 诚实口径:只标已验证/有文档依据的;没验证过的标「待验证」,不编数字、不编余额。