Database

Incident database

Every documented loss event with its root cause, its mechanics and its lesson. Search, filter, and open any card for the full story.

Showing 48 of 860

Rounding / PrecisionAug 2026

KiiChain

The attacker precomputed the future address of an EVM contract deployment, converted that address into a delayed-vesting account funded with exactly 2 KII, then deployed a helper contract o…

Cosmos$9.7MDeep dive
BridgeJul 2026

AFX Trade

An operational address created the withdrawal, it cleared the dispute window, and a batched finalize released $24.15M USDC to the loot wallet (0x2f2974fa...). The funds moved like routine t…

Arbitrum$24.2MDeep dive
Input ValidationJun 2026

Aztec Bridge (Aztec 2.0 escape hatch)

At 18:21 UTC a fresh wallet funded with 0.134 ETH from HitBTC; 13 minutes later escapeHatch() released 1,158 ETH (~$2.04M) in a single call (18:34), then 150,000 DAI (18:49) and 0.4696 renB…

Ethereum$2.2MDeep dive
Input ValidationJun 2026

Aztec Connect

At 12:26 UTC the attacker batched 14 valid processRollup calls into RollupProcessorV3 in one atomic tx, executing public withdrawals: 909 ETH, 270,513 DAI, 167.89 wstETH, plus LUSD, yvDAI,…

Ethereum$2.3MDeep dive
Key CompromiseJun 2026

Humanity Protocol

Director Chong Yee Wai opened a fake Bithumb zip on Jun 5 (hncagent.exe loader, Hancom-signed), giving the attacker RDP access; neither Sophos nor Defender flagged it. On Jun 8 the attacker…

Ethereum$36.4MDeep dive
Business LogicJun 2026

ATM

ATM's _transfer() sell branch auto-sells 20% of the sell size from the contract's own reserves at amountOutMin=0 whenever its balance exceeds swapAtAmount, leaking value to marketing/divide…

BSC
Oracle / Price ManipulationJun 2026

BY Token

triggerAutoBurn() is permissionless once trading is enabled. The attacker corner-buys BY via the router (output routed to the router itself), donates WBNB to the pair and sync()s to cross t…

BSC
Rug PullMay 2026

DxSale

The DxSale Legacy Liquidity Locker's owner-only DXLOCKERLP(address,uint256) backdoor drains any locked LP position without respecting individual timelocks. Ownership was secretly relayed th…

BSC
ReentrancyMay 2026

Joe Agent

removeLiquidityViaContract(liquidity,...) sends BNB to the caller before zeroing lpInfo[user].lpAmount. The attacker parks one ~437 LP position, then its receive() re-enters with the same l…

BSC
Signature ValidationMay 2026

LegendaryMoneyMonNft

cliamRewred() verifies a claim via recoverSigner(hash, sig) == admin, but the admin was set to address(0) and ecrecover returns address(0) for malformed signatures without the contract chec…

BSC
Rug PullMay 2026

SKP

The SKP token has an owner-only ownerBurnLiquidityPairTokens(amount) that burns SKP sitting directly inside the SKP/USDT pair. The owner burns ~95% of the pair's SKP, then pair.sync() re-ba…

BSC
Rug PullMay 2026

SKP (exit-scam framing) — SKP_exp2.sol

SKP's _transfer() fires _runSpecialPairFlow() when the pair sends SKP to a whitelisted buyer, redistributing an unbounded amount of treasury SKP to the single owner-set WL_ADDRESS; the trig…

BSC
Business LogicMay 2026

WUSD / GLOVE

WUSD.wrap()'s _englove() mints ~2 GLOVE to any caller whose current GLOVE balance is under 2e18 — eligibility keys only on the live balance, with no per-address claim ledger, cooldown, or i…

Ethereum
Access ControlMay 2026

YSDAO

YSDAO's transfer protection detects add/remove-liquidity by comparing pair balances to reserves. The attacker buys YSDAO while having the pair pay out 1 wei USDT so _isRemoveLiquidity() rea…

BSC
Key CompromiseApr 2026

Wasabi Protocol

Funding arrived from a Tornado-linked address at 01:12 UTC Apr 30; malicious contracts were deployed and gas loaded by 07:46; at 07:49:47 the Ethereum drain emptied eight vaults in one tran…

Ethereum$5.9MDeep dive
BridgeApr 2026

KelpDAO (rsETH / LayerZero DVN)

One forged packet released 116,500 rsETH (~18% of supply) from the shared custody adapter in a single tx; the attacker (funded with ~$230 from Tornado Cash ~10h earlier) split it across eig…

