GasGenie — Dust Cleaner

Convert tiny token balances to BNB or SOL. BSC charges 12.5% → Treasury; Solana has no protocol fee.
Solana
BSC
Explore
Not enough BNB for gas. Add a little BNB and try again.
Not enough SOL for fees. Add SOL (we suggest ~0.002 SOL minimum).
Wallet:
Percent: 100%
Target: BNB
safe
Tokens (raw / filtered)
0 / 0
Est. Gross Out
0.00000 BNB
Protocol Fee (12.5%)
0.00000 BNB
Est. Net To You
0.00000 BNB
Selected Output
BNB
Ready.
Quick %applies to all tokens
10%
25%
50%
75%
100%
Quotes use Pancake v2 on-chain pricing (token→WBNB→target). Net subtracts 12.5% protocol fee.
Activity
Working…
Success
// --- Referral gate (first-touch bind) --- async function ensureReferralBound(evWallet){ try{ const who = await fetch(`/api/referral/whoami?wallet=${encodeURIComponent(evWallet)}`).then(r=>r.json()); if (who.ok && who.code) return true; // Try query param first (?code=XYZ&src=telegram) const urlp = new URLSearchParams(location.search); let code = (urlp.get('code') || '').trim(); // If no code in URL, ask user (default GasGenie) if(!code){ code = (prompt('Enter a referral code to continue (default: GasGenie):','GasGenie') || '').trim(); if(!code) code = 'GasGenie'; } // Optional: record "hit" with src (utm-style) const src = urlp.get('src') || 'webapp'; await fetch('/api/referral/hit', { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ code, src }) }); // Bind (first-touch) const b = await fetch('/api/referral/bind', { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ wallet: evWallet, code }) }).then(r=>r.json()); if(b.ok){ toast(`Referral set: ${b.bound}`); return true; } alert('Could not bind referral. You can still continue, but rewards may not accrue.'); return true; }catch(e){ console.log('referral bind error', e); return true; // don’t hard-block UX on network hiccups } } // Hook into Approve / Sweep buttons (BSC) const _origApprove = document.getElementById('bsc-approve').onclick; document.getElementById('bsc-approve').onclick = async (e)=>{ if (BSC_ACCOUNT && await ensureReferralBound(BSC_ACCOUNT)) { return _origApprove && _origApprove(e); } }; const _origSweep = document.getElementById('bsc-sweep').onclick; document.getElementById('bsc-sweep').onclick = async (e)=>{ if (BSC_ACCOUNT && await ensureReferralBound(BSC_ACCOUNT)) { return _origSweep && _origSweep(e); } };