https://sherlock-files.ams3.digitaloceanspaces.com/profile_images/defaults/default_avatar_6.png

jesjupyer

Blockchain Security Researcher

Blockchain Security Researcher | DeFi White Hat | Security Tool Automation | jesjupyter.eth

Contact Me

High

31

Total

Medium

54

Total

$43.95K

Total Earnings

#199 All Time

33x

Payouts

gold

3x

1st Places

silver

2x

2nd Places

bronze

3x

3rd Places

All

Code4rena

Cantina

CodeHawks

Mar '25

EIP7702Proxy

EIP7702Proxy

2,237.68 USDC • 1 total finding • Cantina • jesjupyter

bronze

medium

Finding not yet public.

badger-ebtc-bsm

badger-ebtc-bsm

14.85 USDC • 1 total finding • Cantina • jesjupyter

#31

high

Finding not yet public.

Feb '25

THORWallet

THORWallet

346.49 USDC • 2 total findings • Code4rena • jesjupyter

bronze

high

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

medium

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

defi-app-contracts

defi-app-contracts

747.6 USDC • 5 total findings • Cantina • jesjupyter

#11

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.

Dec '24

Alchemix Transmuter

Alchemix Transmuter

11.67 op • 2 total findings • CodeHawks • jesjupyter

#26

medium

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

low

Old router retains token allowance after update

story-protocol

story-protocol

4,193.38 USDC • 1 total finding • Cantina • jesjupyter

#35

medium

Finding not yet public.

bima-money

bima-money

380.11 USDC • 1 total finding • Cantina • jesjupyter

#20

medium

Finding not yet public.

Nov '24

Project

Project

1,184.19 USDC • 3 total findings • CodeHawks • jesjupyter

gold

high

Missing KYC and NFT Ownership Verification for Ecosystem Access

medium

Reorg Vulnerability in DAO Membership Creation Allows Users to Join Incorrect DAOs

low

Users Can Join DAOs Using Removed Currencies Due To Missing Validation

Oct '24

spend-permissions

spend-permissions

2,500 USDC • Cantina • jesjupyter

gold
mev-commit

mev-commit

368.32 USDC • 3 total findings • Cantina • jesjupyter

#26

high

Finding not yet public.

medium

Finding not yet public.

medium

Finding not yet public.

Sep '24

Royco Protocol

Royco Protocol

2,222.97 USDC • 13 total findings • Cantina • jesjupyter

bronze

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.

Aug '24

Chakra

Chakra

299.75 USDT • 4 total findings • Code4rena • jesjupyter

#20

high

There is no refund mechanism in `ChakraSettlement.processCrossChainCallback` or `ChakraSettlementHandler.receive_cross_chain_callback` function

high

SettlementSignatureVerifier is missing check for duplicate validator signatures

medium

Permanent loss of user tokens on both chains if `BurnUnlock` mode fails because of flawed burning pattern

medium

SettlementSignatureVerifier's required_validators is not updated, resulting in a low or high number of signatures being required

zetachain-protocol

zetachain-protocol

92.72 USDC • 2 total findings • Cantina • jesjupyter

#67

medium

Finding not yet public.

medium

Finding not yet public.

Tadle

Tadle

116.43 USDC • 7 total findings • CodeHawks • jesjupyter

#48

high

Incorrect set up and logic of `referralInfoMap` in `SystemConfig::updateReferrerInfo` function

high

TokenManager - Unlimited withdraw

high

Malicious user can drain protocol by bypassing `ASK` offer abortion validation in `Turbo` mode

high

Token withdrawal fails until someone manually approves spending

medium

Unnecessary balance checks and precision issues in TokenManager::_transfer

medium

`WrappedNativeToken` Can Only Work in `NativeToken` Mode

low

[Low-01] Missing Access Control in `CapitalPool::approve()` Function Allows any User to call it to set Allowance Amount `TokenContract` to `type(uint256).max`.

Jul '24

ArkProject: NFT Bridge

ArkProject: NFT Bridge

103.02 USDC • 2 total findings • CodeHawks • jesjupyter

#35

high

`Tokens` Are Automatically Whitelisted Upon Creation And Binding Even When `_whiteListEnabled == false`

medium

There is No `msg.value` check in `depositTokens`, causing potential token stuck

TraitForge

TraitForge

472.4 USDC • 7 total findings • Code4rena • jesjupyter

#10

high

Number of entities in generation can surpass the 10k number

high

Wrong minting logic based on total token count across generations

medium

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

medium

Forger Entities can forge more times than intended

medium

Pause and unpause functions are inaccessible

medium

Discrepancy between nfts minted, price of nft when a generation changes & position of `_incrementGeneration()` inside `_mintInternal()` & `_mintNewEntity()`

medium

Incorrect check against golden entropy value in the first two batches

Munchables

Munchables

29.25 USDC • 1 total finding • Code4rena • jesjupyter

#43

