取消订阅,我们连租金押金都退——为什么 Finality 从没把这当成可选项
在 Finality 关闭一个订阅金库,一笔交易退回所有东西:没用完的余额,和那几毛钱谁都懒得退的链上租金。一个小小的产品决策,定义了'非托管'三个字到底是什么意思。
先给答案:顾客在 Finality 关闭一个订阅金库时,一笔交易做完三件事:停止之后的所有扣款、退回全部未用余额,以及退还租金押金——Solana 要求每个链上账户持有的那一小笔 SOL。最后这项通常不到一美元。这个行业里几乎没有人退它。这篇文章讲的是:为什么在我们这儿,退不退它从来就不是一个可以讨论的问题——以及这个小决定,泄露了"非托管"三个字如果当真,到底得是什么意思。
先说清楚这笔押金是什么
Solana 对链上存储收租。任何账户——包括顾客为订阅充值的那个金库——必须持有一个最低余额("免租额度")才能存在。它不是费用,是押金:账户关闭,这笔 lamports 就回来。
所以顾客在 Finality 开一个订阅时,他掏的钱其实分三种:订阅扣款(按焊死在金库地址里的计费条款,归商户)、预存的余额(始终是他自己的),和这笔租金押金(只要金库存在,就押在链上)。
前两种的归属一目了然。有意思的是第三种——这个问题安安静静地把支付平台分成了两类:那笔押金,最后归谁?
行业默认答案:零钱没人退
在大多数加密产品里,小额残余余额被当成四舍五入的噪音。账户被遗弃而不是被关闭;押金永远锁在里面;有时候"关闭"压根就不是一个存在的按钮。金额小到没人投诉,于是没人去修这条路,于是这笔钱——在一切实际意义上——就是没了。
我们理解这个选择背后的经济学。一笔租金押金也就五毛钱上下。而做一个正经的关闭指令——退回 SPL 余额、关闭代币账户、把剩下的每一个 lamport 扫回去、清掉金库数据——是实打实的工程量。摆在报表上,这笔投入永远回不了本。
那个决定,当时是怎么发生的
设计关闭金库的指令时,这个问题以它惯常的方式冒了出来——一次小小的范围讨论:关闭时把租金也退了,还是只退余额?
我们落定的答案,后来成了一条到处适用的设计规则:归属不随金额缩放。押金是顾客的钱。别人的五毛钱,也是别人的钱。一个嘴上说"你的资金、你的私钥"、转头悄悄把零钱留下的平台,跑的是营销话术,不是架构。
所以在 Finality,关闭订阅是一笔交易:全部代币余额退回 owner 钱包,金库的代币账户关闭(那份租金随之回流),金库里剩余的每一个 lamport 扫回 owner,账户数据清零。没有残留,没有"小额余额请联系客服找回"。金库以它开始的方式结束:所有东西回到顾客手里,任何人都能在链上验证。
还有个我们暗自得意的细节:关闭之前不需要先走一步"取消"。关闭蕴含取消——一次签名,全部拿回。从来没有人想要两步走的版本。
然后我们又往前多走了一步
做这个功能时,一个更难看的边缘情况浮出水面:如果有人在金库已经关闭之后,误把钱转了进去呢?在大多数平台上,转进死地址的钱等来的是悼词,不是工单。
我们为此又做了一条链上指令:从已关闭的金库里回收误转资金,归属由地址派生本身证明——金库地址在数学上焊死了它的 owner,所以即使账户数据已经清空,链依然能验证这笔钱属于谁。转错窗口的、交易所提现姗姗来迟的——都拿得回来,由 owner 自己,在链上。
这有商业上的理由吗?说实话没有。有的是一致性上的理由:"你的钱永远拿得回来"要么是这个系统的性质,要么就是假话。它不能对余额成立、对零钱不成立;不能关闭前成立、关闭后不成立。性质没有例外;有例外的叫政策。我们要的是性质。
我们现在检验每个功能都用这个问题
这个小决定给了我们一把从此用在所有地方的尺子:如果 Finality 明天消失,顾客不靠我们,能不能拿回一切?金库的计费条款由链执行,不靠我们的善意。关闭路径退回一切,包括押金。误转回收靠的是地址数学,不是我们运营的某个数据库。商户的每一笔货款直接结算进自己的钱包,也是同一个原因。
这把尺子,就是"非托管"的诚实含义。数字大、所有人都盯着的时候及格,不难。租金押金是那个照妖镜:数字只有五毛钱、根本不会有人注意的时候,一个平台还过不过得了这把尺子。
我们做出了业界第一个真加密订阅——从顾客自控的金库自动扣款。租金退还只是那套架构的一个脚注。但如果你想知道一个平台的原则是不是承重墙,去读它的脚注。
FAQ
租金押金到底多少钱?
通常远不到一美元的 SOL。这正是重点——小到留下也没人发现,所以退回去才是最诚实的信号。
关闭之前要先取消吗?
不用。关闭金库就停止了之后的扣款,并在一笔交易里退回一切——余额和押金。取消已经包含在关闭里。
关闭之后误把钱转进金库了怎么办?
链上可回收——归属由金库的地址派生证明,所以即使金库数据已清空,资金也能取回到你的钱包。
取消加密订阅能拿回钱吗?
没花掉的都能——这里的订阅退款是结构性的:剩余余额加租金押金,一笔交易,不用找客服。已按周期扣掉的部分归商户,如约。
关闭要手续费吗?
不要——而且诚实地说不可能要:押金从来不是我们的钱,为退还它收费,恰恰是这篇文章反对的那个行业默认。
一句话说清 Solana 租金?
链为链上存储要求的一笔可退押金——写给商户的租金经济学全文在这。
顾客关金库,商户会损失什么吗?
不会——已挣得的扣款早已结算、终局。退款只覆盖顾客没用掉的部分:他的余额、他的押金。
退款多快到账?
和关闭是同一笔交易——不存在处理周期,因为金库和顾客钱包之间没有任何处理商。
如果你正在评估加密世界的订阅计费,主标题在这里:真正自动扣款的非托管订阅是怎么工作的——还有一个沙盒,可以把完整的生命周期看一遍,包括把每一分钱拿回来的那部分。