Leaderboard
1222All-time rank
D

DoinGud

Sep 21, 2026

$35K
Lost
$35K
Recovered
$0
Net loss
$35K
Unrecovered0% recovered

DoinGud’s acceptOffer settlement logic transferred an offer’s USDC price to the caller without deleting or zeroing the consumed offer record. Unlike cancelOffer, the acceptance path omitted the swap-and-pop cleanup.

Missing checks also permitted the offerer to accept their own offer and permitted a zero NFT amount. By using amount=0, the attacker avoided listing cleanup and replayed identical acceptOffer calldata, causing the contract to pay the same offer repeatedly.

A flash loan supplied the temporary USDC needed to construct the self-funded offer. Independent reporting likewise describes the exploit as failure to clear a bid after acceptance.

How the exploit worked

View reproducible PoC

acceptOffer replay via missing offer cleanup on the amount=0 path.

Lost: 35,380.154566 USDC net (two byte-identical acceptOffer calls each paid out 35,486.935717 USDC from escrow; funded via a UniV2 flash swap, repaid 35,593.71686…

Source: DeFiHackLabs (SunWeb3Sec)

Target
Other
Classification
Protocol Logic
Technique
Swap Logic Flaw
Attribution
Unknown
Chains
Polygon

Event timeline

  1. Sep 21, 2026
    Exploit executed — $35K drained via swap logic flaw
  2. Attributed to Unknown
  3. Recovery status Unrecovered 0%

Data credits

Related incidents