disconnected
docs/trading/pricing-examples

Pricing Examples

All examples use the deployed values: S = 100, K = 21,000,000, fee = 0.30%. The initial marginal price is S/K ≈ 4.76 × 10⁻⁶ ETH/token.

Marginal Price vs Cumulative ETH

p(eth) = (S / K) · e^(eth/S). The e^(eth/S) factor is the multiplier vs initial price.

Cumulative ETHMultiplier vs initialMarginal price (ETH/token)
10e^0.1 ≈ 1.11×5.26 × 10⁻⁶
50e^0.5 ≈ 1.65×7.85 × 10⁻⁶
100e^1 ≈ 2.72×1.29 × 10⁻⁵
200e^2 ≈ 7.39×3.52 × 10⁻⁵
300e^3 ≈ 20.09×9.56 × 10⁻⁵
460e^4.6 ≈ 99.5×4.74 × 10⁻⁴
700e^7 ≈ 1097×5.22 × 10⁻³

Issuance Milestones

eth_m = −S · ln(1 − m/K). ETH required to mint a given fraction of K:

Fraction of KETH Required
50%100 · ln 2 ≈ 69.3 ETH
80%100 · ln 5 ≈ 160.9 ETH
90%100 · ln 10 ≈ 230.3 ETH
95%100 · ln 20 ≈ 299.6 ETH
99%100 · ln 100 ≈ 460.5 ETHself-deprecation triggers around here
99.9%100 · ln 1000 ≈ 690.8 ETH

Worked Example: Buying 1 ETH at 50 ETH Cumulative

State going in: totalMintedFair = 50 ETH. The marginal price at this point is 4.76 × 10⁻⁶ · e^0.5 ≈ 7.85 × 10⁻⁶ ETH/token.

Tokens minted by the curve from 50 to 51 ETH:

minted(51) − minted(50) = K · (e^(−50/100) − e^(−51/100))
                        = 21M · (0.6065 − 0.6005)
                        ≈ 126,884 NAKA

After the 30 bps burn:

to user:    126,884 · 0.997 ≈ 126,503 NAKA
to 0xdEaD:  126,884 · 0.003 ≈ 381 NAKA

Effective price the buyer paid:

1 ETH / 126,503 NAKA ≈ 7.91 × 10⁻⁶ ETH/token

That's ~0.7% above the marginal spot price. The price impact of moving the curve forward 1 ETH at this state.

Worked Example: Selling 50,000 NAKA at the Same State

State: totalMintedFair = 51 ETH (after the buy above), reserve = 51 ETH.

The hook computes ethOut from the inverse curve over a 50,000-token decrement, then takes 30 bps in tokens. The seller receives ETH = ethOut · 1.0 (the fee comes out of token-side, not ETH-side).

Result: roughly 0.395 ETH returned, with 150 NAKA of the 50,000 burned to 0xdEaD. After the trade, totalMintedFair ≈ 50.605 ETH and the reserve has retreated by the same amount.

Important

These calculations match the JavaScript helpers in lib/curve.ts and the on-chain math in the hook contract. Any deviation in deployed bytecode is the source of truth. The contract is canonical, this page is a read-out.