Solana 代币账户租金详解:为什么每个账户锁定 0.00203928 SOL
Solana 租金(更准确地说是租金豁免押金)是一笔 可退还的押金,而不是费用:每个代币账户都必须持有 0.00203928 SOL——即 2,039,280 lamport——的 租金豁免最低余额才能保留在链上,而关闭账户时这笔金额会全额 返还给你。这个数字针对的是标准的 165 字节 SPL 代币账户,也就是 你的钱包第一次收到某种代币时自动创建的那种账户。在账户被关闭 之前,押金会一直锁在里面。
这篇科普将讲解 Solana 租金的工作机制、这个精确数字的来源、 谁在为它付费,以及拿回这笔钱的唯一办法。
什么是 Solana 租金?
在 Solana 上,所有数据都存储在账户里,而存储是有成本的——
验证者必须保存每个账户的字节数据,网络因此要收取费用。要保留
在链上,账户必须持有与数据大小成比例的最低 lamport
余额,计算公式是
(账户大小 + 128) × 每字节每年 3,480 lamport × 2 年。
一旦低于这个最低余额,账户就可能被网络连同其中的数据一起清除。
在实践中,每个账户在创建时都会直接存入租金豁免最低余额—— 大约相当于两年的租金——所以永远不会按 epoch 收费。只要账户 存在,这些 lamport 就留在账户里:它们是被托管,而不是被花掉。 这就是为什么用租金豁免押金来描述这个机制比 租金更准确,也是为什么 Solana 官方文档 把它描述为每个账户为了保留在链上必须持有的可退还最低余额。
为什么恰好是 0.00203928 SOL?
一个标准的 SPL 代币账户采用固定的 165 字节布局——铸币地址、
所有者、余额、委托信息、关闭权限,以及若干标志位。代入公式
计算即可得到
(165 + 128) × 3,480 × 2 = 2,039,280 lamport,
恰好等于 0.00203928 SOL。
lamport 是 Solana 的最小单位——1 SOL 等于十亿 lamport—— 所以 0.00203928 SOL 和 2,039,280 lamport 是同一笔押金的两种 写法。由于几乎所有的代币账户都共享这个 165 字节布局, 同一个数字会出现在各种钱包和浏览器里。存储数据更多的账户 需要成比例更高的押金,Token-2022 的情况正是如此。
谁在支付这笔租金押金?
是你——而且是在不知不觉中支付的。当你第一次收到某种代币时, 你的钱包(或你正在使用的应用)会为该铸币地址创建一个代币 账户,并在同一笔交易里从你的 SOL 余额中扣除押金为其充值。 这笔金额很小,创建过程又发生在兑换、转账或铸造的背后, 所以大多数人从未察觉。但这个账户归你所有,账户里的押金 也归你所有。
为什么空账户不会自行删除
卖掉或转走代币的最后一个单位并不会关闭它的账户——关闭需要 一条显式的链上指令,而大多数钱包为了帮你省一次签名和一笔 手续费会跳过这一步。结果就是一个仍然锁着你 0.00203928 SOL 的空账户。在几十个代币上重复这个过程,被锁定的总额就相当 可观了。具体的分步找回方法见我们的 空代币账户 SOL 回收指南。
Token-2022 账户呢?
Token-2022 是 Solana 的新一代代币程序,它改变了租金的计算 方式。它的账户可以携带扩展——转账手续费、转账钩子 (transfer hook)、默认账户状态等等——而每个扩展都会为账户 增加字节。字节越多,租金豁免最低余额就越高,所以带有多个 扩展的 Token-2022 账户锁定的金额可能明显高于 0.00203928 SOL。押金本身的机制完全相同:关闭账户,其中的 每一枚 lamport 都会回到你的钱包。完整解读见 Token-2022 与 SPL 代币程序对比。
如何拿回你的押金
关闭账户是释放押金的唯一方式,这样做会把锁定的 lamport 100% 返还给你的钱包。SolReclaim 会同时扫描两个代币程序—— 经典的 SPL Token 和 Token-2022——找出所有空账户,并把你的 选择合并进一笔批量交易来完成关闭:
- 连接钱包。 Phantom、Solflare 或任何 Wallet Standard 钱包——只会共享你的公开地址。
- 扫描。 两个代币程序在几秒内检查完毕, 你能看到每个余额为零的账户以及锁定的租金总额。
- 核对。 每个候选账户都会列出其铸币地址 和押金金额。标准模式只显示余额为零的账户,因此不存在 代币丢失的风险。
- 只签名一次。 一笔批量交易即可关闭所有 选中的账户——先在钱包中核对指令列表,再签名。
- 拿回 SOL。 押金会在同一笔交易里回到 你的钱包,你可以在任意 Solana 浏览器上验证结果。
那些仍持有粉尘代币或垃圾 NFT 的账户则是另一回事——它们不是 空的,直接关闭会销毁其中的代币。SolReclaim 的可选「深度清理」 模式会燃烧这些资产以回收租金;燃烧是不可逆的,而 USDC、WSOL、BONK 等主要代币始终会被隐藏。如果你的情况属于 这种,请阅读 如何安全删除垃圾 NFT 和粉尘代币。
小贴士:押金可以全额退还——扫描免费, 0.9% 的服务费只从实际回收的金额中扣除。回收不到, 就不收费。
常见问题
Solana 租金押金可以退还吗?
可以。租金豁免最低余额是押金,而不是成本。关闭代币 账户时,其中的每一枚 lamport——标准账户的全部 0.00203928 SOL——都会返还给出签名关闭的钱包。
为什么每个代币账户都锁定 0.00203928 SOL?
因为大多数代币账户采用相同的 165 字节布局,而租金 豁免最低余额按账户大小计算:(165 + 128) × 每字节每年 3,480 lamport × 2 年 = 2,039,280 lamport = 0.00203928 SOL。存储数据更多的账户锁定的押金也更多。
我需要每个 epoch 都付租金吗?
不需要。只要账户持有租金豁免最低余额,就不会被收取 周期性租金。豁免余额本身会一直锁在账户里,直到账户 被关闭,届时将全额退还。
为什么我的某些账户锁定的金额超过 0.00203928 SOL?
通常是因为它们是带有扩展的 Token-2022 账户。扩展会 在账户内部存储额外数据,账户越大所需的租金豁免最低 余额就越高,差异会随着扩展数量增加。无论如何,关闭 账户都会退还全部押金。