GambleCashless

The Treasury Was Never a Vault: Reading the NEAR Intents Exploit in a Bear Market

CredWolf โ€ข โ€ข Security

On a Thursday morning, an address on BNB Chain that had no business touching a treasury contract touched it seven times.

The first withdrawal was ten USDT. The second was eleven. Then the amounts jumped: thirty-five thousand, then a hundred and fifty thousand, then a million and a half. By the time the sequence stopped, roughly 3.87 million USDT had left a wallet that NEAR's own documentation labels as the HOT Bridge treasury address. No private key leaked. No oracle blinked. No reentrancy loop spun out of control.

The receiving address simply asked the contract for money, and the contract handed it over. That sentence โ€” the contract handed it over โ€” is the entire event. Everything else is bookkeeping.

I have audited enough bridges to recognize the shape of this failure before I finish reading the transaction log. When the caller is supposed to be a trusted payer and the caller turns out to be the beneficiary, you are not looking at a sophisticated exploit. You are looking at a missing line: a require statement someone forgot, or a role check that was assumed rather than enforced. The most expensive bugs in this industry are almost never clever. They are absent.

Code over hype.

For readers who have not been living inside the intent-based cross-chain narrative, a short grounding. NEAR Intents is a routing layer that lets a user express a desired outcome โ€” swap this on chain A, deliver that on chain B โ€” and delegates the actual execution to solvers who compete to fill the order. HOT Bridge is the settlement machinery underneath, the part that actually moves value across the eleven networks the stack touches: BNB Chain, Polygon, TON, Optimism, Avalanche, and the rest. HOT Wallet and near.com sit on top as the consumer-facing entrance.

The design promise is genuinely appealing. You stop thinking about which chain you are on. You stop juggling wrapped assets. You stop paying gas on networks you do not understand. You state an intent and someone else does the unpleasant work. Solvers compete, spreads tighten, and the user experience approaches something a normal person could actually tolerate. This is not a trivial achievement. Most of the industry still treats cross-chain movement as a chore to be endured rather than a product to be designed.

I remember translating the Tezos whitepaper into Chinese in late 2017, three months of unpaid labor, because I believed that self-amending governance would let code evolve faster than committees. It did not work out the way I hoped, and I have carried the lesson ever since: architecture that hides complexity from the user must not hide it from the auditor. The intent model is elegant precisely because it moves the hard part out of sight. That is also its danger. What the user no longer sees, the user can no longer question, and a design that rewards not looking is a design that quietly accumulates risk in the places nobody visits.

In 2020, during the DeFi summer, I spent two weeks manually verifying on-chain data for a community panicking about a lending incident. I learned then that people do not want to be told a protocol is safe. They want to see the receipts. Eleven networks is a wide surface, and every additional chain is not just an additional feature โ€” it is an additional place where an authorization check can be wrong in a slightly different way. A bridge that speaks to eleven chains is a bridge with eleven front doors, and the intruder only needs one of them to be unlocked.

Now let me start with what the chain actually shows, because the evidence here is unusually clean.

Seven abnormal transfers drained the treasury. In every one of the seven, the withdrawal was triggered by the receiving address itself. That is the anomaly. In normal operation, this contract's withdrawals are processed by a separate payer address โ€” a proxy that handles settlement on behalf of users. So the design intent is legible: users request, an authorized intermediary pays. The attacker did not use the intermediary. The attacker called the withdrawal path directly, from an address that should have been rejected at the door.

This is an access control defect, not a cryptographic one. The distinction matters enormously for anyone trying to understand what happens next. A broken signature scheme or a compromised validator set implies that funds are unrecoverable and that the protocol's trust model is fundamentally void. An access control gap implies something narrower and more fixable: the logic that decides who may invoke a privileged function was wrong. The keys were never stolen. The door was simply unlocked. That is cold comfort for the people who lost money, but it is a meaningful difference for everyone still deciding whether to stay.

The scale progression tells you a second story, and I find this one more telling than the flaw itself. Ten USDT. Eleven USDT. Then thirty-five thousand, then a hundred and fifty thousand, then the big pulls. This is the signature of an automated script doing feasibility testing before committing size. Attackers test with dust because dust is cheap and reversibility is expensive. The attacker was not gambling on a single transaction; they were probing whether the path would stay open, whether monitoring would react, whether the treasury would freeze. It stayed open. The script escalated. That escalation pattern is what convinces me the vulnerability was stably reproducible rather than a one-time race condition. A race condition does not let you calmly verify twice at ten dollars and then scale to seven figures. A race condition does not let you place your hand on the door three times and find it open each time.

