Giao dịch pending, bị treo: mempool là gì và xử lý thế nào
Giao dịch pending là giao dịch đã gửi nhưng chưa vào khối, nằm chờ trong mempool. Cách xử lý: RBF, CPFP với bitcoin; nonce, speed up, cancel với Ethereum.
Mục lục 9 phần
- 01Mempool là gì?
- 02Vì sao giao dịch bị pending?
- 03Kiểm một giao dịch đang pending thế nào?
- 04Xử lý giao dịch Bitcoin bị treo: RBF và CPFP
- 05Xử lý trên Ethereum, MetaMask: nonce, speed up, cancel
- 06USDT TRC20 hết năng lượng: thất bại, không phải pending
- 07Block time và số xác nhận của từng mạng
- 08Giao dịch rút từ sàn bị pending thì làm gì?
- 09Chiêu lừa “giao dịch đang treo, nạp phí để mở khóa”
- Câu hỏi thường gặp
- Nguồn tham khảo
Tóm tắt nhanh
- Giao dịch pending là giao dịch đã được phát lên mạng nhưng chưa được đưa vào khối. Trong lúc chờ, nó nằm trong mempool, tức hàng chờ giao dịch chưa xác nhận của mỗi node.
- Nguyên nhân thường gặp nhất là phí thấp hơn mức mạng đang ưu tiên. Trên Ethereum còn có lỗi nonce: một giao dịch cũ kẹt thì các giao dịch sau của cùng ví xếp hàng sau nó.
- Bitcoin: tăng phí bằng RBF (người gửi thay giao dịch) hoặc CPFP (tiêu đầu ra chưa xác nhận bằng giao dịch phí cao). Ethereum: speed up hoặc cancel, đều là gửi giao dịch mới cùng nonce, phí cao hơn.
- USDT TRC20 báo OUT_OF_ENERGY không phải pending mà là thất bại: giao dịch đã vào khối, token không rời ví. Ví dụ thật: TxID c306196a...2f80eea ngày 28/10/2026.
- Giao dịch rút từ sàn bị chờ thì chỉ sàn xử lý được. Ai đòi bạn nạp tiền để mở khóa giao dịch đang treo là dấu hiệu lừa đảo.

