Bonding Curve

Hypers.fun uses a constant product bonding curve with virtual reserves to determine token prices.

Why bonding curve?

Traditional AMM
Hypers.fun bonding curve

Needs external LPs

No LP required

Liquidity can be pulled

Always available liquidity

Price depends on pool depth

Price anchored to NAV

Slippage varies wildly

Predictable price impact

The formula

Token pricing follows the constant product formula (x × y = k):

Buy:  tokensOut = virtualTokens × usdcIn / (virtualBase + usdcIn)
Sell: usdcOut   = virtualBase × tokensIn / (virtualTokens + tokensIn)

Example

Assume:

  • virtualBase = 2,000,000 USDC

  • virtualTokens = 2,000,000 tokens

  • You buy with 10,000 USDC

tokensOut = 2,000,000 × 10,000 / (2,000,000 + 10,000)
         = 20,000,000,000 / 2,010,000
         ≈ 9,950.25 tokens

Average execution premium ≈ 0.5%
Post-trade spot price ≈ +1.0%

Virtual reserve mechanism

Virtual reserves simulate deep liquidity even for small vaults. This prevents extreme price swings when TVL is low.

Parameter
Default
Meaning

virtualBase

2,000,000

Virtual USDC reserve

virtualTokens

2,000,000

Virtual token reserve

How it works:

The virtual reserves don't represent real assets. They are parameters that control the curve shape.

Dynamic scaling

Fixed virtual reserves break at extremes:

  • Small vault → price impact too high

  • Large vault → price impact too low

So we scale virtual reserves proportionally with TVL:

Example:

Vault TVL
Effective virtual reserves
$10K buy impact

$1,000 (initial)

2M / 2M

~0.5%

$100,000

200M / 200M

~0.5%

$10,000,000

20B / 20B

~0.5%

Result: consistent price impact regardless of vault size.

Maximum purchase limit

To prevent single trades from manipulating prices, each transaction is capped:

Vault TVL
Max single buy

$100,000

$1,000

$1,000,000

$10,000

$10,000,000

$100,000

If you want to buy more, split into multiple transactions.

Price boundaries

Prices are capped to prevent extreme deviations from NAV:

Boundary
Limit
Meaning

Max premium

+100%

Price cannot exceed NAV

Max discount

-50%

Price cannot fall below 0.5× NAV

Summary

Last updated