https://sherlock-files.ams3.digitaloceanspaces.com/profile_images/15c5baf6-adfb-4294-913e-5dad4d46b6f9.png

holydevoti0n

Security Researcher

Security Researcher. Active on Code4rena | CodeHawks | Immunefi

Contact Me

High

1

Solo

28

Total

Medium

1

Solo

44

Total

$79.86K

Total Earnings

#131 All Time

23x

Payouts

gold

1x

1st Places

silver

2x

2nd Places

bronze

1x

3rd Places

All

Sherlock

Code4rena

CodeHawks

Immunefi

Sep '25

Flare FAssets | Mitigation Audit

Flare FAssets | Mitigation Audit

7,083 USDC • 1 total finding • Immunefi • holydevoti0n

silver

medium

Finding not yet public.

May '25

Audit Comp | Flare | FAssets

Audit Comp | Flare | FAssets

5,460 • 4 total findings • Immunefi • holydevoti0n

#7

medium

Finding not yet public.

medium

Finding not yet public.

medium

Finding not yet public.

low

Finding not yet public.

Apr '25

Burve

Burve

9.46 USDC • 1 total finding • Sherlock • holydevoti0n

#29

high

User can skip fees when removing funds through `ValueFacet.removeValueSingle`

Kinetiq

Kinetiq

31.03 USDC • 3 total findings • Code4rena • holydevoti0n

#28

high

Users Who Queue Withdrawal Before A Slashing Event Disadvantage Users Who Queue After And Eventually Leads To Loss Of Funds For Them

medium

Incorrect Balance Check in Validator Redelegation Process May Block Legitimate Rebalancing Operations

medium

Inconsistent State Restoration in `cancelWithdrawal` Function

Audit Comp | Spectra Finance

Audit Comp | Spectra Finance

412 USDC • 2 total findings • Immunefi • holydevoti0n

#6

medium

Finding not yet public.

low

Finding not yet public.

Feb '25

Core Contracts

Core Contracts

618.33 usdc • 46 total findings • CodeHawks • holydevoti0n

#38

high

Multiple Delegation by Double Spending Boosts and Lack of Delegation Tracking in BoostController Contract

high

Incorrect decimal handling in `Auction::buy()` leads to massive overpayment for ZENO tokens

high

Gauge period cannot be updated

high

`GaugeController` does not send funds to FeeCollector disrupting fees distribution and causing loss of funds

high

Reward manipulation vulnerability in StabilityPool

high

RToken's transfer function lead to loss of funds due to incorrect math

high

Users can borrow more assets than they have deposited as collateral

high

Double Usage Index Scaling in StabilityPool Liquidation Inflates Required CRVUSD Balance

high

Ownership Parameter Mismatch in LendingPool’s Vault Withdrawal Logic

high

Treasury Balance Tracking Bypass in FeeCollector

high

Attackers can double voting power and veToken amount by locking and increasing

high

Gauge Voting Misallocation Vulnerability

high

Untracked Direct Fee Transfers from RAACToken to FeeCollector Break Fee Distribution System

high

Ineffective Time-Weighted Average Implementation in Fee Distribution

high

Voting Power Snapshot Missing

medium

Timelock Controller Retains Canceled Proposals, Enabling Unauthorized Execution and severe Governance Voting manipulation.

medium

Missing Vote Frequency Control in GaugeController

medium

Incorrect accounting in `veRAACToken::emergencyWithdraw` and `veRAACToken::withdraw` due to missing `totalLocked` update

medium

Incorrect utilization rate forces protocol to issue maximum rewards indefinitely

medium

Incorrect DebtToken totalSupply Scaling Breaks Interest Rate Calculations

medium

LendingPool deposits do not work with CurveVault due to lack of funds

medium

Liquidation Cannot Be Closed Even With Healthy Position Due To Strict Debt Check

medium

There is no logic checking for RAACNFT price staleness before minting it

medium

LendingPool.getUserDebt returns outdated value and can lead to liquidation failure

medium

Workingsupply would always be overwritten in boostcontroller.sol impacting reward calculations

medium

Emergency revoke in RAACReleaseOrchestrator will freeze revoked RAAC tokens in orchestrator

medium

`GaugeController::distributeRewards` can be called multiple times by anyone, leading to excessive reward distribution

medium

Lack of Time-Weighted Voting and Weight Decay in GaugeController

medium

Missing Liquidity Rebalancing in Repayments and Liquidations Leading to Inefficient Liquidity Management

medium

Failure to update `lastClaimTime` mapping when users claim rewards in FeeCollector Causes Time-Based Reward Calculation Issues

medium

Cordinated group of attacker can artificially lower quorum threshold during active proposals forcing malicious proposals to pass without true majority support.

medium

RAACToken burns less tokens than expected when feeCollector is unset

medium

Flawed Boost Multiplier Calculation Always Yields Maximum Boost

medium

balanceOf(address(this)) in StabilityPool causes reward distribution to be higher than it should be

medium

Users Cannot Remove Their Own Boost Delegation, Causing Potential Lock-In

medium

The earned yield from the Curve vault can never be utilized when withdrawing or borrowing

medium

Paused Protocol Prevents Critical Functions Including Debt Repayment and Liquidations

medium

rToken Redemption Failure Due to Insufficient Liquidity for Accrued Interest

low

Lack of enforcement of the `MAX_TOTAL_LOCKED_AMOUNT`

low

Irreversible emission cap reduction in BaseGauge

low

