https://sherlock-files.ams3.digitaloceanspaces.com/profile_images/2f6117d7-3fc2-4f41-a277-119e8c0b160f.jpg

phoenixv110

Security Researcher

Auditing in the dark, hoping the bug blinks first

Contact Me

High

2

Solo

34

Total

Medium

2

Solo

32

Total

$9.17K

Total Earnings

#612 All Time

34x

Payouts

silver

2x

2nd Places

bronze

2x

3rd Places

regular

11x

Top 10

All

Sherlock

Code4rena

Cantina

CodeHawks

Immunefi

Hats Finance

Jun '25

dTRINITY

dTRINITY

503.9 USDC • 2 total findings • Hats • aarambh_audits

#8

high

Method _deposit() in DLoopCoreBase can DoS due to incorrect debtAssetBorrowed calculation

high

Some users might get 0 shares for assets provided in DStakeToken contract

May '25

mystic-monorepo

mystic-monorepo

590.93 USDC • 13 total findings • Cantina • aarambhAudits

#6

high

Finding not yet public.

high

Finding not yet public.

high

Finding not yet public.

high

Finding not yet public.

high

Finding not yet public.

high

Finding not yet public.

high

Finding not yet public.

medium

Finding not yet public.

medium

Finding not yet public.

medium

Finding not yet public.

medium

Finding not yet public.

medium

Finding not yet public.

medium

Finding not yet public.

Apr '25

Aegis.im YUSD

Aegis.im YUSD

185.77 OP • 2 total findings • Sherlock • phoenixv110

silver

high

Method AegisMinting::approveRedeemRequest() apply fees incorrectly

medium

Redeem limit is not reset when the requests are rejected or withdrawn

Kinetiq

Kinetiq

4.38 USDC • 1 total finding • Code4rena • phoenixV110

#34

high

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

liquidity-book-vaults

liquidity-book-vaults

137.53 USDC • 2 total findings • Cantina • aarambhAudits

#24

high

Finding not yet public.

medium

Finding not yet public.

Mar '25

Nudge.xyz

Nudge.xyz

0.06 USDC • 1 total finding • Code4rena • phoenixV110

#8

medium

Unauthorized Reallocation in `NudgeCampaign::handleReallocation` and Reward Disruption Vulnerability in `NudgeCampaign::invalidateParticipations`

Audit Comp | Yeet

Audit Comp | Yeet

56 USDC • 2 total findings • Immunefi • Oxrochimaru

#34

medium

Finding not yet public.

low

Finding not yet public.

Symmio, Staking and Vesting

Symmio, Staking and Vesting

0.00 USDC • 1 total finding • Sherlock • phoenixv110

#18

medium

A user can abuse notifyRewardAmount() and dilute rewards for everyone

badger-ebtc-bsm

badger-ebtc-bsm

14.85 USDC • 1 total finding • Cantina • aarambhAudits

#31

high

Finding not yet public.

Feb '25

THORWallet

THORWallet

549.84 USDC • 3 total findings • Code4rena • phoenixV110

silver

high

The user can send tokens to any address by using two bridge transfers, even when transfers are restricted.

high

MergeTgt has no handling if TGT_TO_EXCHANGE is exceeded during the exchange period

medium

Improper Transfer Restrictions on Non-Bridged Tokens Due to Boolean Bridged Token Tracking, Allowing a DoS Attack Vector

Rova

Rova

0.04 USDC • 1 total finding • Sherlock • phoenixv110

bronze

medium

Incorrect Token Amount Comparison in updateParticipation() Prevents Users from Decreasing Their Position

Jan '25

Next Generation

Next Generation

3.55 USDC • 1 total finding • Code4rena • phoenixV110

#15

medium

Lack of deadline check in forwarded request

Liquid Ron

Liquid Ron

0.03 USDC • 2 total findings • Code4rena • phoenixV110

#10

high

The calculation of `totalAssets()` could be wrong if `operatorFeeAmount` > 0, this can cause potential loss for the new depositors

medium

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

daao-contracts

daao-contracts

288.09 USDC • 4 total findings • Cantina • aarambhAudits

#16

high

Finding not yet public.

high

Finding not yet public.

high

Finding not yet public.

high

Finding not yet public.

dahlia-protocol

dahlia-protocol

1,468.76 USDC • 2 total findings • Cantina • aarambhAudits

#13

medium

Finding not yet public.

medium

Finding not yet public.

Plaza Finance

Plaza Finance

1,531.96 USDC • 6 total findings • Sherlock • phoenixv110

#7

high

Method Auction.endAuction() in auction will always revert due to wrong globalPool() check in Pool contract

high

Auction settlement affects bond and leverage token creation and redemption in Pool contract

high

Auction pull reserve tokens from next Auction schedule

medium

BalancerRouter.sol locks excess user funds when PreDeposit.sol hits reserveCap

medium

A user can Blacklist themselves in Auction process when coupon token is USDC

