<- ALL CASE STUDIES
Phage Security x Perpgame

Perpgame

Hardening a leveraged-token basket protocol before mainnet. 26 findings across NAV accounting, rebalance math, and freeze surfaces, 20 fixed and verified.

HYPEREVMLEVERAGED TOKEN BASKETJUN 2026
TOTAL FINDINGS
26
HIGH RESOLVED
1 / 1
MEDIUM RESOLVED
10 / 12
DURATION
4 days

About the client

Perpgame lets users buy into a launched token by paying USDC, minting ERC-20 shares priced off the net asset value of a basket of Hyperliquid leveraged tokens.

Sellers burn shares to redeem their pro-rata slice of the basket back to USDC, and a rebalancer sets target weights and rebalances the basket through Bounce.tech. The platform takes a 1% fee on each trade, and a scaling buy premium accrues to existing holders.

Every launched token gets its own treasury, deployed by a CREATE2 factory behind a shared beacon, capped at 20 legs and gated by a factory-wide pause.

The team on this audit

Pyro
Pyro
LEAD RESEARCHER

Lead Security Researcher at Sherlock. Over 100 audits performed and 500+ bugs found.

BengalCatBalu
BengalCatBalu
LEAD RESEARCHER

6 Top3 finishes in audit contests. Track record in lending, perps, and accounting math.

MarketerKA
MarketerKA
RESEARCHER

Top-60 all-time researcher on HackenProof, with 2 Top3 finishes in audit contests.

High severity issues

H-01

Duplicate LT across symbols double-counts NAV and lets the rebalancer drain co-investors

IMPACT

The duplicate guard in _setTargetPortfolio only compared entries inside the array passed in the current call, never against symbols already stored, so one leveraged token could back two live symbols. nav() then counted the same real balance twice, and the sell loop moved LT out of that balance more than once. A token creator could inflate NAV to an arbitrary multiple of the truth and take the treasury's principal from public buyers on their own curve.

FIX

A persistent ltRegistered reverse index now rejects any LT already bound to a registered symbol, and the index is cleared when a symbol is pruned.

Plus 12 medium and 13 low severity findings. All documented in the full report.

Why Phage Security

Perpgame's basket sits on top of Bounce.tech leveraged tokens, so most of the risk lived at the seam between the two protocols: fee timing, asynchronous redemption, and price reads that can revert on HyperCore. We put researchers on it who had already audited Bounce and knew where those edges are. Twenty of twenty-six findings were fixed inside the remediation window, including the NAV double-count that let a token creator drain co-investors and the freeze class that had no on-chain recovery, and several patches went past the literal bug into recovery surfaces the protocol did not have before.