Stablecoin Fee Calculator: Compare Transfer Costs by Chain
Calculate the real cost of sending USDC, USDT, or DAI on Ethereum, Solana, Tron, Arbitrum, Base, and Polygon. Compare gas fees, bridge costs, and total landed cost.
Fees are estimates based on typical network conditions. Actual costs vary with congestion, gas prices, and wallet settings. Does not include exchange withdrawal fees or bridge costs.
Why Stablecoin Fees Vary
Sending $1,000 in USDC on Ethereum can cost $20 in gas fees during peak congestion, while the same transfer on Solana costs a fraction of a cent. The difference comes down to how each blockchain processes transactions. Every chain has its own consensus mechanism, block space market, and fee structure, which means the cost of moving the same stablecoin varies dramatically depending on where you send it.
Gas fees on Ethereum are driven by demand for block space. When the network is busy, users bid up gas prices to get their transactions included faster. ERC-20 token transfers like USDC and USDT require more computation than simple ETH transfers, making them more expensive. Layer 2 networks like Arbitrum, Base, and Polygon solve this by batching transactions and settling them on Ethereum in bulk, reducing per-transaction costs by 100x or more.
Solana and Tron take different approaches entirely. Solana uses a high-throughput architecture with fixed, predictable fees that rarely exceed $0.01. Tron uses an energy and bandwidth model where users can stake TRX to reduce fees, though unstaked transfers still cost $1-3. Spark, built on Bitcoin, eliminates gas fees altogether for USDB transfers: transactions are instant and free.
Fee Breakdown by Chain
The following table shows typical transfer fees for major stablecoins across the most commonly used chains. These are network fees only and do not include exchange withdrawal fees, bridge costs, or slippage.
| Chain | USDC Transfer Fee | USDT Transfer Fee | Avg Confirmation | Notes |
|---|---|---|---|---|
| Ethereum | $2-20 gas | $2-20 gas | 12 sec (1 min practical) | Highest fees, highest liquidity |
| Arbitrum | $0.01-0.10 | $0.01-0.10 | Instant (7-day L1 finality) | Low cost L2 |
| Base | $0.01-0.05 | N/A (no native USDT) | Instant | Coinbase L2 |
| Polygon | $0.01-0.05 | $0.01-0.05 | 2 sec | PoS sidechain |
| Solana | $0.001-0.01 | $0.001-0.01 | 400ms | Fastest |
| Tron | $1-3 (energy) | $1-3 | 3 sec | USDT dominant chain |
| Spark (Bitcoin) | N/A | N/A | Instant | USDB stablecoin, no gas fees |
Fees on Ethereum fluctuate significantly throughout the day and week. The $2-20 range reflects normal conditions: during high-demand events like popular NFT mints or market volatility, ERC-20 transfer fees can spike above $50. Layer 2 fees are more stable because they batch transactions and post compressed data to Ethereum.
Solana offers the lowest fees of any major chain, but its fee structure includes priority fees during congestion that can temporarily increase costs. Even so, Solana transfers rarely exceed a few cents. Tron's energy model is unique: users who stake TRX receive energy credits that eliminate transfer fees. Without staked TRX, a USDT transfer on Tron costs roughly $1-3 in burned TRX.
Hidden Costs: Bridges, Slippage, and Exchange Withdrawals
The network fee you pay to move a stablecoin on-chain is only part of the story. Several other costs can significantly increase what you actually pay to get stablecoins from point A to point B.
Bridge fees apply when you move stablecoins between chains. Bridging USDC from Ethereum to Arbitrum through the native bridge is free but takes 7 days for finality. Third-party bridges offer faster transfers (minutes instead of days) but charge $5-20 per transaction depending on the amount and route. Some bridges also introduce slippage: if the bridge uses a liquidity pool, you may receive slightly less than you sent due to pool imbalances. On a $10,000 transfer, even 0.1% slippage costs $10.
Exchange withdrawal fees are another layer of cost that many users overlook. When you withdraw USDC or USDT from a centralized exchange, the exchange charges a flat fee that often exceeds the actual network cost. For example, an exchange might charge $5 for an Ethereum USDC withdrawal when the actual gas cost is $3, or $1 for a Solana withdrawal when the on-chain cost is under $0.01. These markups add up, especially for frequent transfers.
Token approval transactions on Ethereum and EVM chains add an extra gas cost the first time you interact with a new contract. If you are sending stablecoins through a DEX or bridge for the first time, you will pay an approval transaction fee in addition to the transfer fee. This is a one-time cost per token-contract pair but can cost $5-15 on Ethereum mainnet.
How to Minimize Stablecoin Transfer Costs
Reducing stablecoin fees comes down to choosing the right chain, timing your transactions, and avoiding unnecessary intermediary steps. Here are the most effective strategies:
- Use Layer 2 networks when possible. Arbitrum, Base, and Polygon offer the same security guarantees as Ethereum (with some finality tradeoffs) at a fraction of the cost. If the recipient accepts stablecoins on an L2, there is rarely a reason to send on Ethereum mainnet.
- Time your Ethereum transactions. Gas fees on Ethereum follow predictable patterns: weekends and early morning hours (US time) tend to be cheaper. Gas trackers show real-time and historical fee data to help you find the lowest-cost window.
- Withdraw from exchanges on the cheapest supported chain. Most major exchanges support withdrawals on multiple networks. Choosing Solana or Arbitrum over Ethereum can save $5-15 per withdrawal.
- Batch transfers when possible. If you need to send stablecoins to multiple recipients, batch transaction tools can combine multiple transfers into a single on-chain transaction, splitting the gas cost across all recipients.
- Consider Spark for dollar transfers on Bitcoin. USDB transfers on Spark are instant and free, eliminating gas fees entirely. For users already in the Bitcoin ecosystem, this avoids the cost of bridging to other chains.
Stablecoin Fees for Business Payments
For businesses making regular stablecoin payments (payroll, vendor payments, cross-border settlements), fees compound quickly. A company making 100 monthly payments on Ethereum at $10 per transfer spends $1,000 per month on gas alone. Moving those same payments to Arbitrum or Base reduces the fee to under $10 total.
The choice of chain for business payments involves more than just cost. Settlement finality matters for high-value transactions: Ethereum offers the strongest finality guarantees, while L2 transactions have a delay before they are finalized on L1. Liquidity depth matters for large transfers: Ethereum and Tron have the deepest stablecoin liquidity, which means less slippage on large swaps. Regulatory acceptance also varies: some payment processors and banks are more comfortable with stablecoins on Ethereum than on newer L2s.
For businesses operating in the Bitcoin ecosystem, Spark offers a compelling option: USDB transfers are instant, free, and settled on Bitcoin infrastructure. This eliminates both the gas cost and the finality delay that come with other chains. Combined with Flashnet's regulated issuance framework, USDB is designed for businesses that need reliable, low-cost stablecoin rails without leaving the Bitcoin network.
The calculator above can help you estimate the total cost for your specific use case. Enter your transfer amount, select a stablecoin and chain, and compare the results across all available networks to find the most cost-effective route.
Frequently Asked Questions
What is the cheapest chain for sending USDC?
Solana is typically the cheapest chain for sending USDC, with transfer fees under $0.01. Base and Polygon are close alternatives at $0.01-0.05 per transfer. Arbitrum is also very affordable at $0.01-0.10. All of these are dramatically cheaper than Ethereum mainnet, where USDC transfers cost $2-20 depending on network congestion. The cheapest option for dollar-denominated transfers overall is USDB on Spark, which has no transfer fees at all.
How much does it cost to send USDT?
The cost to send USDT depends entirely on which blockchain you use. On Ethereum, expect to pay $2-20 in gas fees. On Tron (the most popular chain for USDT transfers), fees range from $1-3 unless you have staked TRX for energy credits. On Solana, Arbitrum, and Polygon, USDT transfers cost under $0.10. Note that Base does not have native USDT support, so you would need to bridge from another chain.
Are stablecoin transfers free on any chain?
USDB transfers on Spark (Bitcoin) are free: there are no gas fees or network costs. On Tron, users who stake enough TRX can earn energy credits that effectively eliminate USDT transfer fees, though this requires holding and staking TRX. On all other chains, stablecoin transfers always incur some network fee, even if it is very small (under $0.01 on Solana).
What are gas fees for stablecoins?
Gas fees are the network transaction costs you pay to process a stablecoin transfer on a blockchain. On Ethereum and EVM-compatible chains, gas is denominated in the chain's native token (ETH, MATIC, etc.) and varies based on network demand. Stablecoin transfers (ERC-20 token transfers) use more gas than simple native token transfers because they require executing a smart contract. On Ethereum, this typically costs $2-20 per transfer, while on Layer 2 networks it costs pennies.
How do bridge fees work?
Bridge fees are charged when you move stablecoins from one blockchain to another. Native bridges (operated by the L2 itself) are usually free but slow: the Arbitrum native bridge takes 7 days for withdrawals to Ethereum. Third-party bridges offer faster transfers (minutes) but charge fees, typically $5-20 depending on the route and amount. Some bridges use liquidity pools, which can introduce slippage on large transfers. To avoid bridge fees entirely, withdraw stablecoins directly from an exchange onto the chain you need.
Is it cheaper to send stablecoins on Layer 2?
Yes, Layer 2 networks are significantly cheaper than Ethereum mainnet for stablecoin transfers. Arbitrum, Base, and Polygon all offer transfer costs under $0.10, compared to $2-20 on Ethereum. The tradeoff is that L2 transactions have a longer path to full finality (Arbitrum and Base inherit Ethereum's security but with a 7-day challenge window for withdrawals). For most everyday transfers, L2 networks offer the best balance of low cost and strong security.
What hidden costs are in stablecoin transfers?
Beyond the network gas fee, several hidden costs can increase the true price of a stablecoin transfer. Exchange withdrawal fees often exceed the actual network cost (exchanges add a markup). Bridge fees apply when moving between chains ($5-20 for third-party bridges). Token approval transactions cost extra gas the first time you use a new contract on Ethereum. Slippage on DEX swaps or bridge liquidity pools can reduce the amount received. Finally, some services advertise "zero fees" but build their margin into the exchange rate, effectively charging 1-3% hidden cost.
How do Spark stablecoin fees compare?
Spark offers the lowest stablecoin transfer costs of any network: USDB transfers are instant and completely free with no gas fees. This compares to $2-20 on Ethereum, $1-3 on Tron, and $0.001-0.10 on Solana and L2 networks. Spark achieves this by operating natively on Bitcoin through the Spark protocol, avoiding the gas auction model used by Ethereum and its L2s. The tradeoff is that Spark currently supports only USDB (not USDC or USDT), so it is best suited for users who are already in or transitioning to the Bitcoin ecosystem.
This tool is for informational purposes only and does not constitute financial advice. Fee estimates are based on typical network conditions as of early 2026 and may vary significantly during periods of high congestion. Bridge costs, exchange withdrawal fees, and slippage are approximations. Always verify current fees with your wallet or exchange before initiating a transfer.
Build with Spark
Integrate bitcoin, Lightning, and stablecoins into your app with a few lines of code.
Read the docs →