The treasury, meanwhile, was concentrated. Roughly 3.87 million USDT sat in a single contract address on BNB Chain, documented by NEAR's own materials as the HOT Bridge treasury. The cross-chain asset was not distributed across custodians. It was pooled. A pooled treasury with an access control flaw is a single point of failure wearing the costume of infrastructure. I have argued for years that concentration is the original sin of crypto, that we replaced the bank vault with the smart contract and then forgot to distribute the vault. This incident is that argument, executed on-chain, in public.

Now the harder part, the part the team has not addressed.

The public statements describe the contract-side vulnerability as fixed, with restoration expected within an hour. The same statements describe the eleven-network infrastructure as needing roughly twelve hours to resume deposits and withdrawals. Those two numbers cannot both describe the same remediation. If the contract is fixed in an hour but the system needs twelve, then the contract is not the whole problem. The gap between those timelines points at dependencies outside the core contract โ€” relayers, solver coordination, possibly third-party infrastructure โ€” that the team has not named. And an unnamed dependency is an unaudited one.

And here is what disturbs me most. After the incident was disclosed, after the pause was announced, the treasury contract was still paying out. On Thursday at 9:27, roughly 215,000 USDT left an address associated with the treasury. If that transaction is part of the same exploit, the published loss figure of 3.87 million is an undercount. If it is legitimate settlement, then the team restored a flow of funds through a contract it had just told the world was compromised. Either reading is bad. A paused protocol that keeps moving money is not paused; it is hoping.

The team also declined to name the affected contract. I want to be fair here: there are legitimate reasons to withhold an address during an active investigation, particularly when law enforcement is involved and when disclosing the exact contract could hand a roadmap to a second attacker. But withholding the address also removes the one thing that would let independent researchers verify the fix. In a bear market, where trust is the scarcest asset on the board, opacity is expensive. Truth decays slowly โ€” but it does decay, and every day without disclosure makes the eventual reckoning worse. The community can forgive a bug. It struggles to forgive a silence.

Let me put the loss in perspective, because the number matters for how the market should feel about this.

Wormhole lost 320 million. Ronin lost 620 million. Poly Network lost 600 million. Against that ledger, 3.87 million is a rounding error. This is not a solvency event for the category; it is a competence event for one protocol. The price impact on the broader market is likely to be negligible, and anyone telling you this is a systemic cross-chain crisis is selling you a narrative, not a number. I have watched too many small hacks get inflated into existential threats by people with positions to defend, and I will not do that here.

But size is not the only variable. What NEAR Intents was, until this week, was a protocol that marketed itself as the safe, clean, user-friendly way to move value across chains. That positioning is now collateral damage. When your entire value proposition is that you have abstracted away the danger, a danger that surfaces anyway costs you more than the dollars involved. The 3.87 million is the visible loss. The invisible loss is the story that now attaches to the name, and stories in this market travel faster than transactions settle.

Then there is the timing, which I find genuinely difficult to read as coincidence.

Days before the exploit, the protocol's named lead, Alex Shevchenko, publicly disclosed that attackers had attempted to route more than 50 million dollars of Bitget hacker funds through the same bridge. Some of that was frozen; some of it moved. The disclosure was, in isolation, a point in the protocol's favor โ€” proactive transparency, an active willingness to cooperate with tracing, the kind of behavior we claim to want. But a protocol that publicly announces it caught a hacker's money and days later loses its own treasury to an access control bug is inviting a question it cannot easily answer: was the disclosure a deterrent that failed, or a provocation that succeeded? I cannot prove causation, and I will not pretend to. But the temporal proximity is the kind of thing a careful reader should hold in mind rather than dismiss. Markets punish patterns, not just facts, and this is a pattern.

The money trail is where the technical story becomes a compliance story, and it is here that I think the incident's real consequences live.

According to the on-chain analyst ZachXBT, roughly 1.5 million USDT flowed into CoW Protocol, a decentralized settlement system, and the remainder dispersed to four unidentified addresses before being moved to Kucoin and converted into Bitcoin. Unchained, reporting on the same claim, noted it could not independently verify the attribution. I want to be precise about the evidentiary gap here: ZachXBT's trace is a strong signal, not a court-admissible proof. A decentralized exchange like CoW Protocol has no central operator who can freeze a deposit on request. Kucoin, being centralized, theoretically can. And the conversion to Bitcoin โ€” into a market with mature mixing tooling and deeper on-chain pseudonymity โ€” is precisely the step that makes recovery hardest.

Read that sequence as a whole and the recovery outlook is grim. The portion sitting in a decentralized settlement layer is hard to claw back. The portion that reached a centralized exchange is recoverable only with that exchange's cooperation, which depends on legal process and goodwill. The portion already converted to Bitcoin is, for practical purposes, gone. This is why I am skeptical that the promised full compensation will be funded by recovered assets. When a protocol promises to make users whole without saying where the money comes from, the most likely answer is that it comes from the protocol's own treasury โ€” which means it comes from token holders. That is not a rescue. That is a transfer of loss from one set of people to another, dressed as responsibility.