Missing Controller Functions in GaugeController

low

Unauthorized Vote Casting Vulnerability

low

Impossible to rescue funds from `RToken` contract

low

Incorrect Initialization of minBoost in BaseGauge Constructor Breaks Core Contract Functionality

low

Missing Checkpoint Reset in `veRAACToken::emergencyWithdraw` Function

low

Boost Delegation Allows Invalid Recipients on BoostController

Jan '25

Liquid Ron

Liquid Ron

0 USDC • 1 total finding • Code4rena • holydevoti0n

#12

medium

Incorrect Logic in onlyOperator Modifier Leading to Denial-of-Service for Authorized Operators Across Critical Functions

Aave DIVA Wrapper

Aave DIVA Wrapper

0.04 usdc • 1 total finding • CodeHawks • holydevoti0n

#9

low

Incorrect sequence of AaveDIVAWrapper constructor parameters

Dec '24

QuantAMM

QuantAMM

125.45 op • 4 total findings • CodeHawks • holydevoti0n

#47

high

Fee Evasion via LP Token Transfer Resets Deposit Value

high

GradientBasedRules will not work for >=4 assets with vector lambdas

medium

quantAMMSwapFeeTake used for both getQuantAMMSwapFeeTake and getQuantAMMUpliftFeeTake.

low

Inconsistent timestamp storage when the LPNFT is transferred.

Audit Comp | Lombard

Audit Comp | Lombard

8,131 USDC • 1 total finding • Immunefi • holydevoti0n

silver

medium

Finding not yet public.

Alchemix Transmuter

Alchemix Transmuter

281.09 op • 3 total findings • CodeHawks • holydevoti0n

#15

medium

not adding `claimable` balance to the total assets in `_harvestAndReport` can cause losses.

medium

Inflated `totalAssets` in `StrategyMainnet`, `StrategyArb`, and `StrategyOp` Contracts

low

Old router retains token allowance after update

Audit Comp | Folks: Liquid Staking

Audit Comp | Folks: Liquid Staking

2,264 USDC • 1 total finding • Immunefi • holydevoti0n

#5

high

Finding not yet public.

Oct '24

Era

Era

1,389.35 USDC • CodeHawks • holydevoti0n

#22

Aug '24

Tadle

Tadle

0.02 USDC • 2 total findings • CodeHawks • holydevoti0n

#169

high

TokenManager - Unlimited withdraw

high

Native token withdrawal fails until manually approved

Jul '24

Audit Comp | IDEX

Audit Comp | IDEX

450 USDC • 1 total finding • Immunefi • holydevoti0n

#5

low

Finding not yet public.

May '24

Beanstalk: The Finale

Beanstalk: The Finale

17,814.76 USDC • 12 total findings • CodeHawks • holydevoti0n

#4

high

`LibChainlinkOracle::getTokenPrice` will always return instantaneuous prices

high

LibUsdOracle will compromise Beanstalk peg due to wrong price and DoS

high

LibUsdOracle returns the wrong price for Uniswap Oracle

high

Tokens can get stuck during migration if the L2 side fails leading to loss of funds

high

Unfair Penalty Fees in Pipeline Convert

medium

LibUsdOracle is completely broken for the to-deploy L2 chain

medium

quickSort function does not work as expected, compromising the calculation of Beans per Well to be minted during a flood

medium

Forcing penalty to users converting by applying sandwich attack

low

`BeanL1RecieverFacet#recieveL1Beans()` would never work

low

ETH/USD 1 hour period is too large for Optimism/Base L2 Chains and too small for Arbitrum/Avalanche leading to consuming stale price data.

low

SeasonGettersFacet returns the wrong totalDeltaB

low

TractorFacet return the wrong values for Tractor Counter

Apr '24

Beanstalk Part 2

Beanstalk Part 2

1,203.67 USDC • 3 total findings • CodeHawks • holydevoti0n

#4

medium

```LibWstethEthOracle::getWstethEthPrice``` returns wrong ```wstETH/ETH``` price in some conditions impacting system operations

low

Deprecated pool BEAN:WETH on LibBarnRaise used as fallback

low

There is a more efficient and secure way to compute `wstETH:ETH` price using Chainlink

Feb '24

Beanstalk Part 1

Beanstalk Part 1

24,148.11 USDC • 2 total findings • CodeHawks • holydevoti0n

gold

medium

`removeWhitelistStatus` function Ignores updating `milestoneSeason` variable

medium

Temperature and caseId are incorrectly adjusted when oracle fails

Audit Comp | eBTC

Audit Comp | eBTC

10,000 USDC • 1 total finding • Immunefi • holydevoti0n

bronze

medium

Finding not yet public.

Jan '24

Salty.IO

Salty.IO

0.78 USDC • 2 total findings • Code4rena • holydevoti0n

#117

high

User can evade `liquidation` by depositing the minimum of tokens and gain time to not be liquidated

medium

Minimium Collateral Check Can Be Bypassed

reNFT

reNFT

2.72 USDC • Code4rena • holydevoti0n

#67

Dec '23

stake.link

stake.link

382.45 USDC • 2 total findings • CodeHawks • holydevoti0n

#13

low

Fee Calculation inconsistency in WrappedTokenBridge

low

Single strategy failure blocks global reward distribution

Oct '23

Open Dollar

Open Dollar

54.19 USDC • 1 total finding • Code4rena • holydevoti0n

#42

medium

Due to extremely short `votingDelay` and `votingPeriod`, governance is practically impossible.