Guides · Explorer ·

TON fees: what is deducted on a transfer

A transfer on TON is charged in GRAM for three things: storage of the contracts involved, gas for the code that runs, and forward fees for every message the transaction sends on. A plain GRAM transfer typically costs a few thousandths of a GRAM.

A jetton transfer costs more because it runs several contracts: your wallet, your jetton wallet, the recipient’s jetton wallet. Gram Wallet attaches 0.05 GRAM to cover that chain and names your wallet as the response address, so whatever is not spent comes back as an excess message.

Before you sign, the review screen shows a fee estimated by emulating the exact message against current chain state.

Open Tongram

What this covers

  • Covers plain GRAM transfers, jetton transfers and NFT transfers sent from Gram Wallet on TON mainnet.
  • Fee amounts named here are what the wallet attaches or reserves, not a tariff. The network charges are set by chain configuration and change.
  • Does not cover swap or staking contracts, which attach their own gas amounts.

Steps in Tongram

  1. Open Gram Wallet and press Send. For a GRAM transfer the form shows "fee ≈ 0.005 GRAM" under the available balance; the wallet keeps 0.01 GRAM back so the fee can be paid.
  2. Enter recipient and amount, then Review. The outcome box lists what leaves the wallet and "network fee ≈", computed by emulating the signed message.
  3. For a jetton, the review screen shows the token contract and decimals. The outcome lists the token amount leaving and the GRAM fee; the 0.05 GRAM attached is not the fee.
  4. After confirmation, open the transaction in Explorer. The transaction page shows the fee actually charged, and an incoming excess message from the jetton wallet returns the unused part.
  5. To empty a wallet, use Send all. Fees are then taken from the amount itself instead of from a reserve.

What you see and where it comes from

  • The fee estimate comes from tonapi wallet/emulate, which runs the signed message against current state and reports the sender’s net cost.
  • Actual fees on the transaction page come from Toncenter transaction data: total fees, compute and action phase results.
  • The 0.05 GRAM attached to jetton and NFT transfers, the 0.01 GRAM reserve and the 0.005 GRAM hint are constants in the wallet, not network figures.
  • Whether an excess came back is visible as an incoming transfer from the jetton wallet, usually within the same block or the next one.

Freshness and limits

  • The emulated fee is an estimate at preview time. Gas prices, storage due and the recipient’s state can differ at execution.
  • If the recipient’s jetton wallet does not exist yet, it must be deployed during the transfer, which uses more of the attached 0.05 GRAM.
  • When emulation is unavailable, the wallet says "nothing has been simulated" and lets you send anyway; the fee is then unknown until confirmation.
  • An uninitialised recipient address still accepts GRAM, but its storage fee starts accruing once it is deployed.

Common mistakes

  • Reading 0.05 GRAM as the jetton fee. It is the value attached to run the transfer; most of it returns as an excess.
  • Sending the entire balance without Send all. The transfer fails when nothing is left for the fee.
  • Expecting the fee to be identical every time. Storage fees depend on how long a contract went unpaid.
  • Judging cost from the amount field alone. The outcome box is where the total GRAM leaving is shown.

Sources

Related