Part III: The machine
9. The launch: a meme funds a stock
CurveFunder.sol, Graduator.sol, RangeSeeder.sol.
Listing a company needs capital before anyone can trade it, and nobody funds a market that does not exist yet. So Float lets a meme token do the fundraising. Somebody launches a meme on a bonding curve, buyers buy it because it is a meme, and every dollar of that raise splits between the stock's dealer cushion and the stock's share reserve. The meme is the customer acquisition. The stock is what gets built.
This is the mechanism the essay describes as the launchpad, and it is the piece that changed most in 2.0.
The curve
Constant product against a virtual quote reserve, priced in USDG:
sold(x) = V_T * x / (v*R + x)
P(x) = P0 * (1 + x/(v*R))^2
v = virtualBps/10000, R is the raise to graduation, V_T is 1.073 billion
tokens against a 1 billion supply, x is cumulative net USDG in the curve. The
1% curve fee is taken outside the curve on both sides, so k is exactly
invariant and the price path does not depend on the fee existing.
The shape is one number:
| formula | at virtualBps 4000 |
|
|---|---|---|
| FDV at open | R * v / 1.073 |
0.3728 * R |
| FDV at graduation | R * (1+v)^2 / (1.073 * v) |
4.5666 * R |
| open to graduation | ((1+v)/v)^2 |
12.25x |
| supply sold on the curve | 1.073/(1+v) |
76.64% |
| supply into the pool | 1 - 1.073/(1+v) |
23.36% |
virtualBps is 4000, matched to PONS's 1.68 ETH phantom against a 4.2 ETH
graduation. Not deference: the ratio is the only thing that sets the multiple,
and 12.25x with 23.4% of supply into the pool is a shape that has worked at
scale.
The raise is the dial, the multiple is not. V_T is a constant while the
virtual reserve scales with the raise, so the raise sets the price level
linearly and v alone sets the shape. To open at $2k and graduate near $25k the
raise has to be about $5,365. Steepening the curve to fake a higher headline
number is how our first launches put 2.45% of supply in the pool and 97.5% in
one wallet, which was measured rather than theorised.
The 7.3% overhang in V_T is load-bearing: the LP share is 1 - 1.073/(1+v),
which hits zero at v = 0.073. Below roughly 730 bps the curve sells past the
supply and there is no pool at the end. That is why setParams floors
virtualBps at 1000.
The split, which replaced the milestones
Every dollar into the curve divides between the stock's dealer cushion and its share reserve, on a ramp that decays as the cushion fills:
splitBps = vaultShareBps * (pairTarget - tvl) / pairTarget
Early dollars are almost all cushion, because a market with no cushion cannot open. Later dollars are almost all reserve, because a market with a cushion needs shares. This is what replaced the $5,000 milestone: the market does not wait, it opens on the first dollar and thickens continuously.
In closed form, with sigma = vaultShareBps/1e4 and T = pairTarget:
backing(n) = T * (1 - e^(-sigma*n/T))
That is the continuum limit. The contract evaluates the split once per buy at the pre-buy TVL, so a single lump gets the whole raise at the opening rate while many small buys converge on the exponential. At live parameters that is 50.0% against 39.35% of the raise landing as cushion. Not a rounding artefact, and worth sizing for.
Graduation
At the target the curve stops and the Graduator opens two Uniswap v4 pools:
USDG <-> fSHARE <-> MEME
The meme is quoted in the stock's fSHARE, not in USDG. That is the point of the whole arrangement: the meme's price is denominated in a claim on a real company, so every buyer of the token has to buy the stock first, and the explorer shows the pair that way. Underneath it the fSHARE/USDG pool makes the route priceable in dollars.
Two things had to be fixed before this worked with real money, both silent failures:
The graduation burn. Leftover one-sided inventory used to be swapped and burned. One launch burned 124,960,115 tokens, 12.5% of supply, at graduation. The fix places the leftover as a one-sided tail above or below spot. The next launch on the fixed code burned zero and put 233,396,345 tokens into its pool, 23.3% of supply against the 23.36% the curve predicts.
The quote pool was the bottleneck. A $25 buy arrived as about $12. The meme
pool was fine; the fSHARE/USDG pool under it had been opened full range. That
pool is a pegged pair, because the Desk mints and redeems at the oracle, so
spreading capital from zero to infinity spends nearly all of it on prices that
can never print. RangeSeeder puts the same money one tick spacing either side
of the peg, the way a stablecoin pool is built:
| before | after | |
|---|---|---|
| active liquidity | 3.48e12 | 3.61e14 (103.5x) |
| $25 buy impact | 86% | 1.98% |
| price against a $50.00 mark | $243 | $49.66 |
A real $5 buy through the fixed pool filled at $50.8408 against a $50.00 mark: 1.00% pool fee plus 0.68% impact.
Pairing, which replaced the second milestone
The essay's $10,000 milestone flipped the fSHARE to a spot token. In 2.0 the
market pairs instead: when custody covers supply with headroom,
VaultFunder.pair switches the cash term off and the market runs on shares
alone. pair requires sharesHeld >= outstanding * (1 + minHeadroomBps) before
it will do that, because pairing deletes the cash term and pairing at exact
parity would leave a ceiling of zero and a market that could only sell.
The milestone was a guess at when a market stops needing cash. Pairing measures it.