I have written before, in the aftermath of 2022, that dignity in decentralization means being honest about who bears the cost when things break. The team here has done several things right: it paused, it disclosed a loss figure, it promised compensation, it notified law enforcement, it brought in blockchain analytics firms. Those are the actions of a team that understands the playbook. But the playbook has a hole in it, and the hole is the question nobody has answered โ€” whose money was in that treasury? If it was user funds held in custody, the loss is a custody failure and a legal exposure. If it was protocol-owned capital, the loss is a dilution event. The public has been told the amount and not the owner, and that omission is doing a lot of work. In economics, we call the deliberate withholding of a material variable a signal, and the signal here is that naming the owner would be more damaging than the hack itself.

Let me turn to what this means for the category, because I think the category lesson is bigger than the protocol.

Intent-based and solver-based cross-chain designs have been marketed as the security upgrade over traditional bridges. The pitch is that you are no longer locking assets in a monolithic vault guarded by a validator set; you are expressing an intent and letting competition among solvers find the best path. The pitch has real merit for user experience. But this incident exposes an uncomfortable truth about the security claim: moving complexity from the user interface does not remove it; it relocates it into the settlement layer, where fewer people are watching. The treasury contract that lost 3.87 million was not user-facing. It was plumbing. And the deepest vulnerabilities live in plumbing, because plumbing is where audits go to die and where nobody bothers to look twice. Every abstraction we add to make crypto feel friendly adds a layer that the friendly user will never inspect and the rushed auditor may never reach.

This is the contrarian point I want to make, and I will make it plainly, because I think the industry is getting it wrong.

The reflexive response to a bridge hack is to declare that bridges are broken and that the answer is more decentralization, more validators, more layers, more committees. I think that response is backwards. The failure here was not a failure of decentralization. It was a failure of a specific, checkable line of code โ€” an authorization condition that should have existed and did not. Adding validators and committees would not have caught it. A single competent reviewer asking "who is allowed to call this function?" would have. The lesson of the NEAR Intents exploit is not that we need more trustless machinery; it is that we need more boring, disciplined code review at the exact points where money leaves a contract. The industry keeps buying exotic security narratives while the same class of bug โ€” missing access control โ€” keeps draining treasuries year after year. We are not losing money to genius. We are losing it to oversight.

There is a second contrarian point, and this one is about the ecosystem rather than the code. HOT Wallet and near.com are not peripheral products; they are NEAR's user entrance, the first thing a newcomer touches. An exploit at the entrance damages the whole house's reputation, not just one room. If the entrance becomes synonymous with a loss event, the downstream effect โ€” slower adoption, more cautious integrators, a brand that carries a question mark โ€” will outlast the 3.87 million by a wide margin. And notice what the team did with that entrance: it allowed HOT Wallet users to convert their holdings to other assets immediately upon restoration. That is a humane decision under pressure, and it is also a tell. When you tell users they can leave the moment the door reopens, you are choosing to contain a run rather than to hold a base. That is a rational choice in a bear market, but it is not a confident one.

And I want to say something that will be unpopular in a bear market, when everyone is desperate for a reason to be bullish.

I am not going to tell you this is a buying opportunity. I am not going to tell you the market has priced it in. In a bear market, the correct instinct is not to hunt for bottoms; it is to figure out which protocols are bleeding and to stop standing next to them. A protocol that (a) had an access control flaw exploited, (b) may still be leaking funds after announcing a pause, (c) is entangled with a separate hacker's money flow, and (d) has not disclosed whose funds were lost is a protocol with four open questions and zero closed ones. Survival in this market is not about catching the next narrative. It is about not being the exit liquidity for someone else's cleanup. There is no shame in sitting on your hands while the water is still rising.

Hold the line.

Let me be concrete about what I would watch, because vague warnings help nobody and I have no interest in sounding wise without being useful.

The single most important disclosure is the source of the compensation funds. If the team announces that restitution will be funded from protocol-owned reserves or a token treasury, that is a direct, quantifiable hit to holders and should be priced accordingly. If it comes from team capital or an external backer, the impact on the token is muted. The difference between those two announcements is the difference between a dilution event and a public relations event, and nobody outside the team currently knows which one this is. Watch that line, not the price chart.

The second thing to watch is whether the post-incident treasury outflows continue. One payment of 215,000 USDT after a supposed pause could be a leftover settlement. A second and third would suggest the fix did not fully close the drain, which would mean the published loss figure is a floor, not a ceiling. In an incident where the team has already given inconsistent timelines, the chain is a better narrator than the press release.

