Thu hồi quyền truy cập ví crypto thường bao gồm hai việc khác nhau: ngắt kết nối website khỏi ví và hủy quyền chi tiêu token đã được ghi trên blockchain. Ngắt kết nối chỉ xóa phiên kết nối trong ứng dụng ví; muốn ngăn một smart contract tiếp tục sử dụng token theo quyền đã cấp, người dùng phải gửi giao dịch revoke trên đúng mạng.
Việc kiểm tra quyền ví Web3 không đòi hỏi nhập seed phrase hoặc private key. Tuy nhiên, thao tác thu hồi quyền on-chain thường cần ký giao dịch và trả phí mạng bằng đồng coin gốc như ETH, BNB, POL, SOL hoặc TRX, tùy blockchain.
Hiểu đúng quyền truy cập ví và token approval
Token approval là gì?
Token approval là sự cho phép một địa chỉ hoặc smart contract, thường được gọi là spender, sử dụng token thay mặt chủ ví trong phạm vi nhất định. Trên các mạng tương thích Ethereum Virtual Machine, cơ chế này thường xuất hiện khi người dùng giao dịch trên sàn phi tập trung, cung cấp thanh khoản, gửi tài sản vào giao thức cho vay hoặc tương tác với cầu nối blockchain.
Với token theo chuẩn ERC-20, quyền thường được thiết lập qua hàm approve. Phạm vi có thể là:
- Một lượng token cụ thể.
- Quyền có hạn mức rất lớn, thường được giao diện mô tả là unlimited approval.
- Quyền dành cho một spender cụ thể trên một blockchain cụ thể.
Đối với NFT, các hàm như approve hoặc setApprovalForAll có thể cấp quyền chuyển một NFT riêng lẻ hoặc toàn bộ tài sản thuộc một bộ sưu tập. Vì vậy, quyền operator đối với NFT cần được kiểm tra riêng với quyền ERC-20.
Token approval không đồng nghĩa với việc smart contract nắm seed phrase và cũng không mặc nhiên cho phép lấy mọi tài sản trong ví. Rủi ro phụ thuộc vào token, hạn mức, loại quyền và địa chỉ spender đã được phê duyệt. Nếu hợp đồng độc hại hoặc bị khai thác, quyền còn hiệu lực có thể bị sử dụng trong giới hạn đã cấp.
Kết nối ví khác với cấp quyền chi tiêu
Khi kết nối MetaMask, Rabby, Phantom hoặc một ví Web3 khác với website, ứng dụng thường có thể nhìn thấy địa chỉ công khai và yêu cầu người dùng ký thông điệp hay giao dịch. Chỉ ngắt kết nối website không tự động xóa token approval đã tồn tại on-chain.
Có thể phân biệt như sau:
| Loại quyền | Được lưu ở đâu? | Cách xử lý |
|---|---|---|
| Phiên kết nối website | Trong ví hoặc trình duyệt | Ngắt kết nối trong mục connected sites hoặc trusted apps |
| ERC-20 allowance | Trên blockchain EVM | Gửi giao dịch đặt hạn mức về 0 hoặc dùng chức năng revoke |
| Quyền operator NFT | Trên blockchain | Thu hồi quyền của operator |
| Solana token delegate | Trong trạng thái token account | Gửi lệnh revoke delegate bằng ví hoặc công cụ tương thích |
| Chữ ký permit chưa được sử dụng | Ngoài chuỗi cho đến khi được gửi | Kiểm tra thời hạn và cơ chế nonce; revoke allowance hiện tại có thể chưa đủ để vô hiệu hóa mọi chữ ký đã lộ |
Khi nào nên thu hồi quyền truy cập ví crypto?

