Nội dung này phục vụ mục đích giáo dục, không phải lời khuyên đầu tư hoặc tín hiệu giao dịch.

Trả lời ngắn: Swap token là đổi một token lấy token khác qua smart contract. dApp lấy báo giá từ một hoặc nhiều liquidity pool, router chọn đường đi, wallet ký rồi blockchain thực thi. Lượng nhận không chỉ phụ thuộc “giá màn hình” mà còn vào dự trữ pool, price impact, slippage, phí và điều kiện minimum received.

Đọc xong, bạn sẽ hiểu:

  • Pool và router phối hợp để tạo báo giá thế nào.
  • Price impact khác slippage và phí ở đâu.
  • Những trường bắt buộc đọc trước khi ký swap.

1. Swap token là đổi tài sản qua smart contract

Swap là đổi token A lấy token B. Trên DEX — sàn giao dịch phi tập trung — giao dịch có thể đi qua một AMM, tức cơ chế tạo lập thị trường tự động bằng smart contract thay vì order book truyền thống.

Nguồn token thường là liquidity pool: smart contract giữ dự trữ hai hoặc nhiều tài sản. Một pool A/B có hai ngăn, một ngăn token A và một ngăn token B. Khi bạn đưa A vào và lấy B ra, tỷ lệ dự trữ thay đổi nên mức giá tiếp theo cũng đổi.

Hình dung quầy đổi tiền có két USD và EUR. Nếu nhiều người liên tục lấy EUR khỏi két, EUR còn ít dần; quầy phải đưa ra tỷ lệ kém thuận lợi hơn cho lượt sau để cân bằng. AMM làm việc này theo công thức, không phải nhân viên ngồi sửa bảng giá.

Không phải mọi swap đều đi thẳng qua một pool. Nếu pool A/B mỏng nhưng A/WETH và WETH/B sâu hơn, router có thể chọn route A → WETH → B. Route nhiều bước có thể cho đầu ra tốt hơn nhưng dùng thêm pool, smart contract và gas.

2. Pool định giá bằng dự trữ như thế nào?

Một mô hình AMM đơn giản dùng công thức constant product:

x × y = k

Trong đó xy là hai lượng dự trữ; k là tích mà pool cố duy trì sau khi tính theo cơ chế. Uniswap v2 whitepaper mô tả cặp token giữ dự trữ và dùng invariant constant product. Đây là ví dụ học cơ chế, không đại diện cho mọi phiên bản AMM.

Ví dụ pool giả lập

Giả sử pool có:

  • 10 ETH (x)
  • 20.000 USDC (y)
  • k = 200.000

Giá tham chiếu tức thời là khoảng 2.000 USDC/ETH. Nếu người dùng đưa 1 ETH vào và tạm bỏ qua fee:

  • Dự trữ ETH mới: 11
  • USDC cần còn lại: 200.000 / 11 ≈ 18.181,82
  • USDC đi ra: 20.000 - 18.181,82 ≈ 1.818,18

Người dùng không nhận 2.000 USDC vì chính lệnh 1 ETH đã làm tỷ lệ dự trữ đổi. Chênh lệch do lệnh của người dùng tác động trực tiếp lên pool gọi là price impact.

Đây không phải báo giá thật và chưa tính fee, rounding, concentrated liquidity, route nhiều pool hoặc token tax. Điểm cần nhớ: lệnh càng lớn so với liquidity khả dụng thì price impact thường càng đáng kể.

Hình 1 — Token vào làm một reserve tăng, token ra làm reserve kia giảm; tỷ lệ mới tạo mức giá mới.

3. Một swap đi qua router và blockchain ra sao?

Một lượt swap onchain thường có các bước:

  1. Người dùng chọn network, token vào, token ra và số lượng.
  2. dApp hỏi các pool hoặc dịch vụ định tuyến để tạo quote, tức báo giá tại thời điểm xem.
  3. Router chọn route thẳng hoặc nhiều chặng.
  4. Nếu contract chưa có quyền dùng token, wallet yêu cầu approval trước.
  5. Wallet hiển thị transaction swap gồm contract, function, amount, minimum received và gas estimate.
  6. Người dùng đọc rồi ký; transaction được gửi lên network.
  7. Router gọi pool theo route; contract kiểm tra deadline và minimum.
  8. Đủ điều kiện thì swap confirmed; không đủ thì revert.

Approval không phải swap. Nó là quyền cho một contract sử dụng token trong hạn mức. Approval 100 token và unlimited approval có phạm vi khác nhau. Cần đọc spender address và hạn mức, không ký chỉ vì tên dApp quen mắt.

