The curve and the floor
The curve
Pons V2 curves (default configuration, ETH pair) are constant-product with a virtual quote reserve. At the start the curve holds x₀ = 1.68 ETH of virtual quote and y₀ = 1,000,000,000 tokens (1e27 token wei), so K = x₀ · y₀. A buy of q ETH leaves the curve fee (1%) and the creator tax behind, and the rest moves the reserves:
qNet = q × (10000 − 100 − taxBps) / 10000
x' = x + qNet
y' = ceil(K / x') // the curve rounds its token reserve up
tokens out = y − y'
price (ETH per token) = x / y = x² / K
The engine's flockBuy implements exactly this, and matches 20 real launches on a fork of the chain to the wei.
Why the start is the floor
The price only depends on x, the quote in the curve: it is x²/K. Selling takes quote out, buying puts it in. Since every buyer put quote in, the quote can never drop below what its first buyers put in, so the price can never fall below the start price. A flock that buys at the very start sits at the bottom: if the token dies and the flock sells, the price goes back down to where it began, and what the flock loses is the fees on both legs.
round trip of a lone flock = (1 − fee − tax)² // 2% tax: 94.09% back, 5.91% lost
What a flock pays for its own size
All the money of a flock buys at once, so it moves the price it pays. The average price over the buy is x'/y₀ ÷ (x₀/y₀), that is about 1 + qNet / x₀ above the start price, plus the fees. This is why a flock is capped:
| flock | price paid vs start | price right after | share of supply |
|---|---|---|---|
| 0.02 ETH | +4.3% | +2.3% | 1.1% |
| 0.05 ETH | +6.1% | +5.9% | 2.8% |
| 0.10 ETH | +9.0% | +11.9% | 5.5% |
| 0.15 ETH | +12.0% | +18.1% | 8.0% |
| 0.20 ETH | +15.0% | +24.4% | 10.4% |
| 0.25 ETH | +18.0% | +31.0% | 12.6% |
At a 2% creator tax. A buyer arriving 10 seconds after the start paid a median +41% in our replay, and a buyer at one minute +104%: the flock's own impact stays below what the delay costs, up to the cap.
The cap is a constant in the contract: MAX_SIZE = 0.25 ETH. Deposits above the size are not a way around it: see Oversubscription.