Người dùng nên kiểm tra và cân nhắc hủy quyền smart contract khi:
- Không còn sử dụng một sàn DEX, cầu nối, giao thức lending hoặc ứng dụng GameFi.
- Đã cấp unlimited approval cho hợp đồng nhưng chỉ thực hiện một giao dịch ngắn hạn.
- Không nhận ra tên ứng dụng hoặc địa chỉ spender.
- Dự án thông báo hợp đồng bị khai thác, dừng hoạt động hoặc chuyển sang hợp đồng mới.
- Đã kết nối ví với một website đáng ngờ hoặc ký giao dịch mà không hiểu nội dung.
- Ví chứa token hay NFT có giá trị nhưng tồn tại nhiều quyền cũ.
- Một tên miền, tài khoản mạng xã hội hoặc giao diện dự án có dấu hiệu bị chiếm quyền kiểm soát.
Không phải mọi quyền cũ đều là bằng chứng ví đang bị tấn công. Một số spender là router hoặc hợp đồng chính thức của giao thức. Trước khi hành động theo cảnh báo lan truyền trên mạng xã hội, nên áp dụng quy trình kiểm chứng tin tức crypto trước khi hành động, đặc biệt khi bài đăng kèm đường dẫn yêu cầu kết nối ví khẩn cấp.
Chọn công cụ kiểm tra phù hợp với từng mạng
Không có một công cụ mặc định phù hợp tuyệt đối với mọi blockchain. Trước tiên cần xác định tài sản nằm trên mạng nào, sau đó dùng trình khám phá blockchain, giao diện ví hoặc công cụ revoke hỗ trợ đúng chuẩn token của mạng đó.
| Mạng hoặc hệ sinh thái | Công cụ có thể dùng để kiểm tra | Lưu ý |
|---|---|---|
| Ethereum | Token Approval Checker của Etherscan hoặc công cụ như Revoke.cash | Kiểm tra cả ERC-20 và quyền operator NFT; xác minh đúng tên miền trước khi kết nối |
| BNB Smart Chain | BscScan hoặc công cụ revoke hỗ trợ BNB Chain | Phí giao dịch được trả bằng BNB, không phải token đang thu hồi quyền |
| Polygon | Trình khám phá chính thức của mạng hoặc công cụ revoke hỗ trợ Polygon | Chọn đúng mạng trong ví trước khi ký |
| Arbitrum, Optimism và các mạng EVM khác | Trình khám phá tương ứng hoặc công cụ đa mạng đã xác minh | Mỗi mạng có trạng thái approval riêng; revoke trên Ethereum không xóa quyền trên Arbitrum |
| Solana | Giao diện ví đáng tin cậy, Solana Explorer hoặc trình khám phá có hiển thị token delegate | Tìm delegate của từng token account; không áp dụng quy trình ERC-20 một cách máy móc |
| TRON | TRONSCAN và chức năng quản lý approval được mạng hỗ trợ | Có thể phát sinh tài nguyên Energy, Bandwidth hoặc chi phí bằng TRX |
| Cosmos SDK | Ví hoặc trình khám phá hỗ trợ kiểm tra Authz grant | Đây không phải ERC-20 approval; cần xác minh đúng loại quyền và thông điệp revoke |
| Bitcoin | Trình khám phá giao dịch và phần quản lý kết nối của ví | Bitcoin gốc không sử dụng mô hình token approval như ERC-20 |
Tên và tính năng của công cụ có thể thay đổi. Cách an toàn hơn là mở trình khám phá từ tài liệu chính thức của blockchain hoặc từ dấu trang đã tự xác minh, thay vì bấm vào quảng cáo tìm kiếm, tin nhắn riêng hay đường dẫn rút gọn.
Nếu giao dịch revoke bị treo hoặc trình khám phá không cập nhật, cần phân biệt lỗi ví, RPC và sự cố mạng. Quy trình kiểm tra blockchain có ngừng hoạt động hay không giúp tránh gửi lặp nhiều giao dịch chỉ vì một giao diện đang lỗi.
Các bước revoke token approval an toàn
Bước 1: Xác định địa chỉ ví và blockchain
Ghi nhận địa chỉ ví cần kiểm tra và từng mạng đã sử dụng. Một địa chỉ EVM có thể hiển thị giống nhau trên Ethereum, BNB Smart Chain, Polygon hoặc Arbitrum, nhưng quyền chi tiêu trên mỗi mạng là độc lập.
Nếu từng sử dụng nhiều ví, hãy kiểm tra riêng từng địa chỉ. Không nhập seed phrase để tra cứu approval; địa chỉ công khai là đủ cho bước kiểm tra ban đầu.
Bước 2: Kiểm tra ở chế độ chỉ đọc trước
Dán địa chỉ công khai vào trình kiểm tra approval uy tín nếu công cụ cho phép tra cứu mà chưa cần kết nối ví. Danh sách nên thể hiện tối thiểu:
- Token hoặc bộ sưu tập NFT đã cấp quyền.
- Địa chỉ spender hoặc operator.
- Hạn mức được phép sử dụng.
- Mạng blockchain.
- Giao dịch tạo hoặc thay đổi quyền, nếu có dữ liệu.
Không nên đánh giá chỉ dựa trên logo và tên hợp đồng vì các yếu tố này có thể bị giả mạo. Địa chỉ contract mới là thông tin cần đối chiếu.
Bước 3: Ưu tiên các quyền có rủi ro cao
Nên xem xét trước các quyền:
- Unlimited approval đối với token đang có số dư đáng kể.
setApprovalForAlldành cho operator không còn sử dụng.- Spender không xác định được hoặc không xuất hiện trong tài liệu chính thức của dự án.
- Hợp đồng liên quan đến ứng dụng đã ngừng hoạt động, bị khai thác hoặc đổi contract.
- Quyền được tạo gần thời điểm người dùng truy cập một website đáng ngờ.
Không cần thu hồi mọi quyền một cách thiếu kiểm soát. Revoke một hợp đồng hợp lệ có thể khiến lần sử dụng tiếp theo phải cấp quyền lại và trả thêm phí mạng.
Bước 4: Xác minh spender
Đối chiếu địa chỉ spender với ít nhất một nguồn chính thức như tài liệu dự án, thông báo trên website chính thức hoặc trình khám phá blockchain. Với một dự án mới, việc hiểu vai trò của router, vault, bridge và token contract cũng nên nằm trong quá trình đọc whitepaper dự án crypto, dù whitepaper không thay thế việc kiểm tra mã hợp đồng và giao dịch thực tế.
Cần thận trọng nếu công cụ revoke:
- Yêu cầu seed phrase hoặc private key.
- Đề nghị cài phần mềm không rõ nguồn gốc.
- Yêu cầu chuyển tiền đến một địa chỉ để xác minh ví.
- Hiển thị giao dịch
transfer,swaphoặcsetApprovalForAllthay vì lệnh thu hồi dự kiến. - Thúc giục ký ngay vì tài sản được cho là sắp bị khóa.
Bước 5: Gửi giao dịch thu hồi
Trên mạng EVM, revoke ERC-20 thường đặt allowance của spender về 0. Với NFT, giao dịch sẽ xóa approval của token cụ thể hoặc tắt quyền operator. Trên Solana, thao tác thường gửi chỉ thị revoke đối với delegate của token account.
Trước khi xác nhận trên ví, kiểm tra:
- Đúng blockchain.
- Đúng địa chỉ ví.
- Đúng token hoặc NFT.
- Đúng địa chỉ spender cần thu hồi.
- Phương thức giao dịch phù hợp với hành động revoke.
- Không kèm yêu cầu chuyển tài sản ngoài dự kiến.
Ví cứng chỉ giúp bảo vệ khóa nếu người dùng đọc và xác minh nội dung trước khi ký. Nếu ký mù một giao dịch độc hại, thiết bị phần cứng không thể tự xác định ý định của người dùng.
Bước 6: Chờ xác nhận và kiểm tra lại
Sau khi giao dịch được xác nhận, mở lại trang approval hoặc trình khám phá để kiểm tra allowance đã về 0 hay quyền operator đã bị tắt. Việc nút revoke biến mất khỏi giao diện chưa đủ để kết luận; trạng thái on-chain mới là căn cứ chính.
Cuối cùng, ngắt các website không còn dùng trong phần quản lý kết nối của ví. Đây là bước bổ sung, không thay thế giao dịch revoke.
Phí mạng và những điều cần kiểm tra trước khi ký