Ethereum$290MDeep dive
BridgeApr 2026

Hyperbridge

The attacker submitted a ChangeAssetAdmin request for the bridged DOT token with leafCount:1, leaf_index:1, proof:[root], leafCount:1 — the computed root equalled the expected root without…

Ethereum$2.5MDeep dive
Key CompromiseApr 2026

MONA LisaVault

Each 220 USDT node purchase pays 70 USDT to the L1 referrer and 50 USDT to L2. The attacker deploys 25 fresh NodeBuyer proxy contracts (bypassing the 1-node-per-address cap) that register t…

BSC
DoS / GriefingApr 2026

Saturn Protocol (sUSDat)

SAT-001: after transferInRewards() and burnQueuedShares() the invariant strcBalance >= getUnvestedAmount() breaks, so convertFromStrc() underflows (strcBalance - unvested) and panics (0x11)…

Ethereum
Oracle / Price ManipulationMar 2026

Venus Protocol (Rekt IV)

From June 2025, a wallet funded with 7,447 ETH (~$16.29M) via 77 Tornado Cash transfers deposited ETH on Aave, borrowed ~$9.92M in stables, and spent nine months accumulating 84% of Venus's…

BSC$3.7MDeep dive
Oracle / Price ManipulationMar 2026

Aave

At 11:46 UTC on March 10 Chaos Labs computed the update off-chain; AgentHub (BGD Labs) executed it one block later via Chainlink Automation with no human review. Aave priced wstETH 2.85% be…

Ethereum$27.8MDeep dive
Business LogicMar 2026

Alkemi Earn

The attacker flashloans 51 WETH, supplies 50 ETH as aweth collateral, borrows 39.5 aweth against it, then calls liquidateBorrow{value: amount}(self, aweth, aweth, amount) paying exactly the…

Ethereum
Access ControlMar 2026

Curve LlamaLend / crvUSD

Using nested Morpho flashloans (USDC then WETH) the attacker creates a crvUSD loan, deposits into the Yearn scrvUSD vault, freely calls sDOLA.mint() to mint shares out of thin air, and uses…

Ethereum
Token LogicMar 2026

EST / BNBDeposit

Using EIP-7702 delegation (needed because BNBDeposit only lets EOAs claim), the attacker flashloans 20,000 WBNB, repeatedly deposits into BNBDeposit, swaps WBNB→EST, sends 1 EST directly to…

BSC
Access ControlMar 2026

Venus (THE market)

Six EOAs had pre-approved the future attack-contract address, letting the attacker transferFrom their THE into vTHE — inflating the market exchange rate. The attacker then uses Venus borrow…

BSC
Oracle / Price ManipulationFeb 2026

YieldBlox

The attacker's wallet was created Feb 14 (56.32 XLM); on Feb 21 23:35 a burner account placed a sell offer of 1.2185 USTRY at 107 USDC (100x); at 00:10:21 Feb 22 a trigger account bought 0.…

Stellar$11MDeep dive
BridgeFeb 2026

IoTeX (ioTube bridge)

The attacker called upgrade() on TransferValidatorWithPayload (0xE7eBA1CE…) to install a validation-free implementation, then transferred ownership of TokenSafe and MinterPool. In 189 trans…

Ethereum$4.4MDeep dive
Token LogicFeb 2026

LAXO Token

The attacker flashloans 350 BUSD from Pancake V3, buys LAXO via the fee-on-transfer router path, adds and then removes liquidity, then raw-transfers their entire LAXO balance directly into…

BSC
Oracle / Price ManipulationFeb 2026

Moonwell

With a WETH flashloan from an Aerodrome CL pool, the attacker calls liquidateBorrow(victim, amount, mcbETH) to repay a victim's WETH debt and seize cbETH collateral, redeems mcbETH for cbET…

Base
Infinite MintJan 2026

TMXTribe

Defimon Alerts flagged the exploit on Jan 5; the exploiter 0x763a67E4418278f84c04383071fC00165C112661 (funded Jan 3) and a parallel secondary address 0x16Ed3AFf3255FDDB44dAa73B4dE06f0C2E152…

Arbitrum$1.4MDeep dive
Token LogicJan 2026

MT Token

MT's transactionFee() splits transactFeeValue across an unbounded list of percentages without enforcing sum(shares) <= 100, so a transfer can debit the sender for far more than amount. AMM…

BSC
Business LogicJan 2026

PRXVT

