TL;DR
On Sunday, August 30, 2026, an attacker inflated the price of TONIC, the governance token of the Cronos lending protocol Tectonic, and borrowed against it until the pools were empty. Onchain researcher Weilin Li estimates roughly $75 million across two attacker addresses, a figure Tectonic has not confirmed. Cronos validators then stopped block production for the entire chain, which stranded most of the money and let only about $6 million reach Ethereum. Tectonic's contracts behaved exactly as configured. TONIC had roughly $1.34 million of liquidity and about $11,000 of daily volume, and the protocol's parameters let that token underwrite nine figures of borrowing power. A collateral factor prices collateral. It never asks whether the collateral can be sold.
What Happened to Tectonic?
Tectonic is the largest money market on Cronos, launched out of the Cronos Labs incubator in December 2021 and run independently. Before the incident it held about $121.7 million in total value locked and roughly $82.7 million in active loans, or about 46% of all DeFi value on the chain.
Cronos Network confirmed the incident and stopped the chain. Tectonic told users not to touch the protocol "until we confirm it is safe to do so." Crypto.com CEO Kris Marszalek said the exchange and app were never exposed and that his security team was assisting, which is true and narrow: Crypto.com built Cronos, but Tectonic runs its own code and its own parameters. Neither team has published a postmortem, a confirmed loss figure, or a restart time.
How Did the TONIC Price Manipulation Work?
The whole incident lives inside one primitive. A collateral factor is the fraction of your deposit's market value that a lending protocol lets you borrow against. Tectonic's published money market parameters give TONIC 20%: deposit TONIC the protocol values at $100, and you can borrow $20 of something else. That looks conservative next to the 80% stablecoins carry on the same table.
The catch is what the 20% multiplies. It multiplies a price, and on a thin market a price is something anyone with a few hundred thousand dollars can move.
That is what the attacker did. Per Crypto Briefing's account, the opening move was buying roughly 16 trillion TONIC across three VVS Finance pools with about $600,000 in USDC and CRO, lifting the price around 40%, then depositing that TONIC alongside about $5 million in USDC as collateral. Total capital committed: roughly $5.6 million. Over the next 20 minutes the price reached about 100 times its pre-attack low.
An independent analysis run against a Cronos archive node captures the moment the pump became a loan. The attacker deposited and borrowed TONIC inside a single block, and 14 seconds later the TONIC oracle price rose 6.46 times in one block. That single jump is what converted a thin-market pump into roughly $125.6 million of borrowing capacity. The raw token amounts in that analysis (3,091 deposited, 3,697 borrowed) do not reconcile with a trillion-scale position, so read the sequencing as the load-bearing detail and treat the magnitudes as unconfirmed.
Over about 65 minutes the attacker pulled $54.32 million in USDC, $44.87 million in USDT, 95.36 WBTC, 1,861 WETH and 39.61 million CRO, leaving roughly $1.73 million behind. Copycat wallets ran the same play for about $2 million more.
Li's reconstruction of the collateral side is worth sitting with. He identified roughly 364.6 trillion TONIC in the attack position. For a 20% collateral factor to support the borrowing that happened, that stack had to be valued near $375 million, about $0.00000103 per token, roughly 100 times TONIC's pre-attack price.
The two reconstructions do not agree on how much borrowing power that created. Li's arithmetic implies roughly $75 million of it. The archive-node analysis puts the figure at about $125.6 million. Nobody has reconciled the two publicly, and the answer depends on details of the position neither account publishes.
| Step | Action | Effect |
|---|---|---|
| 1 | Buy roughly 16 trillion TONIC across three VVS pools for about $600,000 | Spot price moves about 40% on a market with about $1.34 million of liquidity |
| 2 | Deposit the TONIC plus about $5 million USDC into Tectonic | Position opened at the published 20% collateral factor |
| 3 | Deposit and borrow TONIC within one block | Position primed before the oracle updates |
| 4 | Oracle price rises 6.46x in a single block, 14 seconds later | Collateral revalued; roughly $125.6 million of borrowing capacity unlocked |
| 5 | Borrow USDC, USDT, WBTC, WETH and CRO across markets over about 65 minutes | Roughly $119.5 million withdrawn; about $1.73 million left in the pools |
| 6 | Split proceeds, bridge toward Ethereum | About $75.7 million to an external wallet, about $43.7 million to a contract; about $6 million reaches Ethereum |
| 7 | Cronos validators halt block production | Roughly $60 million frozen in place; every other user frozen with it |
How Much Was Actually Stolen?
Four numbers are circulating and they measure different things.
Roughly $119.5 million is the gross value withdrawn from Tectonic's markets, per the archive-node analysis. That is the size of the hole in the protocol.
Roughly $75 million is Li's estimate of what the attacker ended up controlling: about $66 million initially, plus a second attacker-controlled address holding about $8 million. The archive-node analysis splits the withdrawals into about $75.7 million to an external wallet and about $43.7 million to a contract address, which together make up the $119.5 million. Li's figure tracks the external-wallet leg almost exactly, so the two do not conflict.
Roughly $41 million is the separate damage to everyone else: 752 liquidations that seized about $8.71 million from other users, plus roughly $32.6 million of bad debt left in the markets.
About $6 million is the only number with a settled meaning. That is what crossed a bridge to Ethereum before the chain stopped. Roughly $60 million sits stranded on Cronos, about 91% of the $66 million Li first counted.
Tectonic itself has confirmed nothing.
We trust the $6 million most, because a completed bridge transfer is the one event here that a later valuation cannot revise. We treat $119.5 million as the best measure of protocol damage, and $75 million as a reported attacker balance, not realized profit. Against roughly $5.6 million of committed capital, even the low end made this trade obvious to anyone who ran the arithmetic, and the arithmetic was public.
Three things nobody has published, each of which moves the recoverable number: what the contract holding roughly $43.7 million is, which bridge carried the $6 million to Ethereum, and where the opening capital came from.
Why Did an Entire Blockchain Stop?
Cronos runs Tendermint consensus with a cap of 100 validators, a set small enough to coordinate a halt over a group chat on a Sunday. They agreed to stop producing blocks, which froze the attacker's remaining balance and every other position, contract and user on the network with it.
The precedent is BNB Chain in October 2022, where an attacker forged a Merkle proof on the Token Hub bridge and moved 1 million BNB twice, roughly $566 million, before validators halted the chain. Cronos moved faster than that.
Speed is relative. The halt came after roughly 65 minutes of draining, so the attacker was stopped mid-exit, and only $6 million left because bridging is slower than borrowing.
Validators now face the choice this kind of halt always produces: roll back, blacklist the attacker's addresses, or restart untouched and let the loss stand. Nobody has committed to making Tectonic depositors whole.
The Real Hole: The Cap That Was Never Set
One parameter has gone unmentioned across all of the coverage.
Tectonic's own money market parameter table lists a Borrow Cap column. Every asset in the main pool shows a borrow cap of 0, which in a Compound-style market means no cap is enforced. Supply caps exist for some assets, including 50 trillion TONIC, but the ceiling on how much can be borrowed out of a market was never set for anything. The table is dated May 2025 and the page reports it was last updated a year ago, so the live parameters may have moved since. If they did, the movement was not published.
Two consequences showed up on August 30. With no borrow cap, the damage a mispriced collateral asset can do has no ceiling at all: the collateral factor multiplies whatever the oracle says, so the loss grows with the manipulated price. A cap expressed in dollars would have stopped growing at the cap.
It also leaves open how 16 trillion TONIC bought on the open market became a 364.6 trillion collateral position. A recursive deposit-and-borrow loop against the same asset would do it, and the analysis records a TONIC deposit and TONIC borrow inside one block, the shape of a loop's first turn. That is a hypothesis, unconfirmed.
The supply cap has a problem of its own. The 364.6 trillion TONIC Li reports in the attack position is more than seven times the 50 trillion TONIC ceiling printed in that same table. Either the cap was raised or removed after the docs were written, or the position was assembled through a path the published parameters do not describe. That reconciliation is the most useful thing Tectonic's postmortem can contain.
There is a third gap, and an engineer will want it first. Nobody has published how Tectonic's TONIC feed was configured. A collateral price that moves 6.46 times inside one block behaves like a spot read of a DEX pool, not a time-weighted average, and a time-weighted average is the standard defense against this exact trade. That is an inference from observed behavior, and it stays one until Tectonic publishes the feed.
An audit would not have caught this. There is no defective function to point at. The contracts read a price, applied a documented percentage, and issued loans that were fully collateralized under the only definition of collateral the system had. The failure lives in the risk parameters. Those are configuration, and configuration drifts in the months between reviews.
Why This Keeps Happening
This is the third time in six days.
Li flagged two of them in his account of the Tectonic attack. On August 25, manipulation of a thinly traded Pendle market triggered roughly $36 million in liquidations of PT-reUSD positions on Morpho. On August 27, per CertiK's alert and CoinGecko data, an attacker pushed the thinly traded MAMO token from around $0.01 to as high as $0.43, borrowed cbBTC, USDC, wstETH and ETH against it from Moonwell on Base, and left losses near $8.7 million. Moonwell's remediation is instructive: it cut borrow caps across its Base core markets to 1 wei, the blunt version of the control Tectonic did not have. Three days later the same play ran on Cronos for roughly ten times the money.
The lineage runs back further. In October 2022 Avraham Eisenberg pumped MNGO across the three exchanges feeding Mango Markets' oracle, and the CFTC's complaint records that the reported price jumped over 13-fold in a 30-minute span, letting him misappropriate over $110 million. The SEC put the figure at $116 million. Four years later, the same trade works, at the same scale, against a protocol that could read the case file.
In each case the oracle reported the market price accurately. The failure sits upstream of the feed: a protocol accepted a token as collateral without bounding that acceptance by how much of it could actually be sold. The number that would have mattered, how many dollars of TONIC the market could absorb, appears in no parameter table anywhere.
In all three incidents the manipulated asset was the protocol's own token, or one from its own ecosystem, listed as collateral. That listing is almost always made for growth reasons (it gives the token a use, and used tokens hold value better), and the cost of it lands on whoever deposited a stablecoin in the next market over.
Which leaves the question Tectonic will be asked. Moonwell published its remediation on August 27, and it was borrow caps. Whether anyone at Tectonic read it is not public. The window to copy it was three days.
What Operators Should Do This Week
- Cap borrows in dollars, not just in percentages. A collateral factor floats on a price an attacker can move, so it caps nothing when the price is the thing under attack. Set a dollar borrow cap per market, size it against something real, and treat a market with no cap as an unbounded liability.
- Bound illiquid collateral by market depth. Before listing a token, compute the dollar value that can exit through its deepest pools without a double-digit price move, then cap borrowing against it at a fraction of that. For TONIC, roughly $1.34 million of liquidity was underwriting nine figures.
- Alert on oracle velocity, not just oracle staleness. Most monitoring watches for a feed that stops updating. The signal here was the opposite: a collateral asset moved 6.46 times in one block on a market that normally does $11,000 of daily volume. That is trivially detectable in real time, and it fired 14 seconds before the first large borrow.
- Treat your own governance token as your most dangerous listing. It is the asset you have the least liquidity for and the most incentive to list. If it is collateral, it needs the tightest cap on the board.
- Rehearse the halt before you need it. Cronos stranded roughly $60 million on-chain because its validator set is small and reachable. Know today whether you have that lever, who pulls it, and how long the phone tree takes.
- Publish parameter changes the way you publish code changes. A docs table dated May 2025 is not a control surface. A cap that moves should be as visible as a contract upgrade.
The honest read on monitoring: an alerting layer does not front-run the pump, and nothing was going to stop the first block. What it does is collapse the clock. Three signals here were mechanically trivial to alarm on. A collateral asset repricing 6.46x inside one block. A collateral position seven times the supply cap the protocol's own docs publish. One account borrowing nine figures out of markets that had never seen a borrow near that size. Any one of them fires in the first minute, and the drain then ran for 65 more on a chain whose validators can halt and eventually did. Closing that gap is what Tripwire is built for, and on this incident the gap was worth most of $119.5 million.
Frequently Asked Questions
How much did Tectonic lose in the exploit? Estimates run from about $75 million controlled by the attacker to roughly $119.5 million withdrawn from the markets, and Tectonic has confirmed neither. About $6 million reached Ethereum before the halt; roughly $60 million is frozen on the stopped chain.
Was this a smart contract bug, and could an audit have caught it? No, and not on its own. The contracts applied a published 20% collateral factor to a price the oracle reported correctly, so there was no defective function to find. Prevention needed a risk-parameter review, with borrow caps sized to market depth, plus monitoring on collateral price velocity.
Why did Cronos halt the entire blockchain? Cronos runs Tendermint consensus with at most 100 validators, so a coordinated halt is realistic. Stopping block production froze the attacker's remaining funds, and every other user's funds with them.
Is Crypto.com affected? Crypto.com's CEO said the exchange and app were unaffected and operating normally. Crypto.com developed Cronos, but Tectonic is independently operated with its own parameters.
Will depositors be repaid? Nobody has committed to it. The roughly $60 million frozen on Cronos is in validators' hands, and they have not said what they intend to do with it or when the chain restarts.
Sources / References
- The Block: Crypto.com-linked Cronos network halts after Tectonic exploit estimated at $75 million
- Crypto Briefing: Cronos Network pauses following Tectonic lending protocol exploit
- CoinPedia: Cronos blockchain pauses after Tectonic lending exploit, $119.5M at risk
- BeInCrypto: Cronos blockchain stops after reported $75 million hack attempt
- TFTC: Cronos halts after $75M Tectonic exploit drains 46% of chain's DeFi TVL
- Blockonomi: Cronos network halts after Tectonic price exploit triggers $75M loss
- Tectonic documentation: Money Market Parameters
- Halborn: Explained, the BNB Chain hack (October 2022)
- SEC: Charges against Avraham Eisenberg for manipulating Mango Markets
- CFTC: Charges against Avraham Eisenberg, over $110 million misappropriated
- The Crypto Times: Moonwell loses nearly $8.7M in Base exploit after MAMO price manipulation
- GN Crypto: Moonwell caps Base borrows after $8.7M MAMO oracle exploit



