Tectonic - Rekt



$5 million turned into $120.4 million in eleven minutes on August 30th.

Cronos, the Crypto.com-backed chain, did something blockchains are designed not to do, it stopped mid-robbery, rewound itself, and made most of the loss disappear.

Validators halted block production while the attacker was still moving money, then agreed to erase 10,961 blocks and restore the network to its pre-attack state.

The maneuver reversed $111.2 million of the $120.4 million borrowed from Tectonic, the chain’s largest lending market.

$9.19 million had already left Cronos before the halt. That part was beyond the rollback’s reach.

Nobody broke a smart contract. Nobody stole a key.

An attacker pumped Tectonic’s own governance token nearly 300-fold, posted the inflated position as collateral, and borrowed against a value the protocol had been designed to accept.

If Cronos validators can decide that nearly two hours of settled chain history did not happen, what exactly does a blockchain protect anymore?

Credit: Bitquery, CoinDesk, Cronos Network, decrypt, Tectonic, William Li, QuillAudits, Marcin Kazmierczak, DeFiLlama, TRM Labs, The Block, The Cryptonomist, Ethereum Foundation, Kris Marszalek, TFTC, BitcoinEthereumNews, CoinGabbar

Cronos was the first official public source in the available record to say something had gone wrong.

On August 30, Cronos announced: "We identified an exploit in Tectonic. The Cronos Network has been halted."

Tectonic followed almost immediately, warning users: "please do not interact with the protocol until we confirm it is safe to do so."

That was the entirety of the first official public account. No mechanism. No attacker addresses. No estimate of the loss. No explanation of why an entire Layer 1 network had been stopped.

Independent researchers filled the public-information vacuum.

William Li initially estimated that Tectonic had been drained of about $66 million, identifying a Mango Markets-style pump-and-borrow: TONIC, Tectonic's thinly traded governance token, had risen roughly 100-fold in about 20 minutes, then served as collateral for borrowing more liquid assets.

Li later identified another attacker-controlled address holding approximately $8 million, pushing the early apparent-loss estimate toward $75 million.

By August 31, QuillAudits had published two alleged attacker addresses and the estimate that became the early headline: About $75 million drained from Tectonic, with roughly $60 million reportedly sitting in a VVS Finance liquidity pool.

The post was a useful early tracing lead, but it came after Cronos and Tectonic had publicly disclosed the incident and halted the chain.

Bitquery's later reconstruction mapped the movement in greater detail.

More than a week later, Tectonic and Cronos confirmed the fuller figure: $120.4 million borrowed across nine markets. The difference was not merely bad arithmetic.

Some assets were represented by liquidity-pool positions rather than token balances plainly visible in attacker wallets; proceeds moved through multiple attacker-linked contracts; and the rollback later removed the exploit window from the canonical history displayed by ordinary explorers.

The official response arrived first. The explanation arrived from outsiders.

What does it say about a lending protocol's monitoring when researchers can reconstruct a nine-figure attack in public while the protocol's first public warning cannot say how it happened?

A Number The Protocol Believed

Tectonic’s own documentation described the exact class of risk at issue: Low liquidity can leave an asset’s price susceptible to manipulation, allowing an attacker to inflate it and borrow against the resulting collateral value.

Yet TONIC, the protocol's governance token, carried a 20% collateral factor despite roughly $1.34 million in liquidity and about $11,000 in average daily volume when the attacker began the operation.

The mechanism was a recursive collateral loop, enabled by Tectonic's risk design. The attacker bridged in roughly $5 million, posted it as collateral, borrowed the available TONIC supply, and re-supplied that TONIC as new collateral.

The loop ran 98 times in one transaction, until the collateral claim recorded in Tectonic represented about two-thirds of TONIC's total supply.

The attacker then used funds borrowed from Tectonic to buy TONIC in the open market.

Bitquery's reconstruction says the traded price climbed to nearly 300 times its starting level over roughly seven minutes.

Tectonic's later post-mortem measures the collateral value reported by its price feed at roughly 195 times its pre-attack level.

Those are not necessarily conflicting estimates: They describe different points in the pricing process.

What mattered was that the rising reported value expanded the attacker's borrowing capacity inside the protocol.

Bitquery estimates that moving TONIC's price required about $1.4 million of borrowed funds.

The result was $120.4 million in nominal borrowing across nine markets.

