# Fee-on-transfer tokens: when the received amount is smaller

A fee-on-transfer token deducts a charge under its transfer rules, so a recipient may receive fewer units than the sender requested to move. Integrations that assume the requested amount always arrives can fail or misaccount. Compatibility depends on the exact token and route; Uniswap’s cited warning specifically concerns its v3 router contracts.

Evidence: [Token integration issues](https://docs.uniswap.org/concepts/protocol/integration-issues); [ERC-20 Token Standard](https://eips.ethereum.org/EIPS/eip-20)

Canonical: https://degreesofsatoshi.com/encyclopedia/fee-on-transfer-tokens/
Published: 2026-10-02
Substantively modified: 2026-10-02
Independently verified by an automated reviewer: 2026-10-02T18:19:48.887Z
Data current through: 2026-10-02

AI-assisted research and drafting with a separate automated source-verification pass; no external expert or named human review is implied.

## Key facts

- **Amount received:** A transfer deduction can make received units smaller than the requested amount. ([Token integration issues](https://docs.uniswap.org/concepts/protocol/integration-issues))
- **V3 scope:** Uniswap documents fee-on-transfer tokens as incompatible with its v3 router contracts. ([Token integration issues](https://docs.uniswap.org/concepts/protocol/integration-issues))
- **Possible adaptation:** The cited documentation mentions token wrappers or customized routers as possible workarounds. ([Token integration issues](https://docs.uniswap.org/concepts/protocol/integration-issues))

## Calculate the recipient’s balance change

If a hypothetical token deducts 2% from a requested 100-unit transfer, the recipient receives 98 units. The destination of the other two units depends on that token’s implementation.

A swap expecting the full 100 units cannot safely pretend the same input arrived. The example illustrates accounting; it does not assert a fee for any live token.

Evidence: [Token integration issues](https://docs.uniswap.org/concepts/protocol/integration-issues); [ERC-20 Token Standard](https://eips.ethereum.org/EIPS/eip-20)

## Check every transfer used by the integration

A route can move tokens between a wallet, router and pool. Compatibility is a property of that complete interaction, rather than proof supplied by an ERC-20-like symbol or interface.

The Uniswap integration page identifies v3 router incompatibility. It should not be broadened into a claim that every exchange, protocol version or custom route treats all such tokens identically.

Evidence: [Token integration issues](https://docs.uniswap.org/concepts/protocol/integration-issues)

## An adapter adds its own requirements

A wrapper or custom router must account correctly for the token’s actual transfers. Its existence does not establish that it is deployed, supported by the selected interface or safe to use.

Before relying on an output quote, inspect how the route measures received amounts and enforces the holder’s execution limit. Treat any displayed fee assumption as part of the calculation, not a universal property of token transfers.

Evidence: [Token integration issues](https://docs.uniswap.org/concepts/protocol/integration-issues)

## Questions

### Is a token’s transfer fee the same as Ethereum gas?

No. Gas pays for transaction execution under Ethereum’s fee rules. A token transfer deduction is behavior of the token contract; a transaction can involve both.

Evidence: [Gas and fees](https://ethereum.org/en/developers/docs/gas/); [Token integration issues](https://docs.uniswap.org/concepts/protocol/integration-issues)

## Claims and scope

### fee-on-transfer-tokens-quick-answer

A fee-on-transfer token deducts a charge under its transfer rules, so a recipient may receive fewer units than the sender requested to move. Integrations that assume the requested amount always arrives can fail or misaccount. Compatibility depends on the exact token and route; Uniswap’s cited warning specifically concerns its v3 router contracts.

Scope: {"collection":"defi","dataAsOf":"2026-10-02","blockHeight":null}

### fee-on-transfer-tokens-fact-amount-received

Amount received: A transfer deduction can make received units smaller than the requested amount.

Scope: {"collection":"defi","dataAsOf":"2026-10-02","blockHeight":null}

### fee-on-transfer-tokens-fact-v3-scope

V3 scope: Uniswap documents fee-on-transfer tokens as incompatible with its v3 router contracts.

Scope: {"collection":"defi","dataAsOf":"2026-10-02","blockHeight":null}

### fee-on-transfer-tokens-fact-possible-adaptation

Possible adaptation: The cited documentation mentions token wrappers or customized routers as possible workarounds.

Scope: {"collection":"defi","dataAsOf":"2026-10-02","blockHeight":null}

## Sources

- [Token integration issues](https://docs.uniswap.org/concepts/protocol/integration-issues) — Uniswap. Token behavior can break assumptions or impose costs on pool positions. Locator: Fee-on-transfer tokens; Rebasing tokens. Retrieved: 2026-10-02T17:03:45.896Z.
- [ERC-20 Token Standard](https://eips.ethereum.org/EIPS/eip-20) — Ethereum Improvement Proposals. Token supply, displayed units and balance accounting. Locator: totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer. Retrieved: 2026-10-02T17:03:45.826Z.
- [Gas and fees](https://ethereum.org/en/developers/docs/gas/) — ethereum.org contributors. Execution resource units, fee components and gas expenditure. Locator: What is gas?; Base fee; Priority fee. Retrieved: 2026-10-02T17:03:41.688Z.

## Revision history

- 2026-10-02: First publication after primary-source research and independent automated verification.

## Cite this entry

Degrees of Satoshi editorial project. “Fee-on-transfer tokens: when the received amount is smaller.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/fee-on-transfer-tokens/
