# Why does gas matter for stablecoin payments?

> Gas is the fee you pay to use a blockchain. On most chains, you pay it in a volatile cryptocurrency you didn't ask for. That creates real friction for payments — and it's one of the clearest design problems a payments-first chain can solve.

6 min read · Updated 2026-06-09 · Topic: chains

Canonical: https://tempo.dataos.so/articles/why-stablecoin-gas-matters

Every transaction on a blockchain costs something. That cost — **gas** — is how the network compensates validators for processing your request and prevents spam from clogging the system. For most people sending stablecoins, gas is an annoyance: a small extra charge. For businesses running thousands of payments a day, and for new users trying to understand why sending "$20 in USDC" requires them to first buy a different token, gas is a genuine design problem.

This explainer covers what gas is, why the standard model creates friction for payments, and what a chain that takes payments seriously does about it.

## What gas actually is

When you send USDC from one address to another on Ethereum, you are asking the network's validators to:

1. Verify that your address has the USDC balance
2. Execute the ERC-20 transfer function (a small piece of code)
3. Record the new balances on-chain
4. Propagate the updated state across the network

All of this computation has a cost. **Gas** is the unit that measures it. An ERC-20 token transfer costs roughly 65,000 gas units. Gas has a **price** — measured in gwei (one billionth of an ETH) on Ethereum — and the total fee is gas units × gas price.