The third thing is whether the affected contract address is eventually published alongside an independent audit. Without that, the "we fixed it" claim is unverifiable, and in this industry an unverifiable fix is functionally the same as no fix. Independent verification is not a courtesy to the community; it is the only thing that converts an assertion into a fact.

The fourth is the Bitget connection. If regulators or exchanges start treating this protocol as a habitual conduit for tainted funds, the damage to its integration pipeline will exceed the 3.87 million by an order of magnitude. Reputation, not capital, is what bridges actually run on. A bridge with thin liquidity can recover; a bridge that exchanges stop trusting cannot.

I have been in this industry long enough to have watched the same movie several times. The specifics change. The structure does not. A promising architecture, a treasury that pools risk, a missing check, a dust probe, an escalation, a promise of compensation, an unanswered question about whose money burned. I have made my own mistakes in this space โ€” I once championed projects in 2017 that I should have questioned harder, and I still carry the embarrassment of that misplaced faith โ€” and the only thing I have learned to trust is verifiable disclosure over confident reassurance. The teams worth staying with are the ones that tell you the part that makes them look bad.

Truth decays slowly. But it decays. And the longer the owner of the 3.87 million goes unnamed, the more the market will assume it was us.

So here is where I land, and it is not a comfortable place.

NEAR Intents did not suffer a catastrophic loss. It suffered a revealing one. The exploit itself was small, crude, and almost certainly preventable with a single missing condition. The problem is everything wrapped around it: a fix whose scope does not match its timeline, a treasury that kept moving after the pause, a promised compensation with no named source, and a hacker-adjacent history that turns a technical incident into a trust incident. The market will forgive a bug. It is far less certain to forgive the management of one.

The question I keep returning to is not whether the bridge reopens. It will. The question is whether, when it does, anyone can answer the only question that matters in a bear market: whose money is on the other side of that door, and who is standing behind it?

Build anyway โ€” but build the check first.

Market Prices

Coin Price 24h
BTC Bitcoin
$76,930.7 -2.84%
ETH Ethereum
$2,238.18 -1.96%
SOL Solana
$95.86 -1.84%
BNB BNB Chain
$699.57 -0.81%
XRP XRP Ledger
$1.25 -0.06%
DOGE Dogecoin
$0.0756 -1.09%
ADA Cardano
$0.1946 +0.57%
AVAX Avalanche
$8.48 +0.67%
DOT Polkadot
$0.9733 +4.66%
LINK Chainlink
$11.36 +5.06%

Fear & Greed

30

Fear

Market Sentiment

Event Calendar

{{ๅนดไปฝ}}
18
03
unlock Sui Token Unlock

Team and early investor shares released

22
03
unlock Optimism Unlock

Circulating supply increases by about 2%

28
03
unlock Arbitrum Token Unlock

92 million ARB released

12
05
halving BCH Halving

Block reward halving event

08
04
upgrade Solana Firedancer

Independent validator client goes live on mainnet

15
04
halving Bitcoin Halving

Block reward reduced to 3.125 BTC

30
04
upgrade Celestia Mainnet Upgrade

Improves data availability sampling efficiency

10
05
upgrade Ethereum Pectra Upgrade

Raises validator limit and account abstraction

Tools

All โ†’

Altseason Index

41

Bitcoin Season

BTC Dominance Altseason

Gas Tracker

Ethereum 28 Gwei
BNB Chain 3 Gwei
Polygon 42 Gwei
Arbitrum 0.5 Gwei
Optimism 0.3 Gwei

Market Cap

All โ†’
# Coin Price
1
Bitcoin BTC
$76,930.7
1
Ethereum ETH
$2,238.18
1
Solana SOL
$95.86
1
BNB Chain BNB
$699.57
1
XRP Ledger XRP
$1.25
1
Dogecoin DOGE
$0.0756
1
Cardano ADA
$0.1946
1
Avalanche AVAX
$8.48
1
Polkadot DOT
$0.9733
1
Chainlink LINK
$11.36

๐Ÿ‹ Whale Tracker

๐Ÿ”ด
0xd703...1646
12m ago
Out
7,492 BNB
๐Ÿ”ต
0xb048...c83a
12h ago
Stake
49,095 SOL
๐Ÿ”ต
0x774c...30c4
1d ago
Stake
2,378,643 USDT

๐Ÿ’ก Smart Money

0x6729...8209
Market Maker
+$0.3M
94%
0x6504...f407
Arbitrage Bot
+$1.3M
76%
0xd4f1...641a
Early Investor
+$2.8M
61%