SECURITY ALERT
The bug was one missing check.
Then a hundred strangers found it.
ACryptoS, a DeFi yield aggregator, says about $665,000 was drained from 77 of its 126 concentrated-liquidity vaults on Arbitrum, BNB Chain, Polygon, Base and Optimism on Sunday 8 Nov, according to the project’s post-mortem.
Deposits are disabled. Withdrawals are open.
And the project is closing. “We no longer have the resources to maintain ACryptoS, so it is now deprecated. Please withdraw ASAP,” it wrote on X at 17:17 UTC.
The loss figure is the project’s own estimate, priced at about 17:00 UTC Sunday.
It leaves out about 19,400 ACS, the project’s own token, taken from one BNB Chain vault and not priced.
How a small deposit bought most of a vault
The affected vaults held liquidity positions on Uniswap V3, SushiSwap V3, PancakeSwap V3 and Biswap V3.
Each vault holds two tokens. Its deposit function, depositMulti, did not check that a depositor passed an amount for both.
Send an amount for one token only, and the vault valued its own holdings using that one token too. Everything it held in the other token was ignored.
If a vault held little of the first token, a tiny deposit looked bigger than the whole vault. It minted most of the shares.
A withdrawal then paid those shares out in both tokens.
ACryptoS says nobody manipulated pool prices. The bug dated back to the vaults’ first deployment.
Its own test on a Polygon fork turned a 10 USDC deposit into 66.84% of a vault’s shares, and a withdrawal of about 48,634 USDT0.
The honest depositors paid for it. Their shares were diluted and their tokens paid out.
If the bug was there from day one, why did Sunday become the day?
The timeline, in UTC
All times are from ACryptoS’s post-mortem, Sunday 8 Nov.
- 01:50. Address
0x5dc8…f322receives 12.98 ETH on Arbitrum via a Mayan cross-chain order. - 02:02. First exploit, on an Arbitrum WBTC/WETH vault.
- 04:22 to 07:31. First exploits on BNB Chain, Polygon, Base and Optimism.
- About 09:30. Copycats arrive: more than 100 addresses, many of them EIP-7702 delegated wallets, running identical rounds on every chain.
- 09:34. The exploit is first reported to the project on Telegram.
- 14:19. The developer is notified.
- 15:38. Polygon vaults closed by an upgrade, 12 seconds after the last Polygon exploit.
- 16:40. All 126 vaults closed.
Between the first report and the developer’s notice: four hours and 45 minutes.
The project’s record does not say why. Exploitation continued on every chain through that gap.
How much of the $665,000 left after someone had already raised the alarm?
The losses, chain by chain
| Chain | Vaults hit | Taken (ACryptoS estimate) |
|---|---|---|
| Arbitrum | 28 of 40 | $230,213 |
| BNB Chain | 12 of 33 | $190,845 |
| Polygon | 11 of 16 | $134,686 |
| Base | 13 of 18 | $69,813 |
| Optimism | 13 of 16 | $39,871 |
| Linea | 0 of 3 | $0 |
In all, 135 addresses took part, the project counts.
That is not one attacker. ACryptoS says 28 of those addresses hit three or more chains with identical rounds, which suggests a shared script.
Is a bug still an exploit when the crowd is copying it?
Follow the funds
ACryptoS published five addresses and asked exchanges and bridges to flag them:
0x5dc8df8d0d6cfae0443bb8d9eacdfbb72b2ef322 (Arbitrum, about $139,500, the project says)
0x648508c5e95e7c9ac2380672f87d60ebb1dae49f (Polygon, about $111,800; bridged to Ethereum via Across)
0xcafe343896335dde2d36a43c85395fd93d659956 (all five chains, about $84,700)
0x82328b24ed97d6e627b6257d125cb3271c5aa2d5 (BNB Chain, about $80,500)
0x2143a65fc4721aea20b4ebf99e775b1e6cc9a1a7 (BNB Chain, about $54,200)
Funds moved through Mayan, Across, Relay and Squid, the project says. It has offered a 10% whitehat bounty for returns, “no further action”.
Freezable stablecoins left in exploiter wallets come to under $1,000, by the post-mortem’s count. The rest was swapped to ETH, WETH or WBNB.
Nothing has been reported frozen or returned.
The post-mortem says three wallets still held about 50.82 WETH, 116.5 WBNB and 78.2 WBNB. We have not re-checked those balances.
Who pays the depositors back, now that the protocol is closing?
What is not known yet
ACryptoS has not announced any reimbursement.
DefiLlama still showed about $10.5 million of deposits in ACryptoS at 03:30 UTC on Monday, most of it on BNB Chain. That is DefiLlama’s figure, and it may include vaults the exploit did not touch.
Either way, the instruction from the project is the same: take it out.
Protect yourself
- If you hold anything in ACryptoS vaults, withdraw through the official app. Withdrawals are open and no fix or reopening is planned, the project says.
- Use only acryptos.com and the project’s official X account. A shutdown is when fake “claim” and “refund” sites appear.
- After withdrawing, revoke the token approvals you gave ACryptoS contracts. A deprecated contract nobody maintains is still a contract with your permission.
- A yield aggregator adds its own code on top of the pools it uses. Here, the pools were fine; the vault’s arithmetic was not. It is the second vault drain on our board this month, after Premia’s vaults on Arbitrum were drained.
How many old vaults are still running on code nobody has the money to watch?
Related: 79thVault’s 79AU pool was drained of about $12.5M
Corrections and new evidence: [email protected]
This article is for information only and is not investment advice.
