Back to the list
Rust core · Android + web
VDG FundTrail
Scanning approval traps on USDT TRC20 wallets
People watch their balance, but on TRON the dangerous thing is the list of allowances already granted. An unlimited approval signed months ago is still live, and every USDT arriving in the wallet can be pulled straight out. The app scans exactly there.
Installed software — no public demo.
- Rust
- TRON / TRC20
- Android
- Web
§ 01 — Algorithm
# Trên TRON, ví bị rút sạch KHÔNG cần chữ ký mới:
# chỉ cần trước đó đã cấp approval không giới hạn cho một spender.
# Nên thứ phải quét là DANH SÁCH QUYỀN, không phải số dư.
scan(wallet):
approvals ← on_chain_allowances(wallet, TRC20)
for a in approvals:
a.risk ← 'nguy hiểm' nếu a.allowance = ∞
hoặc a.spender ∉ {owner, hợp đồng đã biết}
hoặc a.spender ∈ blacklist
return approvals where risk = 'nguy hiểm' # "24 bẫy đang mở"
# Mỗi bẫy hiển thị đủ bằng chứng để tự kiểm chứng ngoài app:
# spender · hạn mức đã cấp · txid cấp quyền · thời gian · số ngày còn hiệu lực
# → kèm link mở thẳng Tronscan
capabilities:
✓ đọc on-chain của CHÍNH ví người dùng
✗ private key ✗ seed phrase ✗ ký giao dịch
# Thu hồi quyền phải tự làm ở ví thật — app chỉ hướng dẫn.§ 02 — Highlights
- Scans open TRC20 approvals, flagging unlimited allowances and unknown spenders
- Every trap comes with evidence: spender, allowance, granting txid, timestamp, days live
- Cross-checks spenders against an address blacklist
- Direct Tronscan links so findings can be verified outside the app
- No private key, no seed phrase, no transaction signing
- Shared Rust core across web and Android clients
§ 03 — Screens

