﻿---
title: "转账扣费代币风险"
description: "转账扣费代币的实际到账量可能少于发送量，且买入、卖出和钱包转账的费率可能不同。了解如何检查路由兼容性、合约权限、交易模拟和小额往返测试。"
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 转账扣费代币风险

> 仅供教育参考，不构成投资建议；投资可能产生损失。

<a id="answer"></a>

## 直接答案

转账扣费代币会在转账逻辑内部扣除一部分价值，因此收款方实际收到的数量可能少于传给 `transfer` 或 `transferFrom` 的数量。扣除部分可能被销毁、重新分配、转入其他钱包或注入流动性；具体规则也可能取决于发送方、接收方或交易场景。

真正的风险不只是对外公布的费率。买入、卖出和钱包转账的费率可能不同；某些地址可能享有豁免或被禁止转账；特权账户还可能修改规则。因此，拿到报价或成功买入都不能证明以后能以合理成本卖出。

<a id="mechanism"></a>

## 运作机制

普通自动做市商路由器可能按名义输入量计算每一跳的输出。Uniswap V2 Router02 则提供专门支持转账扣费代币的兑换函数：它根据交易对余额的实际变化推算输入量，并用收款方余额增量核对 `amountOutMin`。这说明兼容性取决于具体路由器、路径和代币行为，而不只是代币符号。

代币扣费会与池手续费和价格冲击复合叠加。多跳路径可能多次触发转账逻辑，豁免规则或买卖识别也会让有效费率随方向变化。应根据当前链上状态分别估算进入和退出成本。

<a id="example"></a>

## 示例

假设交易者花费 1,000 USDC。池手续费与价格冲击使价值减少 2%，之后再扣 5% 的买入费：`1,000 × 0.98 × 0.95 = 931`。若市场价格不变，卖出时先扣 10%，再承受 2% 的交易摩擦，最终约收回 US$821：`931 × 0.90 × 0.98 ≈ 821`。即使市场价格没有下跌，往返损失也约为 18%。

这只是示例，不是报价。实际扣除顺序可能不同，费率、流动性、路由和合约状态也可能在两笔交易之间发生变化。依赖估算前，应读取当前合约与池状态，并用同一钱包模拟完整路径。

<a id="risks"></a>

## 风险与检查

- 核对合约地址和已部署代码，识别扣费逻辑、豁免名单、限制名单、最高费率约束、所有者角色、升级控制和暂停权限。
- 将报价输出与模拟中的收款方余额变化相比较，确认路径中的每个路由器和每一跳都明确支持转账扣费行为。
- 用同一钱包模拟卖出，再以自己可以承受全部损失的小额进行往返测试。测试成功不代表以后规则或流动性不会变化。
- 将 `amountOutMin` 设为自己真正能接受的损失下限。设为 0 或反复放宽滑点会取消价格保护，却无法绕过回滚、限制名单或惩罚性代币费率。
- 按可信的最差净退出价值决定仓位。卖出模拟失败、代码未验证、权限不透明，或管理员能在缺少有效延迟的情况下提高费率或禁止转账时，不应继续。

<a id="misconceptions"></a>

## 常见误区

- 误区 1：转账数量或事件足以证明实际到账量。应检查收款方余额变化；转账扣费集成采用余额差值正是出于这个原因。
- 误区 2：提高 Gas 或滑点就能让任何卖出成功。Gas 影响交易被纳入区块的机会，滑点只放宽最低成交价，两者都不能绕过合约逻辑。
- 误区 3：放弃所有权就意味着代币不可更改。代理管理员、其他特权角色或外部配置合约仍可能控制行为，因此必须检查所有实际有效的权限路径。

<a id="related"></a>

## 相关主题

- [加密指数价格](/zh-cn/crypto/index-price-crypto/)
- [加密交易滑点](/zh-cn/crypto/slippage-crypto/)
- [如何核验代币合约地址](/zh-cn/crypto/token-contract-verification/)
- [交易模拟](/zh-cn/crypto/transaction-simulation/)

<a id="sources"></a>

## 来源

- [Uniswap V2 Router02](https://github.com/Uniswap/v2-periphery/blob/master/contracts/UniswapV2Router02.sol) - Uniswap（查阅日期：2026-08-20）
- [FeeOnTransferDetector.sol](https://github.com/Uniswap/util-contracts/blob/main/src/FeeOnTransferDetector.sol) - Uniswap（查阅日期：2026-08-20）
- [SC01:2026 Access Control Vulnerabilities](https://scs.owasp.org/sctop10/SC01-AccessControlVulnerabilities/) - OWASP（查阅日期：2026-08-20）

Source: https://wiki.fcontext.com/zh-cn/crypto/fee-on-transfer-token-risk/index.mdx
