uniperpuniperp← back to appWhitepaper · v1
Protocol Paper

Uniperp: Leveraged Longs on a Bonding Curve

Uniperp lets you take a leveraged long on PERP, a token whose price is set by a deterministic bonding curve rather than an order book. Your collateral is amplified by ETH borrowed straight from the curve's own liquidity. This paper explains the curve, the leverage mechanism, how liquidation works, what it costs, and where the risks are — using the actual equations the protocol runs on, with none of the smart-contract plumbing.

1Overview

A bonding curve is a price function: given how much ETH has flowed into a pool, the curve tells you exactly what one unit of the token is worth. There is no spread, no market maker, no order book — just a formula. Uniperp uses a constant-product bonding curve (the same family as Uniswap) to price PERP, and then adds one thing on top: leverage.

When you open a leveraged long, you put up ETH collateral and the protocol borrows additional ETH from the curve's liquidity, buys PERP with the combined amount, and holds that PERP as your position. If PERP goes up, you profit on the full leveraged size. If it falls far enough, the position is liquidated — thePERP is sold, the borrowed ETH is repaid, and you keep whatever is left (usually close to nothing). The whole thing settles on-chain with no counterparty.

The rest of this paper is the math. Throughout, we write E for the cumulative ETH that has been bought into the curve (we call this the curve level), P for the price of one PERP in ETH, and L for leverage (2, 3, 4, or 5).

2The Bonding Curve

The curve is built around a constant product. Picture two reserves: an ETH reserve and a PERP reserve. Their product never changes:

realPERP  ×  (V + E)  =  K

Here realPERP is how much PERP is still inside the curve, E is the cumulative ETH bought in, and V is a virtual ETH reserve — a phantom amount of ETH that exists only in the math. V does two jobs: it sets the launch price, and it acts as depth, damping how violently the price moves on small early buys. Uniperp uses:

V = 10 ETH     K = 10,000,000     total supply = 1,000,000 PERP

(K is just total supply × V, which makes realPERP = 1,000,000 at launch when E = 0 — all supply starts inside the curve.)

The price of one PERP, in ETH, falls straight out of the constant-product rule:

P(E)  =  (V + E)2  /  K

Price grows with the square of the curve level. Double the ETH that has flowed in and the price quadruples-ish. The amount of PERP still inside the curve, and the amount already sold to buyers, are:

realPERP(E) = K / (V + E)      sold(E) = 1,000,000 − realPERP(E) = 1,000,000 · E / (V + E)
Price vs. curve level (schematic)
cumulative ETH in curve →price (ETH / PERP) →

At a reference ETH price of $2,300, the curve walks through these levels (FDV = fully-diluted value = total supply × price):

Curve level (ETH)PERP left in curve% supply soldPrice (ETH)Price ($)FDV ($)
0 (launch)1,000,0000.0%0.0000100$0.023$23,000
5 (leverage unlocks)666,66733.3%0.0000225$0.052$51,750
10500,00050.0%0.0000400$0.092$92,000
20333,33366.7%0.0000900$0.207$207,000
50166,66783.3%0.0003600$0.828$828,000
10090,90990.9%0.0012100$2.78$2.78M
20047,61995.2%0.0044100$10.14$10.1M
50019,60898.0%0.0260100$59.82$59.8M
1,0009,90199.0%0.1020100$234.62$234.6M
1,5006,62399.3%0.2280100$524.42$524.4M

Where the curve ends. The 1,500-ETH level is the curve's natural top — past it the curve has no more PERP to sell into, so the bonding-pool price stops climbing there. Think of it as the graduation point: beyond it, PERP keeps trading freely on the open market (ordinary AMM pools, exchanges) with no curve involvement, and leveraged longs on Uniperp are available up to this level. The bonding pool then becomes a price floor — if PERP ever trades back down into the curve's range, the pool comes alive again and operates exactly as before, leverage included. The curve isn't a cage; it's the launch ramp on the way up and the floor underneath on the way down.

3Buying & Selling on the Curve

A plain buy of ΔE ETH (no leverage) moves the curve level from E toE + ΔE and hands you the difference in PERP reserves:

PERP received  =  realPERP(E) − realPERP(E + ΔE)  =  K · ΔE  /  [ (V + E)(V + E + ΔE) ]

