DEV Community

ohmygod
ohmygod

Posted on

The Venus Protocol Donation Attack: How an Attacker Turned $0.27 THE Tokens Into a $3.6M Payday

On March 15, 2026, Venus Protocol — one of BNB Chain's largest lending platforms with ~$1.47B TVL — lost approximately $3.6 million to a sophisticated price manipulation exploit. The attack didn't rely on a smart contract bug in the traditional sense. Instead, it exploited the economic assumptions baked into lending protocol design: that collateral tokens have real liquidity, that supply caps prevent abuse, and that oracle prices reflect genuine market activity.

The attacker proved all three assumptions wrong.

The Setup: Months of Patient Accumulation

Unlike the typical DeFi exploit that happens in a single transaction block, this attack was methodically planned over months. The attacker gradually accumulated approximately 14.5 million THE tokens — roughly 84% of Thena's circulating supply — from the open market.

At ~$0.27 per token, this accumulation phase cost the attacker roughly $3.9 million. A significant investment, but one that would prove highly strategic.

Why THE? Thena is a ve(3,3) DEX on BNB Chain. Its token had several properties that made it an ideal attack vector:

  • Low circulating supply (~17.2M tokens actively traded)
  • Thin on-chain liquidity — easy to move the price with relatively small volume
  • Listed as accepted collateral on Venus Protocol — the critical prerequisite
  • Low market cap (~$4.6M at the time) — meaning the attacker could corner the supply

The Attack: A Textbook Borrow-Inflate Loop

With 84% of THE's supply controlled, the attacker initiated the exploit cycle:

Step 1: Deposit THE as Collateral

The attacker deposited THE tokens into Venus Protocol's lending pool, receiving vTHE (Venus interest-bearing tokens) in return.

Step 2: Borrow Against Inflated Collateral

Using the deposited THE as collateral, the attacker borrowed other assets — BNB, USDC, CAKE, WBNB, and BTC (BEP2).

Step 3: Buy More THE → Push Price Higher

The borrowed assets were immediately used to purchase more THE on the open market. With 84% of supply already controlled and minimal remaining liquidity, each purchase had an outsized impact on THE's price.

Step 4: Repeat

As THE's oracle price rose (from ~$0.27 toward ~$5), the attacker's existing collateral became worth more, unlocking larger borrow limits. Each cycle amplified the next.

Loop N:
  deposit(THE) → borrow(BNB, USDC, ...) → buy(THE) → price↑ → collateral_value↑

Loop N+1:
  deposit(more_THE) → borrow(more_assets) → buy(more_THE) → price↑↑

  ... repeat until protocol drained
Enter fullscreen mode Exit fullscreen mode

By the end of the exploit, the system had processed approximately 53.2 million THE — roughly 367% of the token's actual circulating supply.

The "Donation Attack": Bypassing Supply Caps

Here's where it gets technically interesting. Venus Protocol, like most lending platforms, implements supply caps — maximum amounts of any single asset that can be deposited as collateral. This is specifically designed to prevent the kind of attack described above.

The attacker bypassed this safeguard using what's known as a "donation attack": instead of depositing THE through the standard mint() function (which checks and enforces supply caps), the attacker directly transferred THE tokens to the vTHE contract address.

// Normal deposit path (checked):
vTHE.mint(amount);  // ← enforces supply cap

// Donation attack path (unchecked):
THE.transfer(address(vTHE), amount);  // ← bypasses supply cap entirely
Enter fullscreen mode Exit fullscreen mode

When tokens are directly transferred to a cToken/vToken contract, they increase the contract's underlying balance without going through the accounting checks. This distorts the exchange rate between vTHE and THE:

exchangeRate = (totalCash + totalBorrows - totalReserves) / totalSupply
Enter fullscreen mode Exit fullscreen mode