RedStone co-founder Marcin Kazmierczak argued that Tectonic's pricing design was the consequential failure: TONIC was valued through a thin on-chain pool and Tectonic's internal price feed, rather than an external purpose-built oracle.

TONIC carried a 20% collateral factor. The attacker deposited a reported 364.6 trillion TONIC, next to worthless a day earlier, and borrowed assets against it.

By the time anyone reacted, an estimated $60 million to $75 million was gone.

Kazmierczak argued that a low-cap governance token required a distinct risk profile: Conservative collateral factors, borrow caps, and an oracle design built for thin liquidity, including TWAPs, deviation checks, multi-source aggregation, and anything that stops one wallet from moving the price in 20 minutes..

He compared the episode to Mango Markets, where manipulated MNGO collateral enabled about $112 million in borrowing in October 2022, and to Moola Market on Celo, where a similar pump-and-borrow strategy produced roughly $9 million in losses that same month.

Tectonic's own post-mortem identifies the missing controls more bluntly: No cap tying TONIC collateral to market depth, no restriction on borrowing and re-supplying the same token in one transaction, and no check on how quickly collateral prices could move.

This was also not Tectonic's first recorded protocol failure. DeFiLlama lists a $250,000 protocol-logic incident in February 2024 and another protocol-logic incident in November 2024.

Tectonic was also part of a broader late-August run of collateral-price incidents: Moonwell lost an estimated $8.7 million after MAMO manipulation, while a Pendle reUSD market event triggered roughly $36 million in liquidations.

Those episodes differed in mechanics and consequences, but each turned a price or liquidity assumption into a system-wide loss.

If the oracle reported a real market trade and the protocol still accepted an impossible liquidation value, was the price feed the vulnerability, or was it the system that chose to believe it?

Eighty-Three Seconds

At 12:49:39 UTC, one call to the attacker's contract emptied all nine of Tectonic's lending markets in 11 transfers.

The transfers did not land in one place, and they did not all move the same way.

Stablecoins made up the bulk: $41.4 million in USDC and $34.2 million in USDT went to an attacker wallet, while another $13.8 million in USDC and $11.4 million in USDT went to a holding contract deployed 12 days earlier.

WBTC, WETH, Crypto.com's wrapped BTC and ETH, staked CRO, wrapped CRO, and XRP made up the remainder.

The last funds escaped Cronos 83 seconds before validators stopped the chain.

Tectonic's post-mortem puts $75.7 million at the attacker's wallet and $44.7 million at the holding contract, for $120.4 million in nominal borrowing.

The single largest position did not remain as ordinary token balances in a wallet. Roughly $60 million was represented by the attacker's liquidity-provider position in a VVS Finance USDT/USDC pool, about three quarters of the pair.

That is why a superficial token-balance scan of the attacker's address could show little or nothing.

William Li suggested the placement may have been an effort to make the stablecoins harder to blacklist.

As a liquidity-provider position, it would ordinarily accrue its share of trading fees while it remained in the pool.

For the next hour and 40 minutes, the holding contract sold the non-stablecoin assets through Cronos pools, converted the proceeds to CRO, and moved it through a bridge in 28 batches.

The stablecoin route drew the early attention: About $6.3 million in USDC reached Ethereum between 13:03 and 14:15 and was swapped into ETH within the hour.

In its August 31 snapshot, Bitquery found the resulting 2,592 ETH at 0xc404…72dd untouched.

The wallet later began sending ETH to Tornado Cash’s Router in standard 0.1 ETH, 1 ETH, 10 ETH, and 100 ETH deposit denominations.

The CRO route received less attention, but it accounts for most of the additional Ethereum movement Bitquery identified.

The final batch cleared at 14:31:24 UTC. Cronos stopped producing blocks at 14:32:47, 83 seconds after the attacker's final successful bridge transfer.

The rollback could erase only activity that remained on Cronos; bridge payouts already settled on Ethereum were beyond its reach.

Bitquery's investigation, published the day after the halt, identified four Ethereum wallets holding about $8.3 million of traceable proceeds.

It also highlighted three addresses not publicly named at that time, collectively holding about $1.89 million of the escaped value.

Tectonic's post-mortem later named 0xfdb1…6652 as the bridge exit wallet, one of the addresses Bitquery had already included in its cross-chain reconstruction.