Selling is the same in reverse: feed PERP back, the curve level drops, you receive ETH. Because price is convex, you always sell into a falling price — the bigger the sale, the worse the average fill. A 1% LP fee is charged on every swap (see §8).

4Leveraged Longs

You open a position with two inputs: collateral C (in ETH) and leverage L ∈ {2, 3, 4, 5}. The protocol then:

  1. Borrows B = C · (L − 1) ETH from the curve's liquidity (§7 explains where).
  2. Takes a 1% origination fee on the borrow — f = 0.01 · B — and routes it to stakers. Your effective collateral becomes C′ = C − f.
  3. Buys PERP with C′ + B ETH (the standard 1% LP fee applies on the way in), receiving H PERP.
  4. Holds H PERP as your position; you owe a debt D = B ETH back to the curve.

So your exposure is roughly L × your collateral, financed by a one-time fee rather than a running rate. The position's value at any later price P is just H · P. We track its safety with a health ratio:

Health  =  (position value) / (debt)  =  (H · P) / D

Ignoring fees for intuition, at the moment you open: H ≈ L·C / Pentry andD = (L−1)·C, so

Healthentry  ≈  L / (L − 1)      →    5x: 125%  ·  4x: 133%  ·  3x: 150%  ·  2x: 200%

Higher leverage = thinner buffer between your entry health and the liquidation line.

5Liquidation

A position is liquidated the moment its health falls to 1.05 (105%):

Health ≤ 1.05   ⇒   liquidate

Plugging the entry approximation into Health = (H·P)/D = 1.05 and solving for the price at which that happens gives a clean result that depends only on leverage:

Pliq  =  Pentry · 1.05 · (L − 1) / L

In words — the percentage drop from your entry price that triggers liquidation:

LeverageEntry healthLiq. factor (Pliq/Pentry)Price drop to liquidation
200%0.52547.5%
150%0.70030.0%
133%0.787521.25%
125%0.84016.0%

The health check uses a 5-minute time-weighted average price (TWAP), not the instantaneous spot. A single-block price spike — a flash dump, a sandwich — moves spot but barely budges a 5-minute average, so it cannot manufacture liquidations out of healthy positions. The forced sale that follows a real liquidation is itself rate-limited (a bounded number per block, and a price-impact cap on the sale) so a cascade cannot spiral.

Partial closes make a position safer. Closing part of a position repays debt first, which lowers the debt-to-holding ratio and pushes Pliq down. Your live liquidation price always reflects the current debt and holding, not the leverage you opened with:

Pliq (live)  =  1.05 · (current debt) / (current holding)

Bad debt. In a severe drawdown a liquidation sale can recover less ETH than the debt owed. The shortfall is a realized loss to the protocol — it is recorded transparently on-chain (a public bad-debt counter) rather than hidden, and can be repaid later by the protocol depositing fresh ETH back into the curve. It never touches other users' funds or claimable balances.

6PnL & Break-even

When you close (fully or partially): the protocol sells the requested amount of yourPERP back into the curve, the 1% LP fee applies, repays your debt first, and credits any surplus to you (you withdraw it with a separate claim). Your profit on a full close is approximately:

profit  ≈  H · Pclose · 0.99  −  D  −  C

Setting profit to zero and solving gives the favorable price move you need just to get your collateral back — the round-trip cost of entry LP fee + borrow fee + exit LP fee, expressed as a price move on the leveraged position:

break-even move  ≈  +2.5% – 3%   (across all leverages)

Why roughly the same for every leverage: a bigger leverage means bigger fees in absolute terms, but also a bigger position to spread them over. For a memecoin-style asset that routinely moves tens of percent, a ~3% break-even is small relative to the bet — but it is real, and a position that just drifts sideways bleeds it.

7Where the Borrowed ETH Comes From

The smooth curve is realized as 300 stacked liquidity slices — bands — each covering a 5-ETH window of the curve level (band 0 covers levels 0–5, band 1 covers 5–10, …, band 299 covers 1,495–1,500). Each band is born holding only PERP; as buyers push the curve level through a band's window, that band converts fromPERP into ETH. A band the curve level has already moved completely past is therefore pure ETH — and that idle ETH is what leveraged longs borrow.

