发布于 2026-09-27
我给 Qwen 3.8 Max 一把 MoneyKey 和 0.09 美元预算,它在 Monad 主网上自己买了 Nansen 的数据
Monad Metropolis 黑客松稿件(Qwen 3.8 Max 与 Nansen 赏金)。文中每一笔交易都在 Monad 主网上,可以在 monadvision.com 查到。
问题
「Monad 上最近 24 小时什么最热?聪明钱在买吗?」
这个问题问起来容易,答好却要花钱。数据是现成的:Nansen 有代币排行、资金流向、聪明钱标签,也都支持 Monad,但它是按次收费的。所以真正的问题是:AI Agent 能不能自己判断哪些数据值得买,自己付钱,并且不超出人给它设的预算?
MoneySwitch 就是干这个的。它给 Agent 发一把 mk_live_… 开头的 MoneyKey,也就是「花钱用的 API Key」。它不是私钥,也不是钱,而是一张可以随时吊销的花钱许可:有总额度、单次上限和允许访问的网站白名单。Agent 调用 POST /v1/fetch,MoneySwitch 先检查策略,再签名,然后从本地一个只放小钱的钱包里,用 USDC 付掉卖方的 x402 账单。Agent 自始至终碰不到私钥。
这次运行用的 MoneyKey 只能访问 api.nansen.ai,单次最多 0.05 美元,总共 0.09 美元。
为什么是 Nansen
Nansen 通过 x402 v2 出售它的 API。更关键的是,它的 402 账单接受 Monad 主网上的 USDC(eip155:143),通过 Molandak 结算,这也是 Monad 官方文档里用的那一家。不用注册 Nansen 账号,也不用 API key:不带凭证发请求,会先收到 402 Payment Required;客户端签一个 EIP-3009 的 USDC 授权后重发,就能拿到数据。基础接口每次 0.01 美元,聪明钱接口每次 0.05 美元。
Agent 的目录里有 5 个接口,链参数都是 monad:
| 接口 | 价格 | 用途 |
|---|---|---|
POST /api/v1/token-screener | $0.01 | 代币排行:成交量、涨跌幅、买卖量、净流入、流动性;可按 only_smart_money、include_stablecoins 等筛选 |
POST /api/v1/tgm/flow-intelligence | $0.01 | 单个代币按人群划分的净流入:聪明交易者、巨鲸、盈利榜、公众人物、交易所、新钱包 |
POST /api/v1/tgm/dex-trades | $0.01 | 某个代币在一段时间内的 DEX 逐笔成交 |
POST /api/v1/smart-money/netflow | $0.05 | 全链聪明钱净流入,可按 net_flow_24h_usd 排序 |
POST /api/v1/smart-money/holdings | $0.05 | 聪明钱当前持仓 |
这些请求的参数格式有自动测试守着,拿来和 Nansen 公开的 OpenAPI 定义(https://api.nansen.ai/openapi.json)逐项比对。为什么要这样做,后面会讲。
为什么是 Qwen 3.8 Max
这个 Agent 就是一个普通的工具调用循环。Qwen 3.8 Max(qwen3.8-max,走阿里云的 OpenAI 兼容接口)拿到两个工具:money_status(查还剩多少预算)和 nansen_query(从目录里买一次数据),再加一段系统提示:你是一名链上分析师,USDC 预算是硬上限;先说出计划;优先买能回答问题的最便宜的数据;不买重复的数据;下一次买不起就停;每一分钱都要交代清楚。
没有任何写死的「研究流程」。下面每一个决定,买什么、按什么顺序、什么时候升级到 0.05 的接口、什么时候停,都是 Qwen 自己做的。
它实际做了什么
1. 先查预算,买最便宜的($0.01)。 代币排行,Monad,24 小时,按成交量排序。结果:USDC 1060 万美元,MUSD 430 万,WMON 170 万,WETH 160 万,EURW 150 万。
Qwen 的判断是:「几乎全是稳定币和包装资产,谈不上『热』。」 它没有拿这个结果交差,而是又花了一分钱。
2. 换个问法重新问($0.01)。 还是代币排行,但排除稳定币,改按 24 小时涨幅排序。真正在涨的币这才出现:ANAGO +18.8%、EMO +13.7%、SHRAMP +13.1%、FLING +7.0%、BOB +4.5%,全是小市值币。
3. 付高价之前,先便宜地查涨幅第一的币($0.01)。 查 ANAGO 的资金流向:聪明交易者、巨鲸、盈利榜、公众人物、新钱包,所有有标签的人群净流入都是 0,只有交易所那一栏有变动(−1320 美元)。
4. 再便宜地查全链($0.01)。 代币排行加上 only_smart_money: true:0 条结果。
5. 到这一步才花钱买高价信号($0.05)。 Qwen 注意到「0 条结果」有两种可能:聪明钱真的没来,或者只是筛选条件把结果滤掉了。所以它买了专门回答这个问题的接口:全链聪明钱净流入,按 24 小时净流入排序,并且特意把稳定币和原生代币也包含进来,「这样结果就不会因为筛选条件而变空」。结果:全链 0 条。
结论: Monad 小币这 24 小时的上涨来自散户和机器人,ANAGO、EMO、SHRAMP、FLING、BOB 背后都没有聪明钱参与。ANAGO 的 +18.8% 只靠大约 2100 美元的成交量推起来,而它的流动性只有 1.47 万美元。Qwen 还主动说明了自己的不确定(「无法区分『聪明钱真的没来』和『Nansen 在 Monad 上的聪明钱覆盖还不完整』」),并且没有采用明显有问题的字段,比如部署日期显示为 1970-01-01 的代币年龄数据。
最后它给出一张账单:
| 调用 | 价格 | 交易(Monad 主网) |
|---|---|---|
| 代币排行,按成交量 | $0.01 | 0xb227e30f…d540 |
| 代币排行,按涨幅 | $0.01 | 0xc739c432…163f |
| 资金流向,ANAGO | $0.01 | 0x99bf9da6…2cb8 |
| 代币排行,只看聪明钱 | $0.01 | 0x5fab3819…f33b |
| 聪明钱净流入(高价) | $0.05 | 0xb7df9976…e0b6 |
| 合计 | $0.09 | 预算正好用完,一分没超 |
5 笔我们都独立核实过:每一笔的交易回执状态都是成功,里面都有一条从 Agent 钱包转到 Nansen 收款地址的 USDC Transfer;钱包链上余额正好少了 0.09 美元。钱包里 一个 MON 都没有,gas 由结算方代付。
Qwen 带来了什么
- 看着价目表做规划。 它把 0.01 和 0.05 当成真实的取舍:先用三次便宜的查询缩小问题,最后才用一次贵的查询确认。一个天真的 Agent 会一上来就调最贵的接口。
- 会换问法,而不只是重试。 第一次排行结果严格说也算一个答案,但 Qwen 意识到那是错的答案,于是改了排序和筛选条件。
- 诚实面对不确定性。 「0 条结果」被它当成一个需要验证的说法,而不是直接当结论;最后的回答也写明了数据回答不了什么。
- 会记账。 它把真正花掉的钱(有交易哈希)和只是冻结的钱(见下一节)分开,两样都报告。
那次让它变得更好的失败
第一次真实运行出了一个很有教育意义的错。我们手写的两个接口参数格式和 Nansen 的实际 API 对不上:smart-money/netflow 根本没有 timeframe 字段;flow-intelligence 要的是单数 chain,时间范围要写 1d 而不是 24h。对这两个已付款的请求,Nansen 返回了 HTTP 422,而且没有结算。
接下来发生了三件事,现在我们都依赖它们:
- 钱一分没动。 钱包余额只少了那一笔成功的 0.01 美元。
- MoneySwitch 选择冻结额度,而不是去猜。 签过名的 EIP-3009 授权在过期前一直有效,卖方理论上还能晚点结算。所以那 0.06 美元被冻结,而不是马上退回。授权过期后,MoneySwitch 的对账程序去问 USDC 合约(
authorizationState)这些授权有没有被用过,确认没有之后,把它们标成NOT_SETTLED_EXPIRED,额度随即恢复。 - Agent 学会了说「冻结,没花」。 第一次运行里,Qwen 把那 0.06 美元报成「被扣了,却没有交易哈希可以申诉」,这个抱怨很合理。现在工具会明确告诉它哪笔钱只是冻结、等待过期;接口目录也改成按 Nansen 的 OpenAPI 定义来写,并配了测试,两边一旦对不上,测试就会失败。
这件事为什么重要
给 Agent 用的付费 API 正在到来,x402 已经把「付钱」这一步变简单了。难的是「授权」这一步:这个 Agent 能花多少、能花在哪、怎么叫停。MoneyKey 用开发者早就熟悉的方式回答这个问题:它就像一个 API Key,有预算、有白名单、有一键吊销,而且策略在任何签名之前就执行。
Qwen 3.8 Max 展示了另一半:给它预算和价目表,一个能干的模型花起钱来像分析师,而不是像一个死循环。
试一试: npx moneyswitch demo(离线演示)· 代码:https://github.com/dongsheng123132/moneyswitch · Agent:apps/qwen-agent · 操作手册:docs/nansen-mainnet.md