As of Bitquery’s August 31 review, three of the four Ethereum wallets it traced were untouched after August 30, while the fourth had swapped its balance into ETH and held it.

The principal destination wallet later began depositing ETH into Tornado Cash, ending that period of visible inactivity.

The money passed into the fog. Its route remains on the chain.

The attack did happen. Cronos’s validators simply made it noncanonical. On the live chain, the evidence is gone; outside the chain, copies of it remain.

Known Infrastructure as follows…

Chain-history note: Cronos’s rollback removed the exploit window from its canonical history.

The Cronos-side hashes and addresses below may not resolve through ordinary explorers because the relevant transactions occurred on the discarded fork.

The rollback did not erase every visible connection. Current portfolio views show the operator wallet holding roughly 12,833 CRO and the stablecoin-recipient wallet holding about 5,000,950 bridged USDC, balances consistent with the pre-exploit funding described in the reconstruction.

Tectonic’s post-mortem provides the official address designations; Bitquery provides the preserved-fork reconstruction and additional address mapping.

Operator wallet, as identified by Tectonic:
0x4266a0e6a0f0ef90abcff3bb089932ca0cce3652

A current multi-chain portfolio view shows approximately 12,833 CRO at the address, consistent with Bitquery’s reconstruction that a related wallet transferred 12,800 CRO to it on August 24 before the exploit. The live balance is corroborative, not independent proof of the historic transfer.

Drain Transaction - discarded Cronos fork (Identified in Bitquery’s preserved-fork reconstruction):
0xddc9dc47d330116332ae687ba939f6d6196c4cc5950b2cdb04ae826520eeca20

Setup Transaction, August 18 - discarded Cronos fork (identified in Bitquery’s preserved-fork reconstruction):
0x0fce5ae8d2eeb82c838e750d0e25af1564a2c7d05bf843dd1cfea102ce587d06

Stablecoin-recipient wallet / VVS liquidity-provider holder (identified by Tectonic):
0x7d4e7e5dcb0ccc66b4f0f8b0f30da5078ad4f2dc

Holding contract (identified by Tectonic):
0x085f3115ca368aa262246d22f9476e1e2c87e8be

Bridge Exit Wallet (identified by Tectonic):
0xfdb11781ee3818135eebd2acd2247c263e266652

Ethereum Receiving Wallet (identified by Tectonic):
0xc404160b79bd8905061a1caecbeca2eeab3f72dd

Additional addresses mapped by Bitquery, not listed in Tectonic’s public address section:

Orchestrator Contract (labeled by Bitquery):
0xd3aac8a1a9e412e2c590463a8b6f90125e23f1f3

Borrower Contract (labeled by Bitquery):
0x2dc6a36f4e5eeefe112c01569de96dea496bb618

Ethereum Intermediary Wallet (Second Stablecoin Wallet):
0x215adfc84332d8dfdd5afc77af69cceec0bcd3fc

It received three transfers totaling 1.01 ETH from the Bridge Exit Wallet, then later sent 1 ETH to the Ethereum Receiving Wallet. The visible flow is consistent with an intermediary role, but does not independently establish common control.

Relay-Hop Address (labeled by Bitquery):
0x86616ce5d1829beb030742e65bd3c1fbee8f082e

Side-Pocket Address (labeled by Bitquery): 0x9ea6b75940de7c57bd1827001536e33ed667b55d

The public trail is detailed. What remains unclear is whether anyone with the power to act has followed it.

If the getaway money has been sitting untouched in plain sight for over a week, who exactly is supposed to be looking for it?

Eleven Thousand Blocks

Validators halted Cronos at block 90,907,150, 14:32:47 UTC, freezing every open position, every pending trade, and every bridge transaction across the chain, not just the ones touching Tectonic.

Nine hours and sixteen minutes later, the chain came back from an earlier point than where it stopped.

Block production resumed at 90,896,189, immediately after the pre-exploit rollback point.

The 10,961 blocks in between, 1 hour and 54 minutes of previously settled history, no longer resolve on the restarted canonical Cronos chain. As far as the chain is concerned, the attack, and everything else that happened in that window, never occurred.

The rollback restored pre-attack balances totaling $111.2 million, including the attacker's own roughly $5 million in starting capital, which was reset along with everyone else's.

It also reversed every unrelated transfer, trade, and bridge transaction that happened to fall within that 114-minute window, whether or not it had anything to do with Tectonic.

