Skip to content
DegenX Docs
Arc mainnetOpen app

Bonding curve & pricing

The Arc deployment uses a phantom-reserve curve. A virtual quote reserve defines the opening price; it is a mathematical parameter, not deposited money that holders can withdraw.

Symbol Meaning Value
S Total supply 1,000,000,000 tokens
A Curve allocation 800,000,000 tokens
Q₀ Phantom quote reserve 3,333.333334 USDC
T Net raise at graduation 10,000 USDC

Using consistent whole-token and whole-USDC units:

X₀ = A × (Q₀ + T) / T
k = Q₀ × X₀
Q(x) = k / (X₀ − x) − Q₀
P(x) = k / (X₀ − x)²

x is the net number of curve tokens purchased, Q(x) is the corresponding reserve, and P(x) is the marginal price. Buying moves up the curve; selling moves back down it. Actual execution uses integer arithmetic and rounds at token and quote base-unit precision.

For the current production settings, ignoring base-unit rounding:

Point Marginal token price Fully diluted valuation
Opening About 0.000003125 USDC About 3,125 USDC
Curve completion About 0.00005 USDC About 50,000 USDC

FDV means price multiplied by the full one-billion-token supply. It is different from the 10,000-USDC net graduation raise, trading volume, deposited liquidity, or a guaranteed exit value. Displayed USD values also assume USDC is worth one dollar.

Call quoteBuyExactQuote(amount, buyer) or quoteSellExactTokens(amount) on the launch’s gauge. The buy quote accounts for that buyer’s anti-snipe treatment and the launch’s fee settings.

Do not use getCurrentPrice() alone to estimate a large order. It returns a marginal price in quote base units and can round to zero for small prices with a six-decimal quote. A non-zero trade can still have a valid executable quote. Trade-derived prices should retain decimal precision.

The quote excludes network gas. Another transaction can change the curve before yours executes; use a fresh quote and a non-zero minimum output.

An owner can change the approved quote configuration for future launches without redeploying. Every existing gauge retains its own target, accessible through quoteTarget(), including after graduation. The reference canary deliberately used a 10-USDC target; that does not change the 10,000-USDC production default.