By inflating totalCash through direct transfers, the attacker made each vTHE token worth dramatically more THE than it should have been. Existing vTHE holders (including the attacker's own positions) suddenly had outsized collateral value.

Why This Pattern Keeps Working

The Venus exploit is not novel in concept. It's a modern iteration of a well-known attack family:

Incident Year Mechanism Loss
Mango Markets (Solana) 2022 MNGO price manipulation via thin liquidity $114M
Euler Finance 2023 Donation attack on eToken exchange rate $197M
Venus Protocol (BNB) 2026 THE price manipulation + donation attack $3.6M

The pattern is consistent:

  1. Find an illiquid token accepted as collateral on a major lending protocol
  2. Corner the market — accumulate a controlling share of supply
  3. Inflate the price through self-dealing trades
  4. Borrow real assets against the artificially inflated collateral
  5. Walk away — the protocol is left holding worthless collateral

Defensive Lessons: What Lending Protocols Must Do

1. Dynamic Supply Caps Are Not Enough — Check Transfer Routes

Supply caps that only gate the mint() function are incomplete. Protocols must account for direct transfers:

modifier checkTotalDeposits() {
    _;
    uint256 actualBalance = underlying.balanceOf(address(this));
    require(actualBalance <= maxDeposit, "Supply cap exceeded via transfer");
}
Enter fullscreen mode Exit fullscreen mode

Or better yet, use a pull-based accounting model where only tokens deposited through the approved entry point are counted as collateral.

2. Oracle Circuit Breakers

If an asset's price moves more than X% within Y blocks, halt lending operations for that asset. The THE token going from $0.27 to $5 (an 18x increase) should have triggered immediate intervention.

function getPrice(address asset) external view returns (uint256) {
    uint256 currentPrice = oracle.getLatestPrice(asset);
    uint256 previousPrice = lastKnownPrice[asset];

    require(
        currentPrice <= previousPrice * MAX_PRICE_DEVIATION / 100,
        "Price deviation exceeds safety threshold"
    );

    return currentPrice;
}
Enter fullscreen mode Exit fullscreen mode

3. Liquidity-Weighted Collateral Factors

Instead of assigning a fixed collateral factor to each asset, weight it by on-chain liquidity depth:

  • THE with $500K total DEX liquidity should not have the same collateral factor as BNB with $500M
  • If an asset's liquidity drops below a threshold, automatically reduce its collateral factor or delist it

4. Concentration Risk Monitoring

When a single address (or linked cluster of addresses) holds >50% of a collateral token's supply on your platform, that's a red flag. Implement:

  • Per-address collateral caps
  • Alerts when single-entity concentration exceeds thresholds
  • Graduated collateral factor reduction as concentration increases

5. Time-Weighted Collateral Valuation

Don't let freshly deposited collateral be immediately borrowable at full value. Implement a ramp-up period:

effective_collateral = min(
    deposited_value * time_weight(deposit_age),
    deposited_value * collateral_factor
)
Enter fullscreen mode Exit fullscreen mode

This prevents flash-deposit-borrow-withdraw cycles.

The Broader Pattern: Off-Chain Preparation, On-Chain Execution

What makes this exploit particularly instructive is the months-long preparation phase. The on-chain exploit itself was relatively straightforward — the real sophistication was in the patient accumulation of 84% of THE's supply without triggering alarm bells.

This mirrors the Step Finance hack from January 2026 ($40M loss via compromised executive devices) and the Resolv Protocol exploit from March 22, 2026 ($23.8M via a minting contract loophole). The common thread: the most dangerous attacks in 2026 aren't zero-days in Solidity — they're economic attacks that exploit the gap between a protocol's security model and market reality.

DeFi protocols need to think beyond code audits. The OWASP Smart Contract Top 10 for 2026 rightly places "Business Logic Vulnerabilities" at SC02 and "Price Oracle Manipulation" at SC03. The Venus exploit is a case study in both.

Conclusion

The Venus Protocol donation attack is a reminder that DeFi security is an economic problem, not just a code problem. The smart contracts worked exactly as designed. The vulnerability was in the design itself — in the assumption that listed collateral tokens would maintain honest, liquid markets.

As lending protocols continue to list long-tail assets to attract TVL, this tension will only grow. The protocols that survive will be the ones that treat every new collateral listing as a potential attack surface and build their risk models accordingly.


Tracking DeFi security incidents and best practices. Follow for weekly breakdowns of exploits, audit techniques, and defensive patterns.

Top comments (0)