en
Back to the list

Uniswap Swap Costs: What Reduces Your Output and What Is Paid Separately

source-logo  thedefiant.io 23 October 2026 05:36, UTC
image

Uniswap Labs’ interface fee is zero, but that does not make a Uniswap swap free. Traders still need to distinguish charges reflected in the exchange of tokens from the network cost of executing a classic pool swap.

Labs says it stopped charging interface fees on Dec. 27, 2025. That charge is separate from fees governed by the Uniswap protocol. Its current published interface rate is 0%.

A historical $ETH-to-$USDC swap illustrates the accounting. In a successful Ethereum transaction on Sept. 10, 2024, a trader supplied 0.001 $ETH and received 2.320837 $USDC. The transaction also incurred about 0.001263 $ETH in network fees—more $ETH than was swapped. This is a historical accounting example, not a current gas-price estimate.

Know when your
coins move

Alerts, real-time prices, and market news — all in one app
qr-code Point your phone camera to install
4.8 based on 40K reviews in the App Store and Google Play

Reading the Receipt Without Counting Twice

Uniswap Labs identifies this transaction as a v3 swap example. Its receipt shows three distinct $USDC movements:

- **Pool output:** The pool transferred 2.326653 $USDC to Uniswap’s Universal Router. - **Fee transfer:** The router sent 0.005816 $USDC to an address Etherscan labels “Uniswap: Fees 2.” - **Wallet receipt:** The remaining 2.320837 $USDC went to the trader.

The fee transfer and wallet receipt reconcile to the pool’s output. Subtracting that fee again from the wallet’s received amount would count the same deduction twice. The receipt’s separate $ETH transaction fee is a network expense, not another deduction from those $USDC transfers.

Pool Fees Depend on the Version

Uniswap’s developer documentation describes swap fees that compensate liquidity providers. For an enabled v3 pool with a 0.05% fee tier, its published breakdown is 0.0375% for liquidity providers and 0.0125% for the protocol. Those components total 0.05%; adding another 0.0125% to the full tier would double-count the protocol’s share.

That is not a universal fee formula. In v4, the core fee calculation takes the protocol fee from the input first, then applies the liquidity-provider fee to the remainder. The protocol charge is not simply carved out of the stated liquidity-provider rate as in the v3 example—a distinction behind the fee-switch debate previously covered by The Defiant.

The documentation also says v4 pools can use dynamic swap fees. Custom hook fees are separate and can coexist with protocol fees. Hooks are code that customizes pool behavior, so the selected pool matters to the charges a trader encounters.

Price Impact and Slippage Are Not Fees

Price impact is the change in a token’s price directly caused by the trade. It depends on trade size relative to available liquidity; a thinner pool can produce a worse execution price without that difference being a fee paid to anyone.

Slippage is the difference between expected and actual execution. Slippage tolerance limits how much worse execution may be than the preview; it is not an automatic deduction. A tighter limit can cause a swap to fail, while a looser one permits fewer tokens to arrive. Measuring realized slippage requires the original quote on the same basis as the received output, not just a transaction receipt.

The route also changes how network costs are paid. For a classic swap, the trader pays the transaction’s network bill separately; Ethereum uses $ETH for this expense. A failed transaction can still incur network costs.

UniswapX instead uses third-party fillers. Its whitepaper explains that fillers submit orders onchain, pay gas on the trader’s behalf and recover those costs through the execution price. That gas should not be subtracted again from the trader’s net output as though the trader also paid it separately.

A required onchain token approval can carry its own network cost. A Permit2 signature, by contrast, does not require a network payment.

thedefiant.io