Tra cứu quyền bằng địa chỉ công khai thường không phát sinh phí. Phí chỉ xuất hiện khi gửi giao dịch thay đổi trạng thái blockchain.
Phí được thanh toán bằng coin gốc
- Ethereum và nhiều layer 2 sử dụng ETH.
- BNB Smart Chain sử dụng BNB.
- Polygon PoS sử dụng coin gốc của mạng.
- Solana sử dụng SOL.
- TRON sử dụng tài nguyên mạng hoặc TRX tùy trạng thái tài khoản và giao dịch.
Mức phí biến động theo tình trạng mạng, loại giao dịch và cơ chế của từng blockchain. Không nên tin một website khẳng định phí cố định nếu ví đang hiển thị con số khác; hãy kiểm tra lại mạng, dữ liệu giao dịch và ước tính phí ngay tại thời điểm ký.
Revoke hàng loạt có thể không phải một giao dịch duy nhất
Một giao diện có thể đề xuất thu hồi nhiều quyền cùng lúc, nhưng phía sau có thể là nhiều giao dịch riêng hoặc một tương tác với hợp đồng trung gian. Cần đọc từng yêu cầu ký. Không nên phê duyệt một batch chỉ vì giao diện mô tả đó là thao tác dọn ví.
Giao dịch thất bại vẫn có thể tiêu tốn một phần phí mạng. Nếu ví báo lỗi ước tính gas, hãy dừng lại để kiểm tra số dư coin gốc, trạng thái RPC và contract thay vì liên tục tăng phí hoặc gửi lại.
Xử lý theo từng tình huống rủi ro
Chỉ kết nối ví nhưng chưa ký gì
Ngắt website khỏi danh sách ứng dụng đã kết nối, xóa phiên truy cập nếu cần và kiểm tra approval hiện có. Việc kết nối đơn thuần thường không tạo quyền chi tiêu on-chain, nhưng website vẫn có thể đã ghi nhận địa chỉ công khai của ví.
Đã ký token approval đáng ngờ
Thu hồi quyền càng sớm càng tốt bằng công cụ đã xác minh. Nếu approval liên quan đến nhiều mạng, phải kiểm tra từng mạng riêng. Sau đó rà soát lịch sử giao dịch để phát hiện hoạt động chuyển token ngoài dự kiến.
Đã ký setApprovalForAll
Kiểm tra operator được cấp quyền và tắt quyền trên đúng bộ sưu tập NFT. Loại approval này có phạm vi rộng hơn quyền cho một NFT riêng lẻ, vì vậy cần được ưu tiên xử lý.
Đã lộ seed phrase hoặc private key
Revoke token approval là không đủ. Người có seed phrase có thể ký giao dịch mới như chủ ví. Cần tạo ví mới trên thiết bị sạch, sao lưu khóa an toàn và chuyển tài sản còn lại sang địa chỉ mới. Không tiếp tục sử dụng ví cũ để nhận hoặc lưu trữ tài sản.
Tài sản đã bị chuyển đi
Hủy quyền có thể ngăn một số lần sử dụng tiếp theo nhưng không đảo ngược giao dịch đã được xác nhận. Hãy lưu địa chỉ, mã giao dịch, thời gian và bằng chứng liên quan; đồng thời cảnh giác với dịch vụ tự nhận có thể thu hồi tài sản nếu người dùng trả phí trước hoặc cung cấp seed phrase.
Cách giảm rủi ro cấp quyền trong tương lai

