API
MurkFun 底下有两个 HTTP API。读取 API 提供行情数据,不需要任何密钥。中继 API 接收交易,但只接受带有零知识证明的订单,这些证明由你的 Agent 的 MurkFun MCP 服务在你的电脑上生成。
murkfun-mcp <tool> --arg value)。参见你的 Agent 如何与 MurkFun 对接。读取 API
基础 URL https://api.murk.fun/v1。GET 请求,允许任何来源访问。金额是以整 BNB 和整枚代币计的 JSON 数字,价格是每枚代币多少 BNB,时间是 unix 秒。每个持有者在每个代币里都显示为一个代号,用 #a3f2 这样的短 id 表示;不同代币的代号之间没有任何关联。错误是 {"error": "…"},状态码 400 或 404。
| 路由 | 返回 |
|---|---|
GET /v1/launches | 代币列表,最新的在前,也可以按曲线进度或成交量排序。 |
GET /v1/tokens/:address | 单个代币:曲线、价格、市值、成交量、毕业后的交易场所。 |
GET /v1/tokens/:address/trades | 成交记录;每个交易者显示为一个短代号 id。 |
GET /v1/tokens/:address/holders | 按代号列出的持有者。 |
GET /v1/tokens/:address/candles | 价格 K 线。 |
GET /v1/tokens/:address/graduation | 毕业信息:交易场所、池子、流动性、此后的成交。 |
GET /v1/params | 新代币的条款(费用、上限、曲线)。 |
GET /v1/stats | 平台总计。 |
GET /v1/privacy-funding | 哪些隐私池可以为曲线阶段的买入付款。 |
GET /v1/health | 索引器状态。 |
POST /v1/ipfs/image | 上传代币图片(pin 在 IPFS 上)。 |
POST /v1/ipfs/metadata | 上传代币的元数据 JSON(pin 在 IPFS 上)。 |
GET /v1/ipfs/:cid | 读取已 pin 的图片或元数据文件。 |
不要用 API 查询你自己的代号:那会让 API 运营方知道哪个代号是你的。MCP 服务会从链上读取你自己的余额。
中继 API
中继把订单提交到 BNB Chain 并支付 gas;它通过每个订单里的费用拿回成本。它不持有你的任何资金,也无法修改订单:所有关键字段都绑定在你的证明里,被改过的订单会回滚。它的 URL 在 MCP 服务的网络文件里(murkfun-mcp network)。输入输出都是 JSON;金额是以 wei 计的整数,用十进制字符串表示。
| 路由 | 作用 |
|---|---|
GET /v1/info | 中继的地址、工厂合约、新代币上架的市场合约、MurkFun 的 0xbow 适配器、最短截止时间、它接受的操作。 |
GET /v1/quote | 要绑定进订单的费用:?action=sell。买入时加上 &token=…&amount=…(以 wei 计的 BNB,或配合 &exactOut=1 表示代币数量):买完曲线的买入按 completing-buy gas 档位报价,这一档也包含同一笔交易中毕业的费用。 |
POST /v1/orders | 提交一个订单。返回 202,附订单 id 和交易哈希。 |
GET /v1/orders/:id | 订单状态:submitted、mined、reverted、dropped 或 failed。 |
订单
一个订单是 {"action": "…", …fields}。需要证明的订单从你在 MurkFun 里该代币的 BNB 余额中支付中继费;赞助的订单不收费(由中继支付,按 IP 限流)。
| 操作 | 字段 | 费用 |
|---|---|---|
privacyPoolBuy | ppProof, params, noteData, proof | 中继费 |
privacyPoolLaunch | spec, ppProof, params, noteData, proof | 中继费 |
railgunBuy | adapter, transactions, order, proof | 中继费 |
railgunFund | adapter, transactions, order, proof | 中继费 |
railgunLaunch | spec, adapter, transactions, order, proof | 中继费 |
buy | order, proof | 中继费 |
buyExactOut | order, proof | 中继费 |
sell | order, proof | 中继费 |
withdrawBnb | order, proof | 中继费 |
withdrawTokens | order, proof | 中继费 |
setDevRecipient | order, proof | 中继费 |
launch | spec, order, proof | 赞助 |
graduate | token | 赞助 |
collectLpFees | token | 赞助 |
claimDevFees | token | 赞助 |
order 是已签名的订单 {action, token, amount, minOut, to, nonce, relayer, fee, deadline, holderRoot, pseudonym, nullifier},proof 是它的订单证明;ppProof、params 和 noteData 是通过 MurkFun 的 0xbow 适配器进行的 0xbow 提取(其 params.data 就是该订单),spec 是新代币。Railgun 买入和为化名充值不是中继订单:MCP 服务器返回已签名的订单作为调用,由 Railgun(或毕业后的任意钱包)发送。一笔买入可以花费确定数量的 BNB 并设定最少获得的代币数量,也可以以不超过某个 BNB 数额买入确定数量的代币(buyExactOut,或 0xbow 买入中的精确输出订单)。买入未用完的 BNB 留在你该代币的余额中。
费用、报价和截止时间
GET /v1/quote?action=…返回中继地址、费用和一个 5 分钟后的截止时间。买完曲线的那笔买入会在同一笔交易中让代币毕业,并支付这部分 gas,所以它的费用更高(gas 档位 completing-buy)。- 证明绑定了这些:中继无法提高费用,订单也不能在截止时间之后执行。
POST /v1/orders。中继会先模拟这笔交易本身,如果它会回滚,或费用已经不够付 gas,就拒绝订单;这时什么都不会发送。交易只发给私有区块构建者和 RPC,从不进入公开内存池,所以没人能夹它。- 轮询
GET /v1/orders/:id。如果订单被拒绝,什么都没有改变:重新报价、重新生成证明、再次提交。遇到broadcast_failed、overloaded或订单被丢弃时,同一个订单仍然有效:原样再次提交即可。
订单如何获得授权
- 你的钱包签名和订单证明。你的钱包为每笔订单签名(签的是订单的一个不透明哈希)。订单证明在你的电脑上生成,证明签名者持有 MurkFun 持有者集合中的 SPACE ID Agent ID,但不透露是哪一个,并证明订单的化名和一次性作废符来自你钱包的种子签名。订单绑定操作、每个金额和地址、你化名的 nonce 以及中继条款,并且只能执行一次。
- 0xbow 证明(用票据买入时)。一个 0xbow Privacy Pools 证明通过 MurkFun 的 0xbow 适配器花掉你一张已获批的票据,并绑定这笔买入的代币、金额、最少获得量或精确的代币数量,以及中继条件;找零票据留在 0xbow。
- 发币证明。发币证明针对代币将来的地址生成,并让你成为它的开发者代号。如果在同一笔交易中带上你的首次买入,它还会绑定这笔买入的证明,因此代币只能和这笔买入一起被创建。
- 两者都在你的电脑上用你的加密保险库生成。murkfun-mcp 包是构建所有订单的参考客户端。绝不要把种子、密钥、种子签名或票据秘密发给任何服务器:中继只会收到证明。
错误
错误的格式是 {"error": "<code>", "reason": "…"}。被拒绝的订单什么都没有执行。 bad_json, bad_order, bad_action, bad_field, bad_target, bad_unshield, unknown_token, bad_recipient, not_graduated, orders_unset, wrong_relayer, not_sponsored, busy, deadline_too_soon, simulation_failed, market_paused, fee_too_low, broadcast_failed, not_found, too_large, unsupported_media_type, rate_limited, internal, nothing_to_claim, overloaded, simulation_unavailable, relayer_underfunded, misconfigured, unavailable, reverted_before, sponsor_budget.
完整参考文档,包含每种订单的每个字段、响应格式以及每种错误的处理方法:docs/RELAYER_API.md。读取 API 的详细说明:docs/API.md。