Cronos’s 100-validator structure made a coordinated halt and rewind easier than it would be on networks secured by thousands of independent validators or miners.

Whether that makes the rollback a last resort or an administrative tool is the governance question Cronos put back on the table.

The comparisons wrote themselves. BNB Chain paused for a bridge exploit in 2022 and recovered close to $470 million of the $570 million taken.

Harmony announced a rollback plan after an attacker forged more than 3 trillion ONE tokens, then scrapped it weeks later in favor of shutting the network down entirely and migrating ONE to Ethereum. Former validators were offered a role in an AI-generated video business instead.

Flow proposed a rollback after a $3.9 million exploit in December 2025 and scrapped it within two days under community pressure.

Ethereum forked over The DAO in 2016 and split into two chains as a result; when Arthur Hayes suggested a comparable intervention after the Bybit hack in 2025, the idea drew broad criticism from the Ethereum community.

One objection was practical as well as ideological: Polynomial.fi co-founder Gautham Santhosh argued that Ethereum had become too interconnected for a clean replay of 2016, citing bridges, stablecoins, L2s, RWAs, and other dependencies.

Crypto.com Founder and CEO Kris Marszalek moved fast to draw a line between the exchange and the chain it built: The app and centralized exchange were untouched, he said, and customer funds there were safe.

Technically true, but of limited comfort to users whose exposure sat in Tectonic rather than on the exchange.

TFTC reported that no entity had committed to repaying Tectonic depositors, who had no confirmed repayment plan or named backstop as of publication.

TONIC gained 85.4% over 24 hours after the exploit, but remained 99.18% below the all-time high set during the August 30 manipulation.

CRO barely moved, up roughly half a percent in the week the post-mortem dropped, though it remained down nearly 38% year to date.

More than a week after the rollback, Tectonic's announcement confirmed the collateral-removal plan and its timetable: Weekly reductions beginning September 14, reaching zero collateral factor on October 6 for TONIC, VVS, FER, VNO, FUL, and bCRO.

The first cut landed on schedule: TONIC's collateral factor fell to 15%, VVS to 41%, FER, VNO, and FUL to 38% each, and bCRO to 30%, with three more reductions due September 21, September 28, and October 6.

As of that September 8 update, Tectonic's announced remediation focused on collateral changes; the update did not set out a compensation plan for affected users.

A blockchain undid a nine-figure theft in under a day.

What took over a week to undo was a governance token nobody should have priced as collateral in the first place, so which failure actually got fixed?

A blockchain looked its own users in the eye and rewrote what happened to them.

Cronos restored approximately $111.2 million by restoring the chain to its pre-exploit state and discarding nearly two hours of canonical history.

But approximately $9.19 million left Cronos before the halt and remains unrecovered, beyond the rollback's reach.

The exploit used $5 million in bridged capital as initial collateral, then looped borrowed TONIC back into collateral and pushed its reported value roughly 195-fold, producing $120.4 million in nominal borrowing.

Tectonic's announced answer came eight days later: Collateral factors for TONIC, VVS, FER, VNO, FUL, and bCRO would be reduced weekly beginning September 14, reaching zero on October 6.

The first cut has since landed, taking TONIC to 15% and the rest to between 30% and 41%, with three more reductions still to come.

No announcements have included a depositor-compensation plan.

The attacker remains publicly unidentified. The rollback also reset the attacker's own roughly $5 million in starting capital, along with every other balance affected by the discarded chain history.

Cronos proved a chain can erase a theft before its validators finish their coffee.

What happens the day they decide something smaller deserves the same treatment?


share this article

REKT serves as a public platform for anonymous authors, we take no responsibility for the views or content hosted on REKT.

donate (ETH / ERC20): 0x3C5c2F4bCeC51a36494682f91Dbc6cA7c63B514C

disclaimer:

REKT is not responsible or liable in any manner for any Content posted on our Website or in connection with our Services, whether posted or caused by ANON Author of our Website, or by REKT. Although we provide rules for Anon Author conduct and postings, we do not control and are not responsible for what Anon Author post, transmit or share on our Website or Services, and are not responsible for any offensive, inappropriate, obscene, unlawful or otherwise objectionable content you may encounter on our Website or Services. REKT is not responsible for the conduct, whether online or offline, of any user of our Website or Services.