关闭空代币账户已不再是让可退还租金变为可用资金的唯一方式。当 Solana 降低租金豁免最低额时,账户可以保持开启,同时持有超过所需金额的 SOL。两者之差就是超额租金。
可以在不关闭代币账户的情况下收回 SOL 吗?
是。 WithdrawExcessLamports 只会转移符合条件的代币账户中超过当前租金豁免储备的 SOL。账户保持开启,代币余额不变。Sol Incinerator 可以在扫描钱包时找到受支持的盈余,并在您签名前显示确切金额。
这适用于您仍需使用的账户。它可以持有同质化代币或标准 NFT,也可以仅保持就绪状态以便再次接收该代币。提取操作不会重新创建账户、更改其地址或影响其中持有的资产。
如果账户因其他原因持有多余的 SOL,例如 lamports 被直接转入其地址,此功能同样适用。 Token Program 指令 正是为这种情况设计的;租金下调使同一机制也适用于许多较早创建的账户。
提取盈余与关闭账户有何区别?
| 问题 | 提取超额租金 | 关闭空账户 |
|---|---|---|
| 账户是否保留? | 是 | 否 |
| 能否持有代币? | 是 | 必须为空 |
| 会转移哪些 SOL? | 高于实时储备额的余额 | 账户剩余 lamports |
| 能否再次符合条件? | 可以,在租金再次下调或新增 lamports 后 | 重新创建的账户采用当时适用的储备额 |
| 是否会销毁资产? | 否 | 不会;单独的销毁操作具有破坏性 |
Sol Incinerator 会将这些操作分开处理。空且可安全关闭的代币账户采用现有的空账户流程;有盈余且需要保留的账户采用非破坏性的超额租金流程。销毁是第三种操作,只有在您确实打算销毁资产时才应选择。
如何使用 Sol Incinerator 收回多余的 SOL?
- 开启 Sol Incinerator 并连接您的钱包。
- 等待只读扫描完成。仅查看预览无需签署任何内容。
- 在 Fun 模式中,将符合条件的超额租金作为非破坏性收回类别检查,并核实其源账户。
- 合并操作时,检查选定的超额提取是否与正在关闭或销毁的账户冲突。
- 核对收回总额、协议费、预计网络成本、受影响的源账户和净变化。
- 只有在这些详情与您的意图一致时,才在钱包中批准交易。
- 确认后,所选账户会保持开启,余额等于或高于当前租金储备。
随着租金设置、账户余额或其他清理选择发生变化,不同扫描之间的预览也可能变化。请核对最终的钱包交易,不要依赖文章或较早扫描中复制的金额。
哪些代币账户符合条件?
网站会检查钱包所有的经典 SPL Token 和 Token-2022 账户。保留的账户仍可包含代币;是否符合条件取决于其 lamports、数据长度、当前租金储备和权限,而不是代币余额是否为零。
计算会因账户而异:
gross excess = current source lamports − current rent-exempt reserve
Token-2022 扩展可能增加账户大小,因此两个账户所需的储备未必相同。已在较早阶段提取过盈余的账户,其可提取金额可能少于按旧版设置创建且从未提取过的账户。
网站还可以验证一组有限的钱包可见铸币账户。仅当连接的钱包是其当前的单签铸币权限时,才会包含该铸币账户。铸币账户收回还涉及其他签名者情况,详见 如何从 Solana 代币铸币账户中收回多余的 SOL.
提取后哪些内容保持不变?
只有超过储备额的 lamports 会被转移。该操作会保留:
- 代币账户地址;
- 代币铸币账户和所有者;
- 原始代币数量;
- 铸币供应量;
- 账户扩展及其他序列化数据;以及
- 足够的 SOL,以继续保持租金豁免。
这意味着标准 NFT 可以继续留在其代币账户中,同质化代币余额也仍可照常使用。该交易仍会在链上公开,但并非代币转移、销毁或关闭账户。
费用如何计算?
Sol Incinerator 的 Assetcinerator 封装程序会对超额总额收取 200 个基点的协议费:
protocol fee = floor(gross excess × 200 ÷ 10,000)
user amount before network fee = gross excess − protocol fee
金额较小时,向下取整尤其重要,因为 Solana 以整数 lamports 记账。网络成本另行计算;如果符合条件的交易使用费用赞助,还应检查报价中的回收费用。因此,即使源账户在技术上符合条件,极少的盈余总额也可能无法带来有意义的净收益。
为什么 Sol Incinerator 可能跳过某个账户?
账户可能因多种安全或协议原因被排除:
- 无实时盈余: 其 lamports 已等于当前储备额。
- 为空且可关闭: 完整关闭流程可以改为收回账户中的剩余余额。
- 原生封装 SOL: Token Program 会拒绝对原生账户执行此指令。
- 锁定的 CPI Guard: Token-2022 账户可能会阻止封装程序的跨程序调用。
- 操作冲突: 同一来源已被选用于销毁、关闭或其他更改操作。
- 受保护的目标账户: 清理流程会避免从另一个已选领取操作所需的目标账户中提取资金。
- 权限不匹配: 已连接的钱包无法提供该来源类型所需的签名者。
未显示某一行并不证明该账户不含 lamports。这只表示网站当前的操作方案未将其归类为安全且可执行的超额租金来源。
下一个租金阶段后还能再次收回吗?
可以。成功提取后,账户会保留当前所需的最低额。如果后续 Solana 功能门控再次降低该最低额,同一个保留账户就可能产生新的盈余。每次激活后重新运行只读扫描,并让实时预览计算差额。
这不同于现在就预测全部五个阶段的返还总额。推出过程可能暂停或逆转,个别账户也可能在此期间发生变化。仅领取网络和交易预览当前认定为盈余的金额。
如何核实提取,而不将其误认为销毁?
保存成功交易签名,并比较操作前后的所选账户。源账户应仍然存在,提取不应改变代币数量,而且应只有受支持的盈余被转移。如果交易合并了多个回收类别,请单独检查其他指令。
浏览器的摘要标签不是完整凭据。核对源账户与接收钱包,检查程序操作,并区分盈余总额和扣除成本后的钱包最终变化。成功提取盈余可以证明 SOL 回收,不能证明代币被销毁。
如果某项目在后续扫描中消失,可能意味着它已没有符合条件的盈余。这本身不代表账户已关闭。在判断发生了什么或是否需要其他操作前,请阅读交易并检查当前账户状态。
