PerpLandperpland
v0.1 · unaudited · testnet

Leveraged longs on a bonding curve.

PerpLand is a single Uniswap v4 hook that lets users open up to 5× leveraged longs on a built-in bonding-curve token — rebuilt from the ground up to close the flash-loan attack class that drained Uniperp in 2026.

tvl
32.0 eth
ETH locked in curve
open interest
19.4 eth
leveraged exposure
perp / eth
0.0₃2520
24h vol · 128.11 eth
live curverendering
single block flash-loan : BLOCKEDmulti-block sustained pump : NOT PROFITABLEliquidation sandwich : DEFERREDabandoned position bad debt : FORCED CLOSEgas-bomb staking : ISOLATEDdonate-to-pool attack : REVERTEDsingle block flash-loan : BLOCKEDmulti-block sustained pump : NOT PROFITABLEliquidation sandwich : DEFERREDabandoned position bad debt : FORCED CLOSEgas-bomb staking : ISOLATEDdonate-to-pool attack : REVERTED
01 / mechanism

One pool. One hook. One thousand and three hundred bands of concentrated liquidity.

PerpLand is implemented as a single Uniswap v4 hook that owns 100% of the PERP/ETH pool's liquidity. The bonding curve realPERP × (V + E) = K is realized as 300 stacked v4 LP positions of 5 ETH width each. Leveraged opens borrow ETH from already-traversed bands to amplify the user's collateral — no external lender needed.

01

Deposit collateral

You deposit ETH as collateral. Pick a leverage between 2× and 5×. The hook calculates the borrow amount as collateral × (L − 1).

02

Hook borrows from bands

The hook walks the already-traversed bands (each capped at 40% utilization) and pulls borrowed ETH out as single-sided liquidity removals — no spot price impact.

03

Leveraged buy + hold

Combined collateral + borrowed ETH buys PERP through the same pool. The hook holds the PERP as your position collateral and tracks the debt.

02 / defenses

Ten defenses, named and tested. Not “trust me.”

read all ten →
[D1]defense

pre-open price gate

Reject opens where spot diverges from TWAP — kills single-tx flash-pumps at the door.

[D2]defense

TWAP observes everything

Internal hook swaps write observations too. A pump can't hide from its own TWAP.

[D4]defense

symmetric liquidation cooldown

A position freshly opened can't be self-liquidated. No same-tx exit.

[D6]defense

post-open price gate

The open's own swap must leave spot inside TWAP bounds. Chains opens against each other.

[D7]defense

per-block curve-advance cap

5 ETH/block max curve push (direct + open). Multi-block attacks now take hours of risk.

[D8]defense

absolute borrow ceiling

Total band borrow can't exceed 200 ETH. Caps the absolute capital exposed to abandonment.

[D9]defense

auto-pause on bad debt

Past 5 ETH of bad debt, new opens halt until owner heals via donateAndRefillBands.

[D10]defense

50% APR funding rate

Effective debt grows over time. Abandoned positions become liquidatable even without price movement.

[M-01]defense

liquidation sandwich defer

If spot drifts from TWAP, the liq scan exits early. MEV bots can't sandwich forced sells.

03 / context

The protocol Uniperp tried to be — without the exit hole.

In May 2026, attacker 0xB0A019…5104 flash-loaned 120 WETH from Morpho and drained ~21 ETH from Uniperp in a single transaction (0xb45cc4d9…). The protocol never recovered.

The bug wasn't the curve. It was policy: a mismatch between spot price at open and TWAP at liquidation that let an attacker open + self-liquidate in the same block.

PerpLand keeps the curve. We replaced the policy.

Ready to trade something that won't get drained?