Revert hoàn tác thay đổi state của swap thất bại, nhưng network đã dùng tài nguyên để xử lý nên phí gas có thể không được hoàn lại. Uniswap Labs cũng lưu ý transaction blockchain có network cost kể cả khi thất bại.

Hình 2 — Quote chỉ là bước xem; approval và swap là hai yêu cầu khác nhau trước khi router chạm tới pool.

4. Đọc đúng báo giá, price impact, slippage và phí

Màn hình swap của Uniswap liệt kê các trường như token vào/ra, fee, network cost, route, price impact, max slippage và minimum output. Tên có thể khác giữa dApp, nhưng ý nghĩa cốt lõi tương tự.

Trường Nghĩa Câu cần hỏi
Quote Đầu ra ước tính lúc xem Báo giá còn mới không?
Price impact Giá đổi do chính lệnh tác động pool Lệnh có quá lớn so với liquidity?
Max slippage Mức chênh tối đa người dùng chấp nhận Có bị đặt quá rộng?
Minimum received Đầu ra tối thiểu để transaction không revert Mức thấp nhất này có chấp nhận được?
Pool/protocol fee Phí theo quy tắc pool hoặc route Có bao nhiêu chặng/phí?
Network cost Phí tài nguyên blockchain Ví còn đủ native token?

Price impactslippage không phải cùng một thứ. Uniswap Labs giải thích price impact là thay đổi giá do lệnh của bạn; slippage là chênh giữa kết quả kỳ vọng và kết quả thực khi swap hoàn tất.

Ví dụ minimum received

Giả sử quote hiển thị 1.980 USDC và max slippage 1%. Một cách minh họa đơn giản:

Minimum received ≈ 1.980 × (1 - 1%) = 1.960,20 USDC

Nếu output lúc thực thi thấp hơn mức minimum, contract có thể revert. Đặt slippage quá thấp dễ fail khi giá di chuyển; đặt quá cao mở khoảng nhận kém hơn. Hướng dẫn Uniswap nêu đúng hai mặt này.

Hình 3 — Price impact xuất hiện ngay trong cơ chế pool; slippage đo phần chênh tiếp theo giữa dự kiến và thực thi.

Tổng chi phí không chỉ là gas

Kết quả kinh tế của swap có thể chịu pool fee, network cost, price impact, slippage và token fee. Route có output danh nghĩa cao hơn chưa chắc tốt hơn nếu thêm chặng/phí/gas. Cần so net output — lượng thực nhận sau toàn bộ điều kiện — thay vì nhìn mỗi exchange rate.

Hình 4 — Gas chỉ là một lớp; net output mới là con số cần đối chiếu trước khi ký.

5. Các lỗi và rủi ro người mới hay gặp

Token giả hoặc contract sai

Tên và ticker có thể trùng. Token giả có thể cùng tên với token thật nhưng contract address khác. Phải đối chiếu address từ nguồn chính thức; logo trên giao diện không phải bằng chứng.

Approval quá rộng

Unlimited approval tiện cho lần sau nhưng tăng phạm vi nếu spender contract gặp sự cố. Kiểm tra asset, spender và allowance; không rõ thì dừng.

Slippage cao để “ép lệnh chạy”

Tăng slippage không sửa token xấu hoặc pool cạn. Một số token có fee-on-transfer, cơ chế hạn chế bán hoặc code độc hại. Nếu quote/cảnh báo bất thường, đừng biến cảnh báo thành nút vượt qua.

Nhầm price impact với phí

Price impact không phải khoản phí chuyển cho ai; nó là kết quả pool chuyển sang tỷ lệ dự trữ mới. Pool fee lại là khoản tính theo quy tắc. Gộp hai thứ sẽ làm người dùng đọc sai chi phí.

Sai network hoặc hết native token

Có token để swap chưa đủ; ví còn cần native token trả gas. Gửi nhầm token/network hoặc swap gần hết native token có thể khiến ví không còn phí cho bước tiếp theo.

MEV và sandwich

Transaction chờ trong mempool có thể bị quan sát. MEV là giá trị có thể được thu bằng cách sắp xếp/chèn transaction; sandwich là giao dịch trước và sau lệnh người dùng để khai thác thay đổi giá. Slippage rộng và pool mỏng có thể làm bề mặt rủi ro lớn hơn.

Câu đoán chắc: “Router đã chọn best route thì đó là giá tốt nhất và an toàn.” Sai vì “best” phụ thuộc thuật toán, thời điểm, nguồn liquidity và cách tính gas; token/contract vẫn có rủi ro.

Câu có điều kiện: router có thể cải thiện quote khi so nhiều route, nhưng người dùng vẫn phải kiểm tra contract, net output, price impact, minimum received, approval và cảnh báo.

