Percent Finance Hack

TOTAL LOST $1.9M
Medium Other

Summarize with AI

Affected Chain 2020 Incident surface
Recovered - No recovery reported
All-Time Rank #676 By amount stolen
Protocol Type Lending Target category

Incident Overview

The problem was that the old interest rate contracts have different signatures for `getSupplyRate` and `getBorrowRate`. They return 2 uint values, the first one being an error code. So, after the swap, they were unable to call these functions on the new interest rate contracts, as the signatures do not match. Making the problem worse, these functions are checked before every interaction with these contracts (supplying, borrowing, redeeming, repaying, etc). They are also checked before changing the interest rate contract again. So, because the current interest rate contract does not work, it is impossible to change to a new one.

This meant that these 3 contracts were no longer usable, and the user funds in them were permanently locked. These amounted to: 446,813 USDC, 28 wBTC and 313 ETH.

Incident Report

Protocol / Project Percent Finance
Date of Incident
Attack Technique Other
Classification Borrowing and Lending

Protocol Information

Protocol Type Lending
Affected Token PCT
Official Website percent.finance/
Protocol Twitter/X @PercentFinance

Market Context at Time of Hack

Token Categories
Services DeFi Ethereum Ecosystem Lending & Borrowing BoostVC Portfolio Fenbushi Capital Portfolio Hashkey Capital Portfolio

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 other and Solidity and EVM internals
Capital Required Seed capital to cover gas and initial position setup
On-Chain Access Ability to interact with smart contracts and deploy a custom exploit contract
Protocol Analysis Identification of the exploitable vulnerability in Percent Finance's contract logic - root cause: borrowing and lending
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? Likely — with a thorough Other audit checklist and test coverage

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

  • Verify all logic paths related to Other 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 Percent Finance

The Percent 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