Meerkat Finance Hack

TOTAL LOST $32.0M
High #165 All-Time Drained Contracts / Rugpull binance bsc

Summarize with AI

Affected Chain binance 2 chains affected
Recovered - No recovery reported
All-Time Rank #165 By amount stolen
Protocol Type Lending Target category

Incident Overview

Meerkat Finance was allegedly rug-pulled by its team or an external attacker for the amount of $31 million through proxy upgradable smart contracts.

Meerkat Finance was a fork of the successful Alpaca Finance project. Essentially, Meerkat Finance was a lending and yield aggregation protocol offering its users yield through lending assets or pledging assets to the platform's vaults. The vaults would pursuit automated investment strategies.

This rekt case gained traction when the contract deployer invoked the upgradeTo() function, setting new implementation to the BUSD Vault at:

https://bscscan.com/tx/0xf19fa4bc…842553

The contract deployer also invoked the upgradeTo() function, setting new implementation to WBNB Vault at:

https://bscscan.com/tx/0x063970f8625f250101a7da8abf914748cf8eaaaa9458041f1928501accfe5

This altered the vault logic, introducing two new functions that were not included in the earlier implementations. This is where the real danger of proxy upgradable smart contracts lies. Code is king in DeFi and rather than trusting mediators users of DeFi can trust the code. However, when the code becomes changeable and upgradable by a centralized entity without governance by the token holder, the story changes.

An external address, marked as Fake_Phishing 17, invoked init() function to the Vaults through the proxy contract at:

https://bscscan.com/tx/0xfcf48681…b21f5d

https://bscscan.com/tx/0x5050d0f2…345027

According to decompiled bytecode, this function sets the address on storage slot 0 to the address provided to the function. There’s no permission check, making this newly added function the backdoor into the vaults.

The attacker called method 0x70fcb0a7 on BUSD Vault to transfer out 13,968,039 BUSD at:

https://bscscan.com/tx/0x1332fadc…cae27d

The attacker called method 0x70fcb0a7 on WBNB Vault to transfer out 73,635 WBNB at:

https://bscscan.com/tx/0xd8145dfe…ae8cd0

BUSD Vault:

https://bscscan.com/address/0x7e0c621e…04a61c

BNB Vault:

https://bscscan.com/address/0x639f18c7…1a1e4d

External Hacker Address (Fake_Phishing 17):

https://bscscan.com/address/0x9542966f…dbfa79

Incident Report

Protocol / Project Meerkat Finance
Date of Incident
Affected Chain(s) binance bsc
Attack Technique Drained Contracts / Rugpull
Classification Rugpull / Yield Aggregator
Primary Source View Post-Mortem

Protocol Information

Protocol Type Lending
Affected Token MKAT
Smart Contract Language Solidity
Official Website meerkat.finance/
Protocol Twitter/X @MeerkatFinance
Team Anonymous
Source Code Unverified

Market Context at Time of Hack

Token Categories
AI & Big Data Ethereum Ecosystem MetisDAO Ecosystem Generative AI Metis Andromeda Ecosystem

What the Attacker Needed to Succeed

Understanding the prerequisites for this type of attack helps auditors identify protocols that are most at risk and helps developers build better defenses.

Technical Knowledge Deep understanding of drained contracts / rugpull and Solidity and EVM internals
Capital Required Seed capital to cover gas and initial position setup
On-Chain Access Ability to interact with binance, bsc smart contracts and deploy a custom exploit contract
Protocol Analysis Identification of the exploitable vulnerability in Meerkat Finance's contract logic - root cause: rugpull / yield aggregator
Execution Speed Precise transaction ordering and timing to exploit the vulnerability within a single atomic block
Obfuscation Plan A strategy to launder and move stolen funds - typically through mixers, cross-chain bridges, or decentralized DEX swaps to resist tracing

What Auditors Should Check

Could this have been caught in audit? Hard to catch — private key / OpSec failures are outside smart contract audit scope

If you're auditing a protocol with similar architecture to Meerkat Finance, these are the critical security checks that could have prevented this incident (March 2021).

  • Verify all logic paths related to Drained Contracts / Rugpull are guarded by proper access controls and input validation
  • Review privileged functions (owner, admin, governance) for potential abuse vectors - centralization risks should be documented and bounded with timelocks or multi-sigs

Master these auditing techniques with hands-on labs and real exploit scenarios in the Smart Contract Hacking course.

Free Trial

Sources & References

Learn to Prevent the Next Meerkat Finance

The Meerkat Finance hack is one of many attacks that skilled auditors are trained to detect before deployment. Master real exploit patterns and defense techniques with hands-on Web3 security training.

Recreate exploit patterns safely Free Trial