Borrowing walks these fully-passed bands farthest-first — it drains the deepest, most dormant ETH (band 0, then band 1, …), leaving the bands nearest the live price intact for ordinary trading. On a close or liquidation, repaid ETH is re-deposited nearest-first, restoring the bands that see the most traffic. No band is ever drained more than 40% of the way, and a single position can pull from at most a few bands — so the maximum any one position can borrow is on the order of10 ETH (≈ 2 ETH from each of ~5 bands).

One consequence: leverage is not available the instant the curve launches.Until the curve level has passed band 0 — i.e. until ~5 ETH of ordinary buys have flowed in (about $50k FDV) — there is no fully-passed band to borrow from, and leveraged opens revert. Each additional 5 ETH of organic volume unlocks another band of borrow capacity. Importantly, borrowing and refilling only ever touch fully-passed ETH-only bands, never the live band straddling the current price, so the curve's price function stays exactly intact — leverage never distorts the published price.

8Fees

FeeRateCharged onGoes to
LP fee1%every buy and every sell (incl. the leveraged buy)liquidity in the underlying Uniswap pool (standard LP fee)
Borrow origination1%the borrowed ETH amount, once at openPERP stakers

The 1% LP fee is an ordinary Uniswap-style liquidity-provider fee — taken on the way through the pool, the same way any v4 pool charges traders. There is no recurring funding rate; the borrow fee is paid once when the position opens, not per hour. A 5× position with 1 ETH collateral borrows 4 ETH and therefore pays 0.04 ETH in origination (plus the 1% LP fee on the ~5 ETH leveraged buy, and another 1% when it eventually closes).

9Staking

Stake PERP to earn ETH. Every leveraged open pays its 1% origination fee into the staking pool, and it is distributed to stakers pro-rata by stake, streamed as borrows happen. Rewards accrue continuously; you claim them in ETH whenever you like, and you can unstake at any time.

10Risk Disclosures

  • Leverage cuts both ways. A 5× long is wiped out by a 16% drop inPERP; a 2× long by 47.5%. Liquidation is automatic, on-chain, and final — there is no margin call to top up.
  • You can lose your whole collateral. After a liquidation the typical remainder credited back to you is near zero; in a deep drawdown it is zero.
  • Leverage lives inside the curve. Leveraged longs can only be opened while PERP is trading within the curve's range. Right at the top of the curve (~1,500-ETH level) a leveraged open can't fully execute and reverts; oncePERP graduates above the curve it stays freely tradable on open markets, just without Uniperp leverage. The bonding pool remains as a price floor and re-activates, leverage included, if PERP ever trades back into the curve's range.
  • Bad debt is possible. Extreme, fast drawdowns can leave a liquidation recovering less ETH than the borrowed amount. The shortfall is tracked openly on-chain and is isolated from user balances and claimable funds, but it is a real risk borne by the pool.
  • Leverage is bootstrapped at launch. Until ~5 ETH of organic volume has flowed through the curve, no leverage can be opened (there's no idle band ETH to borrow yet). Position size is also capped by how much fully-passed band ETH exists at the time.
  • Smart-contract risk. Like any on-chain protocol, bugs are possible. Use only funds you can afford to lose, and only on the network the app is configured for — signing on the wrong chain can route funds to an address that doesn't exist.

11Parameters

TokenUniperp (PERP), fixed supply 1,000,000
Virtual reserve V10 ETH
Curve constant K10,000,000
Launch price0.00001 ETH / PERP (≈ $0.023 at $2,300 ETH)
Launch FDV10 ETH (≈ $23,000)
Bands300 × 5-ETH windows → curve covers levels 0–1,500 ETH
Leverage2× – 5×
Leverage unlocks atcurve level ≥ 5 ETH (≈ $50k FDV)
Per-band borrow cap40% of a band's ETH
Max borrow per position≈ 10 ETH (≈ 5 bands × 2 ETH)
Liquidation health105% — liquidate below it
Liquidation price oracle5-minute TWAP
Close cooldown2 blocks after opening
LP fee1% per swap (standard Uniswap LP fee)
Borrow origination fee1% of borrow, once at open → stakers
Funding ratenone (one-time borrow fee instead)