Solana Rent及租金豁免:Rent费用扣除对应账户咨询
Solana Rent费用扣除规则解答
首先明确Rent的本质:Solana链上所有账户都需要占用节点存储资源,Rent就是针对存储占用收取的费用,扣费逻辑分两类完全独立的场景,对应你列出的4类账户的扣费规则如下:
场景1:新账户创建时的Rent扣费
当前Solana主网所有标准程序(系统程序、SPL Token程序等)创建新账户时,都强制要求账户存入足够SOL达到*Rent Exempt(免租金)*阈值,一次性支付后永久不需要再支付Rent,这部分费用统一从创建交易中指定的Payer Account扣除,和新账户的归属权无关:
- 创建新的Token Account时,从Payer Account扣对应账户大小的免Rent SOL
- 创建新的普通钱包账户(系统账户)时,从Payer Account扣对应免Rent SOL
- 部署智能合约(程序账户)时,从Payer Account扣合约存储大小对应的免Rent SOL
场景2:非免Rent账户的定期扣费
如果是网络早期创建的、未达到免Rent阈值的存量账户,网络会每1个epoch(约2天)自动扣除对应周期的Rent,这部分费用直接从被收取Rent的账户自身的SOL余额中扣除,不会关联其他账户:
- Token Account:从该代币账户自身存储的原生SOL余额扣费,不会扣除账户内持有的SPL代币
- Normal wallets:从普通钱包自身的SOL余额扣费
- Smart contracts:目前新部署的合约强制要求免Rent,基本不会触发这类扣费;如果是历史遗留的非免Rent合约,从合约账户自身的SOL余额扣费
注意区分Rent和普通交易手续费:交易手续费永远从交易指定的手续费付款账户扣除,和Rent的扣费逻辑完全独立。
补充说明
目前主网常规操作中几乎不会遇到定期扣Rent的情况,99%以上的Rent支出都是创建新账户时从Payer Account一次性扣除的免Rent预存,这部分SOL属于账户所有,账户关闭时可以将这部分SOL取回。
内容的提问来源于stack exchange,提问作者insaneray
相关产品推荐
相关产品推荐