Giao dịch pending (đang chờ, hay bị gọi là “bị treo”) là giao dịch đã được ví phát lên mạng nhưng chưa được thợ đào hay validator đưa vào khối. Trong lúc chờ, nó nằm trong mempool, mà mempool.space định nghĩa là “the queue of pending and unconfirmed transactions” của một node. Nguyên nhân thường gặp nhất là phí thấp hơn các giao dịch khác đang chờ; cách xử lý là tăng phí hoặc thay giao dịch, và cách làm khác nhau giữa Bitcoin và Ethereum.
Bài này giải thích mempool, các nguyên nhân pending theo từng mạng, cách xử lý (RBF, CPFP trên Bitcoin; nonce, speed up, cancel trên Ethereum), trường hợp USDT TRC20 hết năng lượng kèm một TxID thật, và chiêu lừa “giao dịch đang treo, nạp phí để mở khóa”. Tài liệu đối chiếu ngày 28/10/2026.
Mempool là gì?
Mempool (memory pool) là vùng nhớ mỗi node dùng để giữ các giao dịch hợp lệ chưa được đưa vào khối. Không có một mempool chung cho cả mạng: mỗi node giữ bản của mình, nên một giao dịch có thể có trong node này mà không có trong node khác. Ethereum.org mô tả giao dịch sau khi gửi được “added to a transaction pool consisting of all other pending network transactions”, và validator chọn giao dịch từ đó để đưa vào khối.
Với Bitcoin Core, phần mềm node phổ biến nhất của Bitcoin, mặc định trong mã nguồn là:
| Tham số mặc định (Bitcoin Core) | Giá trị | Hệ quả |
|---|---|---|
| Dung lượng mempool tối đa | 300 MB | Đầy thì node từ chối giao dịch dưới một mức phí nhất định |
| Thời gian giữ giao dịch chưa xác nhận | 336 giờ (14 ngày) | Quá hạn thì node đó bỏ giao dịch khỏi mempool |
Đọc mã nguồn Bitcoin Core ngày 28/10/2026. Người chạy node có thể đổi các giá trị này.
Giao dịch bị một node bỏ khỏi mempool không có nghĩa nó biến mất khỏi mọi node, và ví có thể phát lại. Vì vậy đừng coi “đã quá 14 ngày” là chắc chắn giao dịch đã hủy.
Vì sao giao dịch bị pending?
Phần lớn là do phí: mempool.space viết giao dịch kẹt “is probably using a lower fee rate relative to other transactions currently in the mempool”. Các nguyên nhân theo mạng:
| Mạng | Nguyên nhân thường gặp | Dấu hiệu |
|---|---|---|
| Bitcoin | Phí (sat/vB) thấp hơn mức mạng đang ưu tiên | Chờ nhiều khối không được xác nhận |
| Ethereum, BNB Smart Chain | Phí ưu tiên thấp; một giao dịch nonce nhỏ hơn đang kẹt | Ví hiện nhiều giao dịch chờ xếp hàng |
| TRON | Giao dịch chưa vào khối trước hạn (mặc định 60 giây, tối đa 24 giờ) thì bị bỏ | Không tìm thấy TxID, hoặc báo thất bại |
| Mọi mạng | Ví chưa phát được giao dịch lên mạng (mất kết nối, lỗi node) | Explorer không tìm thấy TxID |
Bitcoin.org lưu ý: nếu giao dịch trả phí thấp hơn mức mạng đang ưu tiên, “the first confirmation may take considerably longer”. Trên Ethereum, ethereum.org giải thích phí ưu tiên (tip) là khoản để giao dịch hấp dẫn với validator, và “A higher tip can make it more likely that your transaction will get into the next block”. Cách tính phí từng mạng ở bài phí gas là gì. Vì sao kích thước (vB) của một giao dịch bitcoin đổi theo kiểu địa chỉ được giải thích ở bài về địa chỉ Legacy, SegWit, Taproot.
Kiểm một giao dịch đang pending thế nào?
Lấy TxID trong lịch sử ví hoặc lịch sử rút của sàn, tra trên trình khám phá khối của đúng mạng. Ba khả năng:
- Tìm thấy, trạng thái Pending: giao dịch đang trong mempool. Đi tới các mục xử lý bên dưới.
- Không tìm thấy: ví chưa phát được giao dịch, TxID sai, tra sai mạng, hoặc giao dịch đã bị bỏ khỏi mempool. Kiểm lại mạng và mã trước.
- Đã có kết quả (thành công hoặc thất bại): không còn là pending; thất bại thì token không rời ví nhưng phí đã trả.
Cách tra và đọc trạng thái ở bài TxID là gì; mỗi mạng dùng trình khám phá nào ở bài block explorer là gì. Trong lúc chờ, đừng gửi lại cùng khoản bằng một giao dịch mới (trên Ethereum là giao dịch khác nonce): có thể cả hai cùng thành công.
Xử lý giao dịch Bitcoin bị treo: RBF và CPFP
Muốn giao dịch Bitcoin vào khối nhanh hơn thì phải tăng mức phí hiệu quả; mempool.space nêu hai cách là RBF và CPFP.
| Cách | Ai làm | Làm thế nào | Điều kiện |
|---|---|---|---|
| RBF (replace-by-fee) | Người gửi | Gửi giao dịch thay thế, tiêu cùng đầu vào, phí cao hơn | Ví hỗ trợ tăng phí; phí mới cao hơn cả mức phí/vB lẫn tổng phí |
| CPFP (child pays for parent) | Người nhận (hoặc người gửi, với phần tiền thối) | Tiêu đầu ra chưa xác nhận bằng một giao dịch con phí cao | Có đầu ra của giao dịch kẹt trong ví mình |
- RBF: Bitcoin Optech định nghĩa RBF là chính sách node “that allows an unconfirmed transaction in a mempool to be replaced”. Quy tắc BIP125 yêu cầu giao dịch thay thế trả “both higher feerate (BTC/vbyte) and a higher absolute fee”. Trước đây giao dịch phải đánh dấu cho phép thay thế; từ Bitcoin Core 28.0, giá trị mặc định của tùy chọn mempoolfullrbf đổi từ 0 sang 1 (#30493), tức node chấp nhận thay thế cả giao dịch không đánh dấu.
- CPFP: Bitcoin Optech mô tả CPFP là tiêu một đầu ra từ giao dịch phí thấp chưa xác nhận bằng một giao dịch con phí cao. Thợ đào xét phí của cả cặp, nên giao dịch con hấp dẫn kéo theo giao dịch mẹ.
Thao tác cụ thể (nút “Bump fee”, “Tăng phí”) tùy ví. Nếu giao dịch do sàn gửi khi bạn rút, bạn không RBF được vì không giữ khóa của địa chỉ gửi; CPFP chỉ làm được khi ví nhận của bạn hỗ trợ tiêu đầu ra chưa xác nhận. Còn lại, hỏi sàn qua kênh hỗ trợ chính thức kèm TxID.
Xử lý trên Ethereum, MetaMask: nonce, speed up, cancel
Mỗi giao dịch của một tài khoản Ethereum có một nonce; muốn tăng tốc hay hủy, ví gửi một giao dịch mới cùng nonce với phí cao hơn để thay giao dịch cũ. Ethereum.org định nghĩa nonce là “a sequentially incrementing counter which indicates the transaction number from the account”. Hệ quả: giao dịch nonce 5 chưa vào khối thì giao dịch nonce 6, 7 của cùng ví phải chờ, dù phí cao.
Trên MetaMask, theo trang hỗ trợ của MetaMask:
- Speed up (tăng tốc): gửi lại giao dịch cùng nonce với phí cao hơn. Vì dùng lại nonce, bạn không trả gas hai lần, nhưng tổng phí cao hơn.
- Cancel (hủy): gửi giao dịch thay thế cùng nonce, không cần mang giá trị (“you could send 0 ETH”), phí cao hơn để mạng ưu tiên. Hủy chỉ “can only be attempted if the transaction is still pending”; giao dịch đã xác nhận thì không đảo ngược được.
- Nhiều giao dịch kẹt: xử lý giao dịch có nonce nhỏ nhất (cũ nhất) trước.
- Nhập nonce thủ công: với tùy chọn tùy chỉnh nonce, MetaMask yêu cầu tắt Smart Transactions để hiện ô nonce, bật lại sau khi xử lý xong.
Ví dụ
Ví có giao dịch nonce 5 chuyển USDT đang pending với phí thấp. Bấm Speed up tạo giao dịch mới cũng nonce 5, cùng nội dung, phí ưu tiên cao hơn; khi bản mới vào khối, bản cũ bị loại vì nonce 5 đã dùng, explorer có thể hiện bản cũ là bị thay thế (Replaced) hoặc bị bỏ (Dropped). Bấm Cancel thì giao dịch nonce 5 mới là chuyển 0 ETH cho chính bạn, USDT không đi đâu, bạn chỉ trả phí của lệnh hủy. Cách dùng MetaMask an toàn ở bài MetaMask là gì.
Nếu lệnh thay thế báo lỗi “replacement transaction underpriced” (thông báo của phần mềm node Geth), nghĩa là phí mới chưa tăng đủ mức node yêu cầu để thay bản cũ. Tăng phí thêm, đừng gửi một giao dịch khác nonce.
USDT TRC20 hết năng lượng: thất bại, không phải pending
Trên TRON, chuyển USDT tốn năng lượng (energy); thiếu năng lượng và không đủ TRX để đốt bù thì giao dịch thất bại với kết quả OUT_OF_ENERGY, chứ không nằm chờ. Tài liệu TRON ghi khi vượt hạn mức, “the transaction reverts with OUT_OF_ENERGY”, và “Energy already consumed is still charged up to that limit”.
Ví dụ thật, đọc từ dữ liệu mạng TRON ngày 28/10/2026:
| Mục | Giá trị |
|---|---|
| TxID | c306196a9c0f4bcb79e3f3542273a1f50f1c9128fe7465c86aec2ed6e2f80eea |
| Thời gian, khối | 10:56:21 ngày 28/10/2026 (giờ Việt Nam), khối 87.495.501 |
| Lệnh | Gọi hàm transfer của hợp đồng USDT TRC20 |
| Kết quả | FAILED, OUT_OF_ENERGY |
| Thông báo của mạng | “Not enough energy … curInvokeEnergyLimit[0]” |
Hạn mức năng lượng cho lần gọi này bằng 0, tức địa chỉ gửi không có năng lượng sẵn và không có TRX để đốt bù (Vietnambit diễn giải từ thông báo lỗi). Giao dịch đã vào khối, nên không còn gì để tăng tốc hay hủy; USDT vẫn ở địa chỉ gửi. Cách xử lý: nạp TRX vào đúng địa chỉ đó (hoặc có năng lượng được ủy quyền) rồi gửi lại. Mức năng lượng, phí TRX của một lần chuyển USDT đo thực tế ở bài chuyển USDT cho người khác; hợp đồng USDT TRC20 và cách đối chiếu nó với danh sách của Tether ở bài địa chỉ hợp đồng token là gì.
Giao dịch TRON còn có hạn: theo tài liệu TRON, mặc định hết hạn sau 60 giây, tối đa 24 giờ; quá hạn mà chưa vào khối thì “the transaction is dropped instead of included”. Giao dịch được coi là xác nhận hoàn toàn khi khối được “solidified”, thường khoảng 1 phút.
Block time và số xác nhận của từng mạng
Block time cho biết mạng tạo khối nhanh tới đâu, còn giao dịch của bạn vào khối nào vẫn tùy phí.
| Mạng | Thời gian khối | Coi là chắc chắn khi |
|---|---|---|
| Bitcoin | Khoảng 10 phút (thiết kế) | Bitcoin.org: 6 xác nhận là mức tối thiểu khuyến nghị cho khoản lớn |
| Ethereum | 12 giây mỗi slot | Khối được “finalized” |
| TRON | 3 giây mỗi slot (27 Super Representative luân phiên tạo khối) | Khối “solidified” khi ít nhất 19 Super Representative khác nhau đã tạo khối, thường khoảng 1 phút |
Con số 10 phút của Bitcoin là suy ra: tài liệu Bitcoin đặt 2.016 khối trong 1.209.600 giây (hai tuần), 1.209.600 ÷ 2.016 = 600 giây = 10 phút. Ethereum.org: “the block time is 12s” khi mọi validator hoạt động, có slot trống khi validator ngoại tuyến. TRON: tài liệu TRON ghi block time 3 giây.
Bitcoin.org còn lưu ý xác nhận có thể tới “much sooner or much later”, không có độ trễ tối thiểu hay tối đa được bảo đảm. Nên một giao dịch chờ 20–30 phút trên Bitcoin chưa chắc đã có vấn đề.
Giao dịch rút từ sàn bị pending thì làm gì?
Bạn không tăng tốc hay hủy được giao dịch do sàn gửi, vì sàn giữ khóa của địa chỉ gửi; việc của bạn là kiểm TxID và liên hệ sàn.
- Chưa có TxID: lệnh rút còn ở phía sàn (đang duyệt, kiểm tra), chưa lên blockchain.
- Có TxID và đang pending: chờ, hoặc gửi TxID cho hỗ trợ của sàn qua kênh trong ứng dụng.
- Đừng đặt lệnh rút lần hai cho cùng khoản trong lúc chờ.
Các bước kiểm trước khi rút để tránh sự cố ở bài nạp, rút coin là gì.
Chiêu lừa “giao dịch đang treo, nạp phí để mở khóa”
Không mạng blockchain nào yêu cầu bạn chuyển tiền cho một cá nhân hay “bộ phận kỹ thuật” để mở khóa giao dịch: phí mạng được trừ ngay trong giao dịch, từ chính ví gửi. Kịch bản thường gặp ở sàn giả: tài khoản hiện số dư lớn, lệnh rút “bị treo” hoặc “đang chờ xác minh”, rồi bạn được yêu cầu nạp thêm phí, thuế hay tiền “kích hoạt”. Nạp xong lại có khoản phí khác. Dấu hiệu và cách xử lý ở bài sàn không cho rút tiền, bắt nộp phí.
Hai biến thể khác:
- “Công cụ tăng tốc” hay “hủy giao dịch” đòi cụm từ khôi phục hoặc khóa riêng tư. Tăng phí bằng RBF, CPFP hay speed up đều do ví của bạn tự ký, không cần ai khác biết cụm từ khôi phục của bạn. Đưa ra là mất quyền kiểm soát ví.
- Người lạ nhận “hỗ trợ” qua Telegram, Facebook khi bạn hỏi về giao dịch kẹt trong nhóm cộng đồng. Chỉ liên hệ hỗ trợ qua kênh ghi trong ứng dụng hoặc trang chính thức, đừng tin tài khoản tự nhắn tin trước.
Nếu đã chuyển tiền cho kẻ gian, giữ lại TxID và lịch sử trò chuyện, làm theo bài bị lừa tiền ảo phải làm gì.
Chia sẻ bài viết
Câu hỏi thường gặp
Nonce trong blockchain là gì?
Trên Ethereum và các mạng tương thích, nonce là số thứ tự giao dịch của một tài khoản, ethereum.org định nghĩa là bộ đếm tăng dần chỉ số giao dịch của tài khoản. Mỗi nonce chỉ dùng được một lần, nên giao dịch mới cùng nonce sẽ thay giao dịch cũ. Trong khai thác Bitcoin, nonce lại là con số thợ đào thay đổi để tìm khối hợp lệ, một nghĩa khác.
Out of gas là gì?
Là khi giao dịch dùng hết hạn mức gas đặt ra trước khi chạy xong. Theo ethereum.org, mạng hoàn tác mọi thay đổi nhưng gas đã cung cấp vẫn bị tính. Token không rời ví, phí vẫn mất. Đây là giao dịch thất bại, không phải pending.
Hủy giao dịch trên MetaMask có mất phí không?
Có. MetaMask hủy bằng cách gửi một giao dịch thay thế cùng nonce, ví dụ chuyển 0 ETH, với phí cao hơn giao dịch gốc. Nếu giao dịch gốc vào khối trước, lệnh hủy không được đưa vào khối, giao dịch gốc vẫn thành công và bạn chỉ trả phí của giao dịch gốc.
Block time là gì?
Là khoảng thời gian giữa hai khối liên tiếp. Ethereum có mỗi slot 12 giây; Bitcoin được thiết kế trung bình khoảng 10 phút một khối. Block time ngắn không có nghĩa giao dịch của bạn vào khối kế tiếp: phí vẫn quyết định thứ tự.
Giao dịch pending có làm mất tiền không?
Trong lúc pending, tài sản chưa rời ví theo sổ của blockchain. Rủi ro nằm ở thao tác sau đó: gửi lại cùng khoản khi chưa hủy giao dịch cũ có thể khiến cả hai cùng thành công, hoặc tin lời người lạ đòi phí để mở khóa.
Nguồn tham khảo 16
Kiểm chứng ngày 28/10/2026
- 01Mempool.space: FAQ (mempool là gì, giao dịch bị kẹt, RBF, CPFP)mempool.space
- 02Bitcoin Optech: Replace-by-fee (RBF)bitcoinops.org
- 03Bitcoin Optech: Child pays for parent (CPFP)bitcoinops.org
- 04Bitcoin.org: Some things you need to know (xác nhận, phí)bitcoin.org
- 05Bitcoin Core: mempool_options.h (giới hạn 300 MB, hết hạn 336 giờ)github.com
- 06Bitcoin Developer Guide: Block chain (chu kỳ điều chỉnh độ khó)developer.bitcoin.org
- 07Ethereum.org: Transactions (nonce, vòng đời giao dịch)ethereum.org
- 08Ethereum.org: Gas and fees (hết gas, phí ưu tiên)ethereum.org
- 09Ethereum.org: Blocks (block time 12 giây)ethereum.org
- 10MetaMask Support: How to speed up or cancel a pending transactionsupport.metamask.io
- 11TRON Developer Hub: Consensus (block time 3 giây, solidified)developers.tron.network
- 12Bitcoin Core 28.0 release notes (full RBF mặc định)bitcoincore.org
- 13go-ethereum: txpool errors (replacement transaction underpriced)github.com
- 14TRON Developer Hub: Transaction (hết hạn, xác nhận)developers.tron.network
- 15TRON Developer Hub: Paying for resources (OUT_OF_ENERGY)developers.tron.network
- 16Tronscan: giao dịch USDT TRC20 thất bại OUT_OF_ENERGY (28/10/2026)tronscan.org


