Skip to main content
On-chain TVM global version 12, sandbox TVM global version 11.
This page provides gas consumption benchmarks for TON wallet contracts,
measured in both sandbox (local testing) and on-chain (testnet) environments.

Single transfers

Gas costs vary between sandbox and on-chain due to different VM configurations, but the relative comparison between wallet versions remains consistent.
Wallet VersionSandbox (gas)On-chain (gas)Notes
V32,9942,494Baseline, most efficient for single transfers
V43,3082,808+10% vs V3, adds plugin support
V54,9394,439+65% vs V3, supports gasless & batch
Highload V36,2006,200+107% vs V3, but highly efficient for batches

Batch transfers

Wallet VersionSandbox (gas)On-chain (gas)Notes (12 messages are chosen for simplicity)
V314,760-Supports up to 4 messages per transaction
V511,39210,892Efficient with batch compared to V3/V4
Highload V37,9567,911Less gas, but uses 2 transactions for batch

Total cost

Wallet VersionSingle Transfer4 Messages12 Messages50 Messages
V30.0022648 TON0.0048448 TONN/A
V40.0023872 TON0.0049704 TONN/A
V50.0031356 TON0.0059768 TON0.0137208 TON0.05052 TON
Highload V30.0036404 TON0.0158308 TON0.0521892 TON
Keep in mind that Highload V3 is using two transactions for batch transfers, this incur additional fwd fee costs. For example, if we use 12 messages for simplicity, total cost is:0.0137208 TON for Wallet V5 (1 transaction with 12 messages).
0.0145344 TON for Wallet V3 (3 transactions with 4 messages each).
0.0158308 TON for Highload V3 (2 transactions with 12 messages).
Key insights:
  • V5 has higher gas overhead for single transfers (+65% vs V3) but becomes efficient with batch operations. Supports up to 255 messages per transaction.
  • Highload V3 is expensive for single transfers but becomes highly efficient at scale:
    • Gas cost doesn’t change with the number of messages in a batch
    • 100 messages: ~79 gas/msg
    • Designed for handling thousands of transactions
"Wallet V3 batch 4 messages": {
    "gas": 4920,
    "compute_fee_nanoton": 1968000,
    "storage_fee_nanoton": 0,
    "import_fee_nanoton": 1276800,
    "total_fwd_fees_nanoton": 1600000,
    "forward_only_nanoton": 1066676,
    "action_fee_nanoton": 533324,
    "total_fee_nanoton": 3778124,
    "reported_total_nanoton": 3778124,
    "true_network_total_nanoton": 4844800,
    "transactions": 1
}

"Wallet V5 batch 12 messages": {
    "gas": 12826,
    "compute_fee_nanoton": 5130400,
    "storage_fee_nanoton": 0,
    "import_fee_nanoton": 3790400,
    "total_fwd_fees_nanoton": 4800000,
    "forward_only_nanoton": 3200028,
    "action_fee_nanoton": 1599972,
    "total_fee_nanoton": 10520772,
    "reported_total_nanoton": 10520772,
    "true_network_total_nanoton": 13720800,
    "transactions": 1
}

"Highload V3 batch 12 messages": {
    "gas": 7956,
    "compute_fee_nanoton": 3182400,
    "storage_fee_nanoton": 0,
    "import_fee_nanoton": 4096400,
    "total_fwd_fees_nanoton": 8552000,
    "forward_only_nanoton": 5701381,
    "action_fee_nanoton": 2850619,
    "total_fee_nanoton": 10129419,
    "reported_total_nanoton": 10129419,
    "true_network_total_nanoton": 15830800,
    "transactions": 2
}

Methodology

Sandbox measurements:

Framework: Blueprint + @ton/sandbox
Wallets: implementations from @ton/ton (V3R2, V4, V5R1) and Highload V3 sources
Test scenario: Simple transfer of 0.01 TON with PAY_GAS_SEPARATELY mode

On-chain measurements:

Network: TON testnet
Wallets: Same implementations as sandbox
Measurement: Actual transaction gas consumption from explorer data
Absolute gas numbers may vary slightly due to:
  • VM configuration differences (sandbox vs on-chain)
  • Message size or the way you construct the message
The relative comparison between wallet versions remains consistent across environments.

Use case recommendations

Based on cost-effectiveness: For retail users (1-10 transactions/day):
  • Use V3 or V4 — most cost-effective for single transfers (2,994 gas baseline)
  • V5 adds 65% gas overhead for single transfers but provides modern features
  • Total cost difference negligible for low volume; choose based on feature needs
For moderate volume (10-100 transactions/day):
  • Use V5 for batch operations — 6% savings vs V3 for 12-message batches
  • Single V5 batch (255 msgs) more efficient than multiple V3/V4 batches
  • V5 supports up to 255 messages per transaction vs V3/V4 limit of 4
For high volume (100+ transactions/day):
  • Highload V3 becomes efficient with large batches
  • Designed for exchanges and payment processors (different processing approach)
  • Gas cost remains constant regardless of batch size (unlike V3/V4/V5)
  • Note: Uses 2-transaction approach resulting in ~1.8x higher forward fees
Gas comparison for batching:
  • Highload V3: 7956 gas per batch (flat cost regardless of batch size)
  • V5: ~1,069 gas/message for 12 messages (scales down with larger batches)
  • V3/V4: ~1,230 gas/message (limited to 4 messages per batch)

Code examples

Check gas-research and tolk-bench projects for code examples. Key features of the gas-research testing suite:
  • Comprehensive gas and fee breakdown analysis
  • Automated benchmarking across all wallet versions
  • Fee calculation helpers for precise cost analysis