← JournalEconomics · 4 min · Feb 10, 2026

Zero gas on testnet: why it's free and what changes on mainnet

Sanect testnet has zero gas fees — you can transact without holding SNCT. This is intentional for testnet, but mainnet will charge gas. Here's why.

in brief4 min read

Explains why the early Sanect testnet ran with a zero min-gas-price, how the faucet, MetaMask setup and WERC20 precompile fit in, and what changes with non-zero gas on mainnet.

  • The early testnet set min-gas-price to 0asnct at genesis so gasPrice: 0 transactions were valid at the protocol level.
  • Zero gas was chosen for friction removal, cheap shielded-pool integration testing, and isolating protocol bugs from economic design.
  • The testnet faucet dispensed 100 SNCT per day per address; mainnet gas is non-zero for spam resistance and staker revenue.

What "Zero Gas" Actually Means

On most blockchains, every transaction requires you to own some amount of the native token to pay for computation. On Sanect testnet, this requirement is removed. The min-gas-price parameter in genesis is set to 0asnct, which means nodes will accept and process transactions with zero fee attached.

This is not a faucet subsidy or a fee waiver at the application layer. It is a protocol-level configuration. When you submit a transaction with gasPrice: 0, it is valid — validators accept it, include it in a block, and execute it. There is no special code path; the chain just doesn't require payment.

Why We Did This for Testnet

The decision to run zero gas on testnet comes down to three things:

  • Friction removal. Anyone can try Sanect immediately after adding the network to MetaMask. There is no prerequisite step of acquiring SNCT before you can do anything. Developers can deploy contracts, users can test shielded transfers, integrators can query the chain — all without first visiting a faucet.
  • Shielded pool testing. Generating an UltraHonk proof and verifying it on-chain is computationally intensive. If every shielded transfer required paying gas, the cost of running a full integration test suite would become a real barrier. Zero gas means you can run hundreds of test deposits and withdrawals without worrying about token balances.
  • Focus on the protocol. Testnet exists to find bugs, not to simulate mainnet economics. Introducing gas costs on testnet would mix two concerns — protocol correctness and economic design — and make it harder to isolate which one a given problem belongs to.

The Faucet Still Matters

Even with zero gas, you still need SNCT to test staking, governance voting, and shielded transfers (which require tokens to shield). The testnet faucet dispenses 100 SNCT per day per address. This covers all realistic testing scenarios:

  • 100 SNCT is enough to test a shielded deposit and withdrawal multiple times
  • Governance proposals require a deposit (in SNCT) to enter the voting period
  • Staking any amount lets you observe delegation, unbonding, and reward distribution

The faucet limit exists to prevent one address from draining the genesis supply. The full 1 billion SNCT genesis allocation sits at a genesis address; the faucet draws from it.

What Changes on Mainnet

On mainnet, min-gas-price will be non-zero. The exact value will be set via governance at or before launch — it is not a parameter the team controls unilaterally once the chain is live.

Non-zero gas has two economic effects:

  • Spam resistance. Every transaction costs something. Flooding the mempool with junk transactions becomes economically costly rather than free. This is the primary reason public networks charge gas.
  • Additional staker revenue. Transaction fees are distributed to validators and delegators on top of inflation rewards. This supplements the inflation-based incentive with a fee-based one, which becomes more important as inflation decreases over time toward its floor.

The transition from zero gas to non-zero gas is the most significant difference between the testnet and mainnet user experience. If you are building on Sanect, plan for it now — don't assume users will always have a free path to transact.

Adding Sanect to MetaMask

To connect MetaMask to the Sanect testnet, use these parameters:

  • Network name: Sanect Testnet
  • Chain ID: 76287
  • Currency symbol: SNCT
  • RPC URL: available at sanect.com/docs/rpc

Once added, your MetaMask address works as-is. The same address you use on Ethereum mainnet, on any EVM chain, is your address on Sanect. No new seed phrase, no new account.

Native SNCT as an ERC-20

Sanect includes a WERC20 precompile at 0xEeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE. This address exposes a standard ERC-20 interface over the native SNCT balance. Any contract expecting an ERC-20 token — a DEX router, a lending protocol, a bridge — can use this address directly without requiring a wrapped token.

The precompile is available on both testnet and mainnet. Because it reflects the native balance, there is no wrapping transaction, no WSNCT/SNCT price discrepancy, and no liquidity fragmentation between native and wrapped forms.

Questions this answers3 · straight from the article
Why did the Sanect testnet run with zero gas?

To let anyone try the chain immediately after adding it to MetaMask, to make hundreds of UltraHonk shielded-transfer tests affordable, and to keep testnet focused on protocol correctness rather than economics.

Did you still need SNCT on the zero-gas testnet?

Yes, for staking, governance deposits and shielding tokens. The faucet dispensed 100 SNCT per day per address, drawn from the 1 billion SNCT genesis allocation.

What is the WERC20 precompile on Sanect?

At 0xEeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE it exposes a standard ERC-20 interface over the native SNCT balance, so DEX routers or lending protocols use it directly with no wrapping or liquidity fragmentation.

— end · last updated
Share on X ↗ Discuss on Telegram ↗