﻿---
title: "ความเสี่ยงของโทเค็นที่หักค่าธรรมเนียมเมื่อโอน"
description: "โทเค็นที่หักค่าธรรมเนียมเมื่อโอนอาจทำให้ผู้รับได้รับน้อยกว่ายอดที่ส่ง และคิดอัตราต่างกันระหว่างซื้อ ขาย หรือโอนระหว่างกระเป๋า เรียนรู้วิธีตรวจการรองรับของ router สิทธิ์ในสัญญา การจำลอง และการทดสอบซื้อขายกลับด้วยยอดเล็ก"
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>

## กลไกการทำงาน

router ของผู้ดูแลสภาพคล่องอัตโนมัติทั่วไปอาจคำนวณยอดออกแต่ละช่วงจากยอดเข้าตามคำสั่ง แต่ Uniswap V2 Router02 มีฟังก์ชัน swap สำหรับโทเค็นประเภทนี้โดยเฉพาะ โดยอนุมานยอดเข้าจริงจากการเปลี่ยนแปลงยอดคงเหลือของคู่ซื้อขาย แล้วเปรียบเทียบยอดที่ผู้รับเพิ่มขึ้นกับ `amountOutMin` ความเข้ากันได้จึงขึ้นอยู่กับ router เส้นทาง และพฤติกรรมจริงของโทเค็น ไม่ใช่แค่สัญลักษณ์โทเค็น

ค่าธรรมเนียมโทเค็นทบกับค่าธรรมเนียม pool และผลกระทบต่อราคา เส้นทางหลาย hop อาจเรียกตรรกะการโอนมากกว่าหนึ่งครั้ง ขณะที่การยกเว้นหรือการตรวจว่าเป็นซื้อหรือขายอาจทำให้อัตราจริงต่างกันตามทิศทาง ควรประเมินต้นทุนเข้าและออกแยกกันจากสถานะ on-chain ปัจจุบัน

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

## ตัวอย่าง

สมมติว่าผู้ซื้อขายใช้ 1,000 USDC ค่าธรรมเนียม pool และผลกระทบต่อราคาลดมูลค่า 2% จากนั้นหักค่าธรรมเนียมซื้อ 5%: `1,000 × 0.98 × 0.95 = 931` หากราคาตลาดไม่เปลี่ยน ค่าธรรมเนียมขาย 10% แล้วมีต้นทุนซื้อขายอีก 2% จะได้รับกลับประมาณ US$821: `931 × 0.90 × 0.98 ≈ 821` การซื้อแล้วขายกลับขาดทุนประมาณ 18% แม้ราคาตลาดไม่ลดลง

ตัวเลขนี้เป็นเพียงตัวอย่าง ไม่ใช่ใบเสนอราคา ลำดับการหักอาจต่างออกไป และอัตรา สภาพคล่อง เส้นทาง รวมถึงสถานะสัญญาอาจเปลี่ยนระหว่างธุรกรรม ควรอ่านสัญญาและสถานะ pool ปัจจุบัน แล้วจำลองเส้นทางจริงด้วยกระเป๋าเดียวกันก่อนใช้ค่าประมาณ

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

## ความเสี่ยงและรายการตรวจสอบ

- ตรวจที่อยู่สัญญาและโค้ดที่ deploy แล้ว ระบุตรรกะค่าธรรมเนียม ข้อยกเว้น รายการบล็อก เพดานค่าธรรมเนียม บทบาทเจ้าของ การควบคุม upgrade และสิทธิ์ pause
- เปรียบเทียบยอดออกที่เสนอราคากับการเปลี่ยนแปลงยอดผู้รับในการจำลอง ยืนยันว่า router และทุก hop ในเส้นทางรองรับพฤติกรรมหักค่าธรรมเนียมเมื่อโอนอย่างชัดเจน
- จำลองการขายจากกระเป๋าเดียวกัน แล้วทดสอบซื้อและขายกลับด้วยยอดเล็กที่ยอมเสียทั้งหมดได้เท่านั้น การทดสอบสำเร็จไม่รับประกันว่ากฎหรือสภาพคล่องภายหลังจะคงเดิม
- ตั้ง `amountOutMin` ตามขีดจำกัดการขาดทุนที่ยอมรับจริง การตั้งเป็น 0 หรือขยาย slippage ซ้ำ ๆ จะตัดการป้องกันราคา แต่ไม่สามารถข้าม revert รายการบล็อก หรือค่าธรรมเนียมโทเค็นที่รุนแรงได้
- กำหนดขนาดสถานะจากมูลค่าออกสุทธิในกรณีเลวร้ายที่น่าเชื่อถือ อย่าดำเนินการต่อเมื่อจำลองการขายไม่ผ่าน โค้ดไม่ผ่านการยืนยัน สิทธิ์ไม่โปร่งใส หรือผู้ดูแลเพิ่มค่าธรรมเนียมหรือบล็อกการโอนได้โดยไม่มีระยะหน่วงที่มีผล

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

## ความเข้าใจผิดที่พบบ่อย

- ความเข้าใจผิด 1: ยอดโอนหรือ event ยืนยันยอดที่ได้รับจริง ควรตรวจการเปลี่ยนแปลงยอดคงเหลือของผู้รับ การเชื่อมต่อโทเค็นประเภทนี้ใช้ส่วนต่างยอดคงเหลือด้วยเหตุผลนี้
- ความเข้าใจผิด 2: เพิ่ม Gas หรือ slippage แล้วจะขายได้ทุกครั้ง Gas มีผลต่อการนำธุรกรรมเข้า block ส่วน slippage ผ่อนราคาขั้นต่ำ แต่ทั้งสองอย่างไม่ข้ามตรรกะของสัญญา
- ความเข้าใจผิด 3: การสละสิทธิ์เจ้าของทำให้โทเค็นแก้ไขไม่ได้ ผู้ดูแล proxy บทบาทที่มีสิทธิ์อื่น หรือสัญญาตั้งค่าภายนอกอาจยังควบคุมพฤติกรรมได้ จึงต้องตรวจทุกเส้นทางสิทธิ์ที่มีผลจริง

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

## หัวข้อที่เกี่ยวข้อง

- [ราคาดัชนีคริปโท](/th/crypto/index-price-crypto/)
- [Slippage ในการซื้อขายคริปโท](/th/crypto/slippage-crypto/)
- [วิธีตรวจสอบที่อยู่สัญญาโทเค็น](/th/crypto/token-contract-verification/)
- [การจำลองธุรกรรม](/th/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/th/crypto/fee-on-transfer-token-risk/index.mdx
