Storage Fee
Регулярная комиссия в TON за хранение состояния контракта на цепочке. Списывается со счёта контракта пропорционально размеру данных и времени.
Синонимы: storage fee, плата за хранение, rent
Storage Fee — это TON-специфичная комиссия за постоянное хранение данных смарт-контракта в стейте сети. В отличие от Ethereum, где данные хранятся «вечно» бесплатно, в TON каждый контракт платит за свою «жилплощадь» в стейте.
Как считается
Storage-fee начисляется при каждой транзакции контракта и зависит от двух вещей:
- Размер хранимых данных в битах и cells (включая код контракта).
- Время с прошлой транзакции в секундах.
Формула — это произведение: чем больше данных и чем дольше контракт молчал, тем выше накопленная плата. Параметры цены задаются конфигурацией сети.
Зачем такая модель
Это решает проблему state bloat — типичная для Ethereum ситуация, когда тысячи неактивных контрактов навсегда занимают место в стейте, и валидаторам приходится держать его в памяти бесплатно. В TON владелец контракта мотивирован не оставлять «мертвые» контракты с большим состоянием — за них продолжает капать счёт.
Практические следствия
- Кошельки нужно подкармливать. Wallet-контракт с маленьким балансом и большим временем простоя может в какой-то момент исчерпать средства на storage-fee. Сеть тогда контракт замораживает.
- Замороженные контракты. Если баланс ушёл в отрицательную зону, контракт переходит в состояние
frozen. Чтобы его вернуть, нужно перевести на адрес TON для покрытия долга и unfreeze-сообщение. - Storage deposit. Обычно к контракту при деплое привязывают небольшой запас TON (0.01–0.1 TON) — этого хватает на годы простой работы.
Для типичного пользовательского кошелька storage-fee — несколько центов в год. Для крупных DEX-контрактов с сотнями килобайт состояния речь уже идёт о заметных суммах ежегодно.