- Chỉ kết nối ví từ website chính thức đã tự xác minh.
- Không nhập seed phrase vào website, biểu mẫu hỗ trợ hoặc công cụ revoke.
- Chọn hạn mức token vừa đủ nếu giao diện cho phép, thay vì mặc định unlimited approval.
- Dùng ví riêng cho hoạt động thử nghiệm, mint NFT hoặc tương tác với dự án mới.
- Tách tài sản lưu trữ dài hạn khỏi ví thường xuyên kết nối ứng dụng Web3.
- Đọc nội dung yêu cầu ký, đặc biệt là spender, token, hạn mức và phương thức contract.
- Kiểm tra định kỳ quyền trên các mạng đã từng sử dụng, không chỉ mạng đang có số dư.
- Lưu dấu trang của ví, trình khám phá và ứng dụng thường dùng để giảm nguy cơ truy cập tên miền giả.
- Không ký giao dịch chỉ vì một tài khoản mạng xã hội thông báo airdrop, nâng cấp hay sự cố khẩn cấp.
Một quy trình kiểm tra định kỳ không bảo đảm loại bỏ mọi rủi ro, nhưng có thể giảm bề mặt tấn công do các approval cũ và không còn cần thiết.
Câu hỏi thường gặp
Revoke token approval có làm mất token không?
Thông thường không. Revoke chỉ thay đổi hoặc xóa quyền của spender, không chuyển token khỏi ví. Tuy nhiên, người dùng vẫn phải kiểm tra nội dung giao dịch vì một website giả có thể gắn nhãn revoke cho lệnh chuyển tài sản hoặc cấp quyền mới.
Ngắt kết nối website có đồng nghĩa đã hủy quyền smart contract không?
Không. Ngắt kết nối chỉ chấm dứt phiên giữa website và ví. Token approval được lưu trên blockchain vẫn tồn tại cho đến khi bị thay đổi bằng giao dịch on-chain hoặc hết hiệu lực theo cơ chế riêng của quyền đó.
Có thể kiểm tra quyền ví Web3 mà không kết nối ví không?
Có, nếu công cụ hỗ trợ nhập địa chỉ công khai để tra cứu. Đây là cách nên ưu tiên ở bước đầu. Chỉ kết nối ví khi đã xác minh công cụ và cần gửi giao dịch thu hồi.
Thu hồi quyền trên Ethereum có áp dụng cho BNB Chain hoặc Arbitrum không?
Không. Approval tồn tại trên từng blockchain. Dù các mạng EVM có thể dùng cùng định dạng địa chỉ, người dùng vẫn phải chuyển sang đúng mạng và kiểm tra trạng thái riêng.
Nên revoke tất cả approval hay chỉ quyền đáng ngờ?
Nên ưu tiên quyền không còn dùng, unlimited approval, operator NFT và spender không xác định. Revoke toàn bộ có thể làm gián đoạn quy trình đang sử dụng và buộc người dùng cấp quyền lại, phát sinh thêm phí.
Công cụ thu hồi quyền có cần seed phrase không?
Không. Công cụ hợp lệ chỉ cần địa chỉ công khai để kiểm tra và yêu cầu ví ký giao dịch khi thực hiện revoke. Bất kỳ website hoặc nhân viên hỗ trợ nào yêu cầu seed phrase hay private key đều không nên được tin cậy.
Thu hồi quyền có lấy lại tài sản đã mất không?
Không. Revoke chỉ tác động đến quyền còn hiệu lực trong tương lai. Giao dịch đã được xác nhận trên blockchain thường không thể đảo ngược bằng thao tác này.
