诚实的答案是不能,至少用自托管钱包做不到。而这个原因值得弄明白,因为它恰恰也是这套做法安全的原因。
这一页先讲清楚这个约束,再讲那些在实践中真正管用的替代做法。ROZO Checkout 是一个独立的第三方收银台,与 OpenRouter 无隶属关系。

为什么 auto top-up 和自托管天然不兼容
auto top-up 的运作方式,是扣一个事先存好的支付方式。必须有人能在你不在场的那一刻把你的钱挪走。对信用卡来说,存卡的意义就在这里。
自托管钱包在设计上恰恰相反。每一笔付款都由你本人在付款当时签名。你睡着的时候没有任何东西能从里面扣钱,而这正是自己拿私钥的全部意义。
要把它自动化,两件事必须至少成立一件:要么由某个服务代你保管资金、代你花;要么你授予一个长期额度,让某个东西不用每次重新签名就能从你钱包里花钱。两条路交出去的,都是自托管本来要守住的那个东西。
这是一个真实的取舍,不是一个缺失的功能。托管型的卡片方案之所以能自动充值,正是因为它替你保管着钱。你要这份自动化,这就是价格。
余额归零时到底会坏成什么样
这里值得说具体一点,因为失败的方式并不体面。
一个长时间运行的任务不会礼貌地暂停下来等钱到账。请求开始失败,而根据你的客户端怎么处理错误,你可能收到一连串失败、一个只跑了一半的批次,或者一个在空余额上不断重试、白白烧时间的循环。在有人发现并手动充值之前,一切都是坏的。
代价很少是充值本身。代价是你得从头再跑一遍的那次运行,以及从余额归零到你发现之间的那段时间。
真正靠得住的替代做法
这些做法都不聪明。它们管用,是因为它们减少了这个问题出现的频率。
- 按你的消耗速度留缓冲,而不是按最低额度。如果一个高负载的日子会花掉某个数额,就在余额上留够好几天的量。一次充多点、少充几次,严格优于反复只充最低额。
- 在长任务开始前充,而不是跑到一半再充。你意识到某个批次会很贵的那一刻,正是加钱成本最低的时刻。
- 在你本来就会看的地方盯余额。一个你从来看不到的数字,就是一个会突然吓到你的数字。把它放在你反正会路过的位置。
- 让充值本身足够快,这样缓冲策略才行得通。这部分我们能帮上忙:粘贴链接,在钱包里确认,大约 30 到 90 秒搞定。手动之所以痛苦,只是因为手动很慢。
如果你还是想要完全自动化
那你选的就是一条托管路线,而你应该在取舍摆在面前时做这个选择,而不是等它到了身后才发现。
一个能自动帮你充值余额的服务,就是一个替你保管资金的服务。这不是在批评任何一款具体产品,这本来就是自动化能成立的前提。在把钱投进去之前值得问的,都是些无聊的问题:如果服务方暂停服务,我的余额会怎样;退款路径是什么;我存进去之后,取回这笔钱的条款还能不能改。
对大多数跑 agent 的人来说,一份缓冲加上一次 30 秒的手动充值,最后的运营风险反而比在别处放一笔常驻余额更小。