high

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

TempleGold

TempleGold

1,940.09 USDC • 2 total findings • CodeHawks • jesjupyter

#6

high

Future stakers are paid with rewards that have been accrued from the past due to miscalculation in userRewardPerTokenPaid and _perTokenReward.

low

Malicious user can prevent `rewardData.perodfinish` from ending by calling `TempleGoldStaking::distributeRewards()` before the end of the reward duration when no starter is set.

Jun '24

eBTC Zap Router

eBTC Zap Router

2,442.82 USDC • 1 total finding • Code4rena • jesjupyter

silver

medium

Incorrect Comparison Logic in Post-Operation Checks

Pegasus

Pegasus

1,785.6 USDC • 1 total finding • Cantina • jesjupyter

silver

medium

Finding not yet public.

Vultisig

Vultisig

200.41 USDC • 2 total findings • Code4rena • jesjupyter

#18

medium

`claim` function lacks slippage controls for `amount0` and `amount1` returned by `pool.burn` function call

medium

Transfer of ILOPool NFT token to different account allows for users to bypass the pool's `maxCapPerUser` invariant

May '24

YOLO Games

YOLO Games

198.3 USDC • 1 total finding • Cantina • jesjupyter

#14

medium

Finding not yet public.

Apr '24

Renzo

Renzo

0 USDC • Code4rena • jesjupyter

#58

DYAD

DYAD

22.16 USDC • 2 total findings • Code4rena • jesjupyter

#81

medium

Value of kerosene can be manipulated to force liquidate users

medium

No incentive to liquidate when CR <= 1 as asset received < dyad burned

Panoptic

Panoptic

648.15 USDC • 1 total finding • Code4rena • jesjupyter

#15

medium

`PanopticFactory` uses spot price when deploying new pools, resulting in liquidity manipulation when minting

Mar '24

Smart-contracts

Smart-contracts

594.47 USDC • 4 total findings • Cantina • jesjupyter

#20

high

Finding not yet public.

medium

Finding not yet public.

medium

Finding not yet public.

medium

Finding not yet public.

Smart Wallet

Smart Wallet

6.95 USDC • Code4rena • jesjupyter

#19

Feb '24

UniStaker Infrastructure

UniStaker Infrastructure

694.3 USDC • Code4rena • jesjupyter

#5

arcadexyz/arcade-protocol

arcadexyz/arcade-protocol

19,546.62 USDC • 2 total findings • Cantina • jesjupyter

gold

medium

Finding not yet public.

medium

Finding not yet public.

Althea Liquid Infrastructure

Althea Liquid Infrastructure

117.64 USDC • 2 total findings • Code4rena • jesjupyter

#20

medium

`LiquidInfrastructureERC20.sol` disapproved holders keep part of the supply, diluting approved holders revenue.

medium

Distribution can be bricked, and double claims by a few holders are possible when owner calls `LiquidInfrastructureERC20::setDistributableERC20s`

AI Arena

AI Arena

42.81 USDC • 8 total findings • Code4rena • jesjupyter

#96

high

A locked fighter can be transferred; leads to game server unable to commit transactions, and unstoppable fighters

high

Since you can reroll with a different fighterType than the NFT you own, you can reroll bypassing maxRerollsAllowed and reroll attributes based on a different fighterType

high

Players have complete freedom to customize the fighter NFT when calling `redeemMintPass` and can redeem fighters of types Dendroid and with rare attributes

high

Fighters cannot be minted after the initial generation due to uninitialized `numElements` mapping

high

Non-transferable `GameItems` can be transferred with `GameItems::safeBatchTransferFrom(...)`

medium

NFTs can be transferred even if StakeAtRisk remains, so the user's win cannot be recorded on the chain due to underflow, and can recover past losses that can't be recovered(steal protocol's token)

medium

Minter / Staker / Spender roles can never be revoked`..,

medium

DoS in `MergingPool::claimRewards` function and potential DoS in `RankedBattle::claimNRN` function if called after a significant amount of rounds passed.

Jan '24

Salty.IO

Salty.IO

286.9 USDC • 5 total findings • Code4rena • jesjupyter

#43

high

The use of spot price by CoreSaltyFeed can lead to price manipulation and undesired liquidations

medium

Unwhitelisting does not clear _arbitrageProfits, so re-whitelisting may result in an unfair distribution of liquidity rewards.

medium

Remove Liquidity has missing reserve1 DUST check, which can make reserve1 to be less than DUST

medium

Impossible to change managed wallets with `proposeWallets` after first rejection

medium

Creation of token whitelisting proposals can be DOS'd

Curves

Curves

103.19 USDC • 3 total findings • Code4rena • jesjupyter

#48

high

Unauthorized Access to setCurves Function

medium

Single token purchase restriction on curve creation enables sniping

medium

If a user sets their curve token symbol as the default one plus the next token counter instance it will render the whole default naming functionality obsolete