6. Checklist và bài tập 15 phút chỉ đọc

Checklist trước khi ký

  1. Domain, network và token contract address đúng chưa?
  2. Token vào/ra và số thập phân có hợp lý không?
  3. Spender approval là contract nào, hạn mức bao nhiêu?
  4. Route đi qua pool/token trung gian nào?
  5. Quote, price impact và minimum received là bao nhiêu?
  6. Pool fee, network cost và token fee có gì?
  7. Recipient có đúng ví của mình không?
  8. Có cảnh báo token, liquidity, slippage hoặc simulation không?

Address, spender, recipient hoặc minimum chưa rõ thì dừng, không ký để thử.

Bắt đầu từ đâu: bài tập 15 phút

Mở một giao diện swap công khai ở trạng thái chưa kết nối ví. Chọn cặp token phổ biến chỉ để xem quote; không connect, không approve, không ký và chưa dùng tiền thật.

  1. Ghi network và contract address hai token từ nguồn chính thức.
  2. Nhập số lượng nhỏ giả lập; ghi quote và thời điểm.
  3. Mở chi tiết; ghi route, price impact, max slippage, minimum và fee.
  4. Tăng số lượng giả lập 10 lần; xem price impact đổi thế nào.
  5. Ghi ba điều chưa xác minh khiến bạn chưa được ký.

Mẫu đối chiếu đã điền

Trường Mẫu demo Kết luận
Pair/network Token A → B, network X Cần khớp address chính thức
Quote 1.980 B Chỉ đúng lúc xem
Route A → WETH → B Có hai pool trung gian
Impact/slippage 0,4% / 1% giả lập Hai khái niệm khác nhau
Minimum 1.960,20 B Thấp hơn mức này thì revert
Approval Chưa xác định Dừng trước khi kết nối ví

Hình 5 — Một trường quan trọng chưa rõ là điểm dừng; bài đầu chỉ cần đọc quote và so quy mô lệnh.

7. Tổng kết: đọc net output trước khi bấm Swap

a. Năm ý chính

  • Swap qua DEX có thể dùng AMM pool thay vì order book.
  • Dự trữ pool đổi theo lệnh nên giá thực thi không cố định.
  • Router chọn route; approval và transaction swap là hai yêu cầu khác nhau.
  • Price impact do lệnh của mình; slippage là chênh giữa kỳ vọng và thực thi.
  • Luôn kiểm tra address, route, minimum, phí, approval và recipient trước khi ký.

b. Câu hỏi tự kiểm tra

  • Vì sao lệnh lớn hơn thường tạo price impact lớn hơn?
  • Approval khác transaction swap ra sao?
  • Slippage quá thấp và quá cao gây hai vấn đề gì?
  • Vì sao quote cao chưa chắc tạo net output tốt hơn?

c. Gợi ý đáp án

Xem gợi ý câu 1

Lệnh lớn lấy tỷ lệ đáng kể khỏi reserve và làm tỷ lệ pool đổi nhiều hơn. Xem lại mục 2.

Xem gợi ý câu 2

Approval cấp quyền cho spender; swap dùng quyền đó để đổi tài sản. Xem lại mục 3.

Xem gợi ý câu 3

Quá thấp dễ revert; quá cao có thể chấp nhận output kém. Xem lại mục 4.

Xem gợi ý câu 4

Route còn có gas, fee, impact, slippage và token fee. Xem lại mục 4.

d. Thuật ngữ cần nhớ

Thuật ngữ Giải thích ngắn
AMM Cơ chế định giá và giao dịch bằng smart contract.
Liquidity pool Dự trữ token phục vụ swap.
Router Contract hoặc logic chọn đường swap.
Quote Đầu ra ước tính tại thời điểm xem.
Price impact Thay đổi giá do chính lệnh tác động pool.
Slippage Chênh giữa kết quả kỳ vọng và thực tế.
Minimum received Đầu ra tối thiểu chấp nhận.
Approval Quyền cho contract dùng token.
Revert Hủy thay đổi state của transaction lỗi.
MEV Giá trị từ việc sắp xếp/chèn transaction.

e. Nguồn tham khảo

f. Bài tiếp theo nên đọc

Bài tiếp theo: Liquidity Pool là gì? Bạn sẽ nhìn sâu hơn vào nguồn liquidity, LP token, fee, tỷ lệ dự trữ và rủi ro khi cung cấp tài sản.

Nội dung giáo dục, không phải lời khuyên đầu tư. Swap có thể mất tài sản do token giả, contract lỗi hoặc chữ ký sai; hãy kiểm tra trước khi ký.