Attacker stakes 400,000 PRXVT, then loops (until a gas threshold) transferring the whole stPRXVT balance into a freshly CREATE2-deployed helper which calls earned() + claimReward() and retu…

Base
Input ValidationJan 2026

SynapLogic

The presale's buy()/swap() accept arrays of recipients, rates, and refundFlags and pay each entry a rate% refund out of the contract's balance, while msg.value (or the swap input) is receiv…

Base
Oracle / Price ManipulationJan 2026

Truebit

The TRU pool's getPurchasePrice uses a quadratic formula; the PoC reverse-solves the buy amount A that drives the formula to the uint256 maximum (via maxPrice/(100*R) + sqrt), where the com…

Ethereum
Business LogicJan 2026

Futureswap

The victim contract computes a token-unit fee (abs(delta) * feeRateWad / 1e18) and forwards it into FeeManager.addFee(), where the receiving system interprets the value as feeBasisPoints. T…

Arbitrum
Oracle / Price ManipulationJan 2026

Makina

Makina's Machine.updateTotalAum() prices DUSD from Curve pool balances via accountForPosition commands (balanceOf reads). With a 280M USDC flashloan the attacker pumps DUSD and MIM in their…

Ethereum
Rounding / PrecisionDec 2025

Yearn (IV)

With a 30M USDC Morpho flash loan the attacker donated blind assets, broke the share accounting, minted an astronomical quantity of yTUSD shares, and dumped them into the Curve yPool for yD…

Ethereum$293KDeep dive
Oracle / Price ManipulationDec 2025

Aevo / Ribbon Finance

A staged multi-wallet crew (Mastermind/Specialist/Engineer/Bagman/"Fall Guy") whitelisted collateral and deployed a disguised oracle to build a compliance history, then in one transaction h…

Ethereum$2.7MDeep dive
Token LogicDec 2025

Yearn yETH

The yETH pool tracks virtual balances (vb_prod_sum) for 8 assets, one of which (OETH) is rebasing, and update_rates is public. The attacker runs a choreographed sequence: a large removal, f…

Ethereum
ArithmeticNov 2025

Yearn (III)

21:11 UTC Nov 30, a single transaction: ~$8M drained from the yETH stableswap pool and ~$0.9M from the Curve yETH-WETH pool; ~1,000 ETH (~$3M) went into Tornado Cash as ten 100-ETH deposits…

Ethereum$9MDeep dive
Rounding / PrecisionNov 2025

Balancer V2 ComposableStablePool

The November 2025 Balancer V2 exploit uses the ComposableStablePool's rate-provider scaling factors: the attacker computes a trickAmt just below the scaling-factor precision threshold (e.g.…

Ethereum
Oracle / Price ManipulationNov 2025

DRL Vault V3

The attacker Morpho-flash-loans 13.98M USDC and swaps USDC→WETH through the DexRouter to move the pool price, then calls the vault's swapToWETH(100,000 USDC) — the vault converts at the now…

Ethereum
Oracle / Price ManipulationNov 2025

Moonwell

The attacker flash-loans wrsETH from the wstETH/wrsETH pool, mints mwrsETH cTokens, enters the market, and borrows ~20,592 mwstETH against it — far more than the wrsETH collateral is worth,…

Base
Business LogicOct 2025

Abracadabra (III)

The attacker called cook() with actions [5, 0]: action 5 queued a massive borrow and set the solvency flag, action 0 immediately reset it, and the check never ran — 1,793,755 MIM borrowed a…

Ethereum$1.8MDeep dive
Business LogicOct 2025

Abracadabra Cauldrons (MIM/Spell)

The Spell v3 cook() accepts a REPAY action whose amount is attacker-chosen; for each of six cauldrons the attacker checks borrowLimit vs the cauldron's MIM balance in the BentoBox, then coo…

Ethereum
Business LogicOct 2025

Sharwa Finance

The attacker creates a margin account, provides USDC through the supply-token pool and provideERC20, opens a WBTC long via increaseLongPosition, then WITHDRAWS his entire pool deposit — lea…

Arbitrum
Access ControlOct 2025

TokenHolder (BorrowerOperations)

BorrowerOperations.sell() accepts caller-supplied tokenHolder, inchRouter and whitelistedDex addresses and executes the sellingCode through them. The attacker passes his own contract for al…

BSC
Access ControlSep 2025

Kame (aggregation router)

Kame's aggregation router swap() executes caller-supplied executeParams against the caller-supplied executor address. The attacker crafts SwapParams with executor = USDC token, executeParam…

Sei