The gas price is not fixed. It rises when many people want to transact at the same time, and falls when the network is quiet. Since EIP-1559 (Ethereum's 2021 fee reform), fees have a base component that adjusts automatically plus an optional priority fee ("tip") to get your transaction included faster.

The crucial detail: **on Ethereum, gas is always paid in ETH.** Not in the token you're transferring. In ETH.

Tron's model differs in the mechanics but arrives at the same place. Tron measures fees in "energy" and "bandwidth" — resources you obtain by staking **TRX**, Tron's native token. A transfer that burns energy is cheap; one that doesn't have pre-staked energy defaults to burning TRX directly from your wallet, costing $1.92–$4 per transfer. Either way, you need TRX.

## Why that creates friction for payments

Consider what happens when someone who only holds USDC tries to send USDC on Ethereum.

They cannot. The transaction will fail — not because their USDC balance is insufficient, but because their ETH balance is zero. The network requires ETH to process any transaction, including one that simply moves USDC between two addresses.

The workarounds:

- **Buy ETH first.** This means using an exchange or on-ramp, incurring another fee, and holding an asset with price exposure.
- **Use a paymaster (account abstraction).** ERC-4337 allows a sponsor to cover gas. But the sponsor must hold ETH, charge the user for it somehow, and manage that ETH balance. Cost is shifted, not eliminated.
- **Use a custodial service.** Many wallets abstract gas management for users, but this comes at the cost of self-custody.

For a single user, this is inconvenient. For a business building a payments product, it multiplies:

- **Treasury complexity.** Maintain an ETH float for gas in addition to the stablecoin float for payments.
- **ETH price risk.** If ETH drops 40%, your gas budget drops 40% — your operational costs in USD terms just rose.
- **User onboarding friction.** "Install the wallet, buy ETH, then buy USDC, then send your payment" is a multi-step process with multiple failure points.
- **Accounting complexity.** Gas paid in ETH creates a separate line item in different currency from the payment itself.

At scale, these are not rounding errors. Stripe's head of stablecoin products, in the context of the Tempo launch, framed it plainly: the goal is dollars in, dollars out, with no intervening asset.

## How Tron handles it (and where it still breaks)

Tron's energy model is often cited as a solution to the gas problem. And it is — partially.

Users who stake enough TRX to build a daily energy allowance can send USDT transfers at effectively zero cost. Exchange wallets and large business senders routinely do this. For them, Tron's gas is invisible.

The catch: the zero-cost model requires pre-staking TRX. Staking 5,000 TRX (approximately $1,200 at Q1 2026 prices) generates enough daily energy for one or two USDT transfers per day. A business sending 1,000 transfers per day needs to stake far more — locking up significant capital in a volatile asset as a prerequisite for running its payment operations.

For individual users who don't pre-stake, the burn rate is $1.92–$4 per transfer. That is expensive for small-value payments, and the mechanism confuses users who don't understand why sending USDT costs TRX.

## The Solana and Base approaches

Solana charges gas in **SOL**, but fees are so low — typically below $0.001 per transaction — that the practical impact is minimal. Users still need SOL to transact, but the amounts required are small enough that most wallets either prefund them automatically or bundle the cost invisibly.

Base charges gas in **ETH** (it is an Ethereum L2) but has subsidised USDC transfers in Coinbase Wallet's Simple Mode to zero. Outside that product, the same Ethereum gas-token issue applies.

Both approaches manage the friction rather than eliminate it. The underlying architecture still requires a non-dollar asset; the product layer papers over it for specific user flows.

## What a payments-first design looks like

Tempo's approach is structural, not cosmetic. The chain has **no native token**. Gas is paid in **USD-denominated stablecoins** — specifically, any token issued under the TIP-20 standard that holds a dollar peg.

The mechanism that makes this work is the **Fee AMM** — a protocol-native automated market maker that runs as part of every block. Validators specify which stablecoin they want to receive as their fee. If a user is paying with a different TIP-20 stablecoin, the Fee AMM converts automatically. The user sees a dollar amount; the validator receives their preferred stablecoin; no intermediary token changes hands.

To qualify as a fee token, a stablecoin must be USD-denominated, issued as a native TIP-20, and have sufficient Fee AMM liquidity. This prevents low-liquidity assets from creating fee conversion failures.

The practical result: a business building on Tempo holds stablecoins. It pays fees in stablecoins. It receives payments in stablecoins. There is no ETH wallet to maintain, no TRX to stake, no volatile asset to manage, no separate accounting entry for gas in a non-dollar currency. The payment is dollars in and dollars out.

## Why this matters beyond UX

The gas-token question looks like a user experience issue. It is also an economic and risk management issue.

For a company running $10 million per month in stablecoin payouts, the ETH (or TRX) float required for gas is real capital — capital that carries price risk, liquidity risk, and operational overhead. A 30% move in ETH while a company is holding a large ETH gas float is a real P&L impact.

Beyond treasury, gas-token friction is a genuine barrier to adoption in markets where users do not have easy access to exchange services. In many countries, buying USDT on Tron is straightforward. Explaining that they also need TRX — and staking mechanics — to use it is where adoption fails.

The cleanest version of stablecoin payments is one where gas friction is solved at the protocol layer, not worked around at the product layer. That is what Tempo's design targets.

## What to read next

For the fee numbers across chains in concrete terms, see [the true cost of stablecoin transfers by chain](/articles/true-cost-stablecoin-transfers-by-chain). For how the five major stablecoin chains stack up across all payment dimensions, see the [full chain comparison](/articles/stablecoin-chains-comparison).

## FAQ

**What is gas in blockchain terms?**

Gas is the unit that measures how much computation a transaction requires. The fee you pay is gas used multiplied by the gas price. On Ethereum, gas price is denominated in ETH (technically in 'gwei', a fraction of ETH). On Tron, it is denominated in TRX via an energy and bandwidth system. The result in both cases is that you must hold the chain's native token just to send any transaction — including a stablecoin transfer.

**Why is a volatile gas token a problem for payments?**

Because it forces users and businesses to hold two assets instead of one. To send USDC on Ethereum, you need both USDC (the thing you're sending) and ETH (to pay for the transaction). If ETH drops 30% overnight, your gas budget is suddenly off. For automated payment systems running thousands of transfers, this creates an ongoing treasury management burden.

**How does Tempo handle gas without a native token?**

Any USD-denominated TIP-20 stablecoin on Tempo can pay gas. The protocol includes a Fee AMM that automatically converts between stablecoins if the one you're using differs from what the validator wants to receive. The user sees a dollar fee and pays in dollars. There is no ETH, no TRX, no separate token to acquire.

**Is gas sponsorship on Ethereum the same as having no gas token?**

No. Account abstraction (ERC-4337) on Ethereum allows a third party (a 'paymaster') to cover gas on a user's behalf. But this adds infrastructure, shifts cost to the paymaster who must hold ETH, and requires integrating a separate system. Tempo eliminates the need for that layer by design — the protocol itself accepts stablecoins for gas.

## Sources

1. [Tempo blog — Stablecoin fees](https://tempo.xyz/blog/stablecoin-fees)
2. [Tempo docs — TIP-20 native stablecoins](https://docs.tempo.xyz/learn/tempo/native-stablecoins)
3. [Ethereum.org — Gas and fees](https://ethereum.org/developers/docs/gas/)
4. [Paradigm — Tempo, a payments-first blockchain](https://www.paradigm.xyz/2025/09/tempo-payments-first-blockchain)

---
Neutral, sourced explainer from tempowiki. Index: https://tempo.dataos.so/llms.txt
