Газ на TON: как считается комиссия

Из чего складывается комиссия в TON: gas за вычисления, forward fee за сообщения и storage fee за хранение данных.

Газ и комиссии

На TON комиссия — это не одна цифра «gas limit × price», а сумма нескольких частей. Главные:

  • Compute fee — плата за инструкции TVM (газ)
  • Forward fee — плата за пересылку сообщения (размер в битах/ячейках)
  • Storage fee — плата за хранение состояния аккаунта во времени

Платится нативной монетой сети (Gram). Точные тарифы задаёт конфиг masterchain и могут меняться.


Из чего складывается плата

Упрощённо для одной транзакции:

text
total ≈ storage_fees + gas_fees + fwd_fees (+ возможные другие компоненты)

Forward fee зависит от размера сообщения:

text
msg_fwd_fees ≈ lump_price
             + ceil((bit_price * bits + cell_price * cells) / 2^16)

Чем больше тело сообщения и число ячеек — тем дороже доставка. Gas внутри контракта считается отдельно: каждая инструкция TVM имеет цену в gas.

typescript
// @ton/ton ^15.1.0 — оценка через эмуляцию/API зависит от провайдера;
// в Blueprint sandbox комиссии видны в результате транзакции.
// Пример: смотрим баланс до/после на testnet — разница ≈ комиссии + value.
import { TonClient, Address, fromNano } from "@ton/ton";

const client = new TonClient({
  endpoint: "https://testnet.toncenter.com/api/v2/jsonRPC",
});

const addr = Address.parse("0QD-SuoCHsCL2pIZfE8IAKsjc0aDpDUQAoo-ALHl2mje04A-");
const balance = await client.getBalance(addr);
console.log(fromNano(balance));

Для точной оценки используй sandbox (Blueprint) или эмуляцию транзакции у API — «угадывать» gas лимит как в EVM здесь менее полезно.


Как это работает

  1. Перед исполнением сеть резервирует средства под комиссии с баланса аккаунта.
  2. TVM тратит gas; неиспользованный compute может вернуться по правилам транзакции.
  3. Исходящие сообщения оплачивают forward fee (часто из value/остатка).
  4. Storage fee начисляется за время, пока аккаунт хранит данные; долго простаивающий «тяжёлый» аккаунт дороже держать.

get-методы через RPC не списывают gas с пользователя — их считает оффчейн-узел.


Частые ошибки

Класть огромный payload в одно сообщение → растёт forward fee и риск не влезть в лимиты; дроби данные или храни on-chain по ссылке/хешу.

Забывать про storage → контракт с раздутым data копит storage fee; чисти state.

Путать «газ контракта» и «комиссию кошелька» → пользователь платит за цепочку: external на кошелёк + internal + compute получателя.


Что дальше

Материалы gramdocs.tech носят образовательный характер и не являются финансовой, юридической или инвестиционной рекомендацией. Работа с блокчейном TON и токеном Gram связана с рисками потери средств. Правовая информация