medium

Pool fee is unaccounted when Auction settles

Ignite

Ignite

160.38 usdc • CodeHawks • 0xrochimaru

#16

Dec '24

Chainlink Payment Abstraction

Chainlink Payment Abstraction

1,987.07 USDC • Code4rena • phoenixV110

bronze
Oku's New Order Types Contract Contest

Oku's New Order Types Contract Contest

512.12 OP • 6 total findings • Sherlock • phoenixv110

#8

high

OrderId can be easily overwritten which can be exploited to drain contract

high

A user can modifyOrder() after the order execution and get the refund as the order status is missing

high

Anyone can create order on behalf of receiver if the receiver has given extra approval to OracleLess and StopLimit contracts

medium

In OracleLess.createOrder() feeBips value validation is missing

medium

Missing maxPendingOrders check in OracleLess.sol

medium

Method safeApprove() will revert if the allowance of msg.sender is not 0

Sep '24

Liquid Staking

Liquid Staking

19.41 USDC • 1 total finding • CodeHawks • 0xrochimaru

#39

medium

Remove splitter will always revert if there are some rewards left on splitter contract

redstone-oracle

redstone-oracle

81.01 USDC • 1 total finding • Cantina • aarambhAudits

#19

medium

Finding not yet public.

Aug '24

Rumpel Point Tokenization Protocol

Rumpel Point Tokenization Protocol

66.98 USDC • Sherlock • phoenixv110

#18

Fjord Token Staking

Fjord Token Staking

0.19 USDC • 1 total finding • CodeHawks • 0xrochimaru

#20

medium

`FjordAuction` incorrect `block.timestamp` check allows users to bid after calling `auctionEnd` to claim more tokens than they should

Winnables Raffles

Winnables Raffles

5.17 USDC • 2 total findings • Sherlock • phoenixv110

#31

high

Method refundPlayers doesn't update _lockedETH in WinnableTicketManager

high

Possible DOS in raffle setup mechanism

Sentiment V2

Sentiment V2

308.57 USDC • 1 total finding • Sherlock • phoenixv110

#20

medium

RedStoneOracle is not integrated properly

Jul '24

TraitForge

TraitForge

0.76 USDC • 1 total finding • Code4rena • phoenixV110

#83

medium

There is no slippage check in the `nuke()` function.

Munchables

Munchables

116.8 USDC • 3 total findings • Code4rena • phoenixV110

#29

high

Single plot can be occupied by multiple renters

high

Failure to Update Dirty Flag in transferToUnoccupiedPlot Prevents Reward Accumulation On Valid Plot

high

Invalid validation in _farmPlots function allowing a malicious user repeated farming without locked funds

Nov '23

Possum Labs (Portals)

Possum Labs (Portals)

400.7 USDC • 1 total finding • Hats • aarambh_audits

#6

medium

Phantom overflows can lead to unexpected reverts

Kelp DAO | rsETH

Kelp DAO | rsETH

2.76 USDC • Code4rena • phoenixV110

#54

Oct '23

NextGen

NextGen

46.73 USDC • 4 total findings • Code4rena • phoenixV110

#64

high

Attacker can drain all ETH from AuctionDemo when block.timestamp == auctionEndTime

high

Attacker can reenter to mint all the collection supply

medium

On a Linear or Exponential Descending Sale Model, a user that mint on the last `block.timestamp` mint at an unexpected price.

medium

Bidder Funds Can Become Unrecoverable Due to 1 second Overlap in `participateToAuction()` and `claimAuction()`

Open Dollar

Open Dollar

120.08 USDC • 1 total finding • Code4rena • phoenixV110

#33

medium

Decimal Limitation in CamelotRelayer and UniV3Relayer Contract Deployment

Jul '23

Beedle - Oracle free perpetual lending

Beedle - Oracle free perpetual lending

0.05 USDC • 4 total findings • CodeHawks • 0xrochimaru

#226

high

[H-04] Lender#buyLoan - Malicious user could take over a loan for free without having a pool because of wrong access control

low

Zero address leads to transaction reverts

low

Lender fails to giveLoan because of inconsistent length between `loadIds` and `poolIds`

gas

Uncheck Arithmetic where overflow/underflow impossible

Foundry DeFi Stablecoin CodeHawks Audit Contest

Foundry DeFi Stablecoin CodeHawks Audit Contest

0.08 USDC • 2 total findings • CodeHawks • 0xrochimaru

#157

low

Zero address check for tokens

gas

`++i`/`i++` should be `unchecked{++i}`/`unchecked{i++}` when it is not possible for them to overflow, as is the case when used in `for`- and `while`-loops

CodeHawks Escrow Contract - Competition Details

CodeHawks Escrow Contract - Competition Details

2.47 USDC • 1 total finding • CodeHawks • 0xrochimaru

#94

gas

Use nested `if` statements instead of logical AND (`&&`)