Skip to main content
AVOID.NET
← LeetSwap2 decisions on this page

Audit log

Every state-changing event for LeetSwap: moderation decisions on community submissions, plus corrections and updates from the news pipeline. URL-based decisions are designed to carry three independent witnesses — the original source, an Internet Archive snapshot, and a Solana memo signed by our publicly-disclosed publisher key. Archive coverage is still being backfilled, so each decision below reports its own snapshot status rather than assuming one exists.

  1. #1publishby system:backfill
    2026-05-30 11:48:09Z
    Score: ? → ? (no score change)
    anchoranchored
    chain
    ●mainnet-betaslot 423,150,319
    sig
    5xWoda3iCTRQ…HYQsnv2Rexplorer ↗
    hash
    CURXkSAdRuu7…wQ6ZCJ7Vsha256 → base58
    verifying row…full verify ↗
    canonical bytes (7042 B) ▸
    {"actor":"system:backfill","investigation_id":"547094dd-3713-4604-b614-a86072c27462","kind":"publish","page_slug":"leetswap","published_at":"2026-05-30T11:48:09.963Z","sequence_num":1,"snapshot":{"content_type":"investigation","entity_name":"LeetSwap","sections":[{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://www.coindesk.com/business/2023/08/01/leetswap-halts-trading-after-630k-drained-from-liquidity-pairs","type":"other","url":""},{"credibility":3,"name":"https://decrypt.co/150826/leetswap-dex-pauses-trading-base-due-potential-exploit","type":"other","url":""},{"credibility":3,"name":"https://docs.leetswap.finance/products/leetswap-v2-dex/","type":"other","url":""},{"credibility":3,"name":"https://defillama.com/protocol/leetswap","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://medium.com/coinmonks/leetswap-hack-analysis-81323527b3f7","type":"other","url":""},{"credibility":3,"name":"https://coinedition.com/exploit-on-leetswap-leads-to-loss-of-624k-due-to-price-manipulation/","type":"other","url":""},{"credibility":3,"name":"https://beincrypto.com/leetswap-exploit-steals-eth-smart-contract-bug/","type":"other","url":""},{"credibility":3,"name":"https://www.coindesk.com/business/2023/08/01/leetswap-halts-trading-after-630k-drained-from-liquidity-pairs","type":"other","url":""},{"credibility":3,"name":"https://bitcoinist.com/base-dex-leetswap-stops-trading-cites-exploit/","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://www.coindesk.com/business/2023/08/01/leetswap-halts-trading-after-630k-drained-from-liquidity-pairs","type":"other","url":""},{"credibility":3,"name":"https://insidebitcoins.com/news/bases-leetswap-dex-halts-trading-following-a-630k-exploit-from-liquidity-pools","type":"other","url":""},{"credibility":3,"name":"https://www.web3isgoinggreat.com/?id=leetswap-exploit","type":"other","url":""},{"credibility":3,"name":"https://www.chaincatcher.com/en/article/2098625","type":"other","url":""},{"credibility":3,"name":"https://www.binance.com/en/square/post/2023-08-04-leetswap-debunks-fake-airdrop-news-and-reviews-withdrawal-applications-909894","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://medium.com/coinmonks/leetswap-hack-analysis-81323527b3f7","type":"other","url":""},{"credibility":3,"name":"https://coinedition.com/exploit-on-leetswap-leads-to-loss-of-624k-due-to-price-manipulation/","type":"other","url":""},{"credibility":3,"name":"https://github.com/LeetSwap/leet-aggregator","type":"other","url":""},{"credibility":3,"name":"https://beincrypto.com/leetswap-exploit-steals-eth-smart-contract-bug/","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://bitcoinist.com/base-dex-leetswap-stops-trading-cites-exploit/","type":"other","url":""},{"credibility":3,"name":"https://www.theblock.co/post/242402/leetswap-bases-leading-dex-halts-trading-amid-reports-of-an-exploit","type":"other","url":""},{"credibility":3,"name":"https://decrypt.co/150826/leetswap-dex-pauses-trading-base-due-potential-exploit","type":"other","url":""},{"credibility":3,"name":"https://www.web3isgoinggreat.com/?id=leetswap-exploit","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://defillama.com/protocol/leetswap","type":"other","url":""},{"credibility":3,"name":"https://www.coincarp.com/currencies/leetswap/","type":"other","url":""},{"credibility":3,"name":"https://whattofarm.io/tokens/leetswap-linea-leet","type":"other","url":""},{"credibility":3,"name":"https://www.bitget.com/price/leetswap","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://www.coindesk.com/business/2023/08/01/leetswap-halts-trading-after-630k-drained-from-liquidity-pairs","type":"other","url":""},{"credibility":3,"name":"https://bitcoinist.com/base-dex-leetswap-stops-trading-cites-exploit/","type":"other","url":""},{"credibility":3,"name":"https://www.web3isgoinggreat.com/?id=leetswap-exploit","type":"other","url":""},{"credibility":3,"name":"https://cryptozombies.io/videos/en/2023-08-04-crypto-news-for-curve-liquidation-bald-leetswap-consensys","type":"other","url":""}]}],"sources_used":[],"summary":"LeetSwap was a decentralized exchange (DEX) launched on Coinbase's Base Layer 2 network in mid-2023 and briefly held the position of the network's largest DEX by trading volume and total value locked. On August 1, 2023, shortly after Base's mainnet opened to all users, an attacker exploited a publicly exposed smart contract function to drain approximately 342 ETH (~$630,000) from multiple liquidity pools. The protocol halted trading, partially recovered funds through white-hat rescue operations, and has since operated at a fraction of its pre-exploit TVL, with no public audit ever confirmed prior to the incident.","timeline":[{"date":"2023-02-01","event":"LeetSwap contracts initially built and deployed on Canto blockchain during a monthly hackathon.","source":""},{"date":"2023-07-13","event":"Coinbase opens Base mainnet to builders; LeetSwap deploys on Base and begins accumulating TVL.","source":""},{"date":"2023-07-30","event":"BALD memecoin rug pull on Base drains approximately $12.5 million in ETH liquidity, setting a turbulent backdrop for the Base ecosystem.","source":""},{"date":"2023-07-31","event":"LeetSwap reaches peak TVL of approximately $41.2 million, holding position as Base's largest DEX.","source":""},{"date":"2023-08-01","event":"Attacker exploits the publicly exposed `_transferFeesSupportingTaxTokens()` function in LeetSwapV2Pair contract, draining approximately 342 ETH (~$630,000) from multiple liquidity pools.","source":""},{"date":"2023-08-01","event":"LeetSwap halts all trading and activates the Solidly-inherited factory security pause function.","source":""},{"date":"2023-08-01","event":"PeckShield, CertiK, Beosin, and BlockSec confirm the exploit on-chain. Wintermute research head Igor Igamberdiev publicly attributes the drain to the exposed function.","source":""},{"date":"2023-08-01","event":"LeetSwap TVL collapses from $41.2 million to approximately $7.17 million, an 83% decline.","source":""},{"date":"2023-08-01","event":"ZachXBT publicly flags LeetSwap and comments on the exploit via social media.","source":""},{"date":"2023-08-01","event":"LeetSwap posts public message requesting attacker return all funds except 50 ETH (~$92,000).","source":""},{"date":"2023-08-04","event":"LeetSwap publicly denies fake airdrop announcements circulating on social media following the exploit.","source":""},{"date":"2023-08-09","event":"Base network opens to all public users. LeetSwap's white-hat recovery operations yield 314 ETH from at-risk pools for distribution to liquidity providers.","source":""}]},"v":1}
    Verify offline (run on your own machine)
    python -m src.verify_decision 9ef8813e-23a9-4bd7-bbd2-c63eb04310ae
  2. #2rescoreby systemsystem
    2026-10-10 18:45:44Z
    Score: 32 → 52 (+20)
    Rescored under Scoring v2, the published formula (avoid.net/scoring): 32 → 52. Problems weighed by who is responsible: incidents the subject suffered −6.4, problems around the subject, caused by others −3.2, concerns that are not fraud −3.2.
    anchoranchored
    chain
    ●mainnet-betaslot 455,365,430
    sig
    2gu7BXUCG95j…9tvdnYeVexplorer ↗
    hash
    7dpD5ZWRGTtL…Y4tkbFPCsha256 → base58
    verifying row…full verify ↗
    canonical bytes (604 B) ▸
    {"actor":"system","decided_at":"2026-10-10T18:45:43.975Z","decision":"rescore","investigation_id":"547094dd-3713-4604-b614-a86072c27462","new_score":52,"page_slug":"leetswap","prev_score":32,"reason":"Rescored under Scoring v2, the published formula (avoid.net/scoring): 32 → 52. Problems weighed by who is responsible: incidents the subject suffered −6.4, problems around the subject, caused by others −3.2, concerns that are not fraud −3.2.","score_delta":20,"score_model":"v2","sequence_num":2,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}
    Verify offline (run on your own machine)
    python -m src.verify_decision 58a8dce5-195d-4fcf-9ac2-cfa365037684
How verification works. The “Row integrity” check above is computed in your browser — your machine recomputes the SHA-256 of the canonical bytes and compares against the stored hash. No avoid.net server can fake that check. The “full verify” link goes one level deeper: your browser fetches the on-chain transaction from a Solana RPC node and confirms the same hash is in the memo. If you don’t want to trust either avoid.net or the public RPC, run the CLI verifier on your own machine — python -m src.verify_decision <event_id>.