Uniform-price batch clearing for token launches
Token launches on first-come-first-served chains are races. The first wallet into a new market clears near the listed price and every wallet behind it clears worse, so the crowd that discovers a launch together executes against itself. fomoBlock replaces the race with a block: a short public clearing window on one asset. Capital gathers while the window is open; when it closes, a single transaction executes the aggregate against the venue and allocates the position pro rata, so every participant pays the identical volume-weighted price. The mechanism needs no operator, caps its own market impact, and produces receipts that recompute from the transaction. This paper specifies the clearing math, the two products built on it (Blocks and Mandates), the venue integration with Pons markets on Robinhood Chain, and the risks that remain.
1 · The race problem
Social discovery has outrun execution. Feeds, leaderboards, and alerts mean that hundreds of wallets learn about the same launch within seconds of each other, and then each of them submits its own transaction against the same thin market. On a first-come-first-served chain the ordering is arrival time: transaction k executes on the curve that transactions 1 through k−1 already moved. The person who trusted the signal most, the follower the alert was for, systematically finishes last.
This is not an accident of any one venue. It is what happens when a continuous market meets a synchronized crowd. The crowd's own demand is the impact, and arrival order decides who absorbs it. Priority-fee auctions make it worse by converting queue position into a bidding war whose proceeds go to no participant.
The fix is old market structure: when many parties want the same asset at the same moment, clear them in one batch at one price. Equity exchanges open and close on auctions for exactly this reason. fomoBlock applies the same idea at the moment it matters most onchain, the first minutes of a token's life.
2 · The clearing mechanism
fomoBlock's primitive is the CoFill: aggregate committed capital, execute once against the venue, allocate pro rata. Everything else in the protocol is a policy layer deciding whose capital enters a given CoFill.
2.1 The venue model
The venue is a constant-product market: reserves e (ETH) and t (tokens) with invariant e · t = k. A buy of size Δ returns t·Δ / (e+Δ) tokens. This describes both bonding-curve launchpads and, exactly, in-range Uniswap V3 liquidity (section 5). Spot price is e/t, and the marginal price after a buy of Δ satisfies:
2.2 Capacity under an impact ceiling
Every clearing declares a ceiling c, the maximum spot-price impact it may cause. Setting the price ratio above equal to 1 + c and solving for Δ gives the largest execution the ceiling permits, in closed form:
Capacity is a first-class number in the protocol. It is what the terminal displays, what proration divides by, and what the contracts enforce. A ceiling of 5% on a 200 ETH pool yields a capacity of about 4.94 ETH; demand beyond that is not admitted, it is returned.
2.3 Proration and allocation
Let D be total committed demand and Δmax the capacity. The fill ratio and each participant's admission are:
admittedi = committedi · fill
refundi = committedi · (1 − fill)
The admitted total executes as one venue buy returning T tokens, and allocation is a single division:
Two properties follow directly. Uniform price: every participant's cost per token equals the group volume-weighted average, because numerator and denominator come from the same two totals; there is no ordering left to exploit. Proportional cut: when a clearing is oversubscribed, every wallet is prorated by the same ratio, so nobody skims the room and unfilled size returns in the clearing transaction itself.
2.4 Path independence and the counterfactual
On a constant-product curve, a batch of buys totaling X moves the reserves to the same point whether it executes as one transaction or as a sequence. The batch does not reduce total market impact; it changes who bears it. Sequential execution assigns the cheap early fills to the fast and the expensive late fills to the slow. Batch execution assigns everyone the average. fomoBlock computes this counterfactual explicitly: every receipt can show what the first, median, and last arrival would have paid in the race the block replaced, and the difference is the measurable value of coordinating.
3 · Blocks
A block is a leaderless public clearing window: one asset, one countdown, one ceiling, all disclosed before anyone commits.
3.1 Lifecycle
- Open. Anyone opens a block on any live asset, choosing a window (10 seconds to 1 hour) and an impact ceiling (0.1% to 20%). Opening may include the opener's own size.
- Join. Any wallet escrows ETH into the block while the window is open. Joining commits nothing beyond the escrow: a participant may leave at any time before the close and the capital never moves.
- Clear. After the window closes,
clearis permissionless: any address may crank it. The contract computes capacity from live venue state, prorates, executes one buy, and records the totals. No operator is load-bearing; if every fomoBlock server disappears, any participant can settle the block themselves. - Claim. Settlement uses the pull pattern. Each wallet claims its allocation and any unfilled escrow; the uniform price is enforced at claim time by the allocation formula itself, not by a recorded price that could diverge from it.
3.2 Refund safety
Refunds are computed per wallet as committed·(1−fill) with floor arithmetic, and the contract's held balance always weakly exceeds the sum of entitlements; rounding dust of at most a few wei per wallet remains in the contract rather than ever under-funding a claim. This is proven by the test suite over fuzzed inputs.
4 · Mandates
Mandates are the standing version of the same clearing: authorization in advance, inside hard limits, behind a named originator.
4.1 The vault
An allocator arms ETH in the mandate vault with five parameters: the originator address, a per-execution maximum, a daily deployment cap, an impact ceiling, and an optional expiry. Armed capital sits in the vault, not with the originator, and moves in exactly two directions: into a clearing that satisfies every limit, or back to the allocator. Revocation is instant and unconditional. There is no notice period, no cooldown, and no counterparty approval; the armed balance returns in the revocation transaction.
4.2 Execution semantics
Only the named originator can trigger an execution, and the execution declares its own ceiling. The vault then assembles the group mechanically:
- Mandates whose own ceiling is stricter than the execution's are skipped entirely; an allocator who accepted 1% impact never participates in a 5% execution.
- Each participating mandate contributes
min(perExecution, dailyRemaining, balance). - The originator's own size is admitted in full; allocators are prorated into the capacity that remains. The originator therefore cannot allocate others without allocating themselves at the same price.
- One venue buy executes, and tokens transfer directly to every participant pro rata. The uniform-price identity of section 2.3 holds across the originator and every allocator.
The asset is chosen by the originator at execution time, which is what makes the intent sealed: allocators learn the asset at settlement, and the limits, not the asset list, are the protection. Nothing in the mandate grants withdrawal rights, custody, or discretion beyond triggering clearings inside the declared bounds.
5 · Venue integration
fomoBlock clears against real markets through a single interface, IVenue (quotes, spot, capacity, buy, sell). The production adapter targets Pons launches on Robinhood Chain.
5.1 Pons markets are constant product
Pons V2 launches trade on a per-launch bonding curve that prices as a constant product over a phantom quote reserve, and graduate into a locked full-range Uniswap V4 position once the threshold is met. Both forms are constant-product markets, so the same closed forms apply throughout. For the graduated case, in-range liquidity L at price √P gives virtual reserves:
so every formula in section 2 applies unchanged, with the pool fee accounted for in gross capacity. The adapter reads these values from the pool's own state and executes through the pool's core swap with the V3 callback. It deliberately trusts no periphery router: the core interface exists on every V3 pool unconditionally.
5.2 Discovery
The asset registry is not curated. The frontend discovers live launches from the Pons factory's launch events and admits any token whose WETH pool answers with real reserves. New launches become clearable the moment they exist, which is the point: the first minutes of a launch are where the race is worst and coordination is worth most.
6 · Verification
Every clearing emits its totals: admitted notional, tokens out, fill ratio, participant count, fee. A receipt is not a statement the protocol makes about an execution; it is a recomputation anyone can perform from the transaction. Checking a receipt means checking one identity per participant:
Because the crank is permissionless and settlement is arithmetic over onchain totals, trust in fomoBlock's operators is never part of the security model. The same invariants are enforced twice in software: a property-tested clearing engine that runs in the browser and in Node, and the contracts' own fuzzed test suite covering the uniform price, the binding ceiling, exact refunds, and conservation after every claim.
7 · Fees
The protocol charges 10 basis points on cleared notional, taken inside the clearing transaction, plus the venue's own pool fee that any trade pays. Unfilled demand pays nothing. There are no listing fees, no originator platform fees, and no fee on revocation or refunds.
8 · Risk
Batch clearing changes who bears execution costs. It does not make thin markets safe, and this section is deliberately blunt.
- Market risk. Blocks and mandates buy volatile assets on thin curves. A perfect fill at the uniform price can still go to zero.
- Impact is shared, not removed. A group that wants 5 ETH of a thin market moves it like a 5 ETH buy. The ceiling caps the move; the receipt discloses it.
- No halt switch. Clearing is permissionless by design. Nobody, including the authors, can pause a block that has closed or intercept a clearing. The controls that exist are the ones users hold: leave before the close, revoke a mandate, set tighter limits.
- Visible demand. A forming block's aggregate size is public, and an observer could trade ahead of a large clearing on the open market. Sealed-size commitments are future work (section 9); until then, ceilings bound how much a block can be worth front-running.
- Mandate discretion. An originator chooses assets and timing within your limits. The limits bound loss per execution and per day; they do not make the originator's judgment good.
- Contract risk. The contracts are compact and heavily tested but unaudited. Until an independent audit is complete, they should not hold funds anyone cannot afford to lose.
9 · Future work
- Threshold blocks. Assurance-contract clearing: a block that only executes if a minimum size joins, otherwise fully refunds. Converts alerts into pledges and removes the fear of being the only buyer.
- Exit blocks. The symmetric mechanism for coordinated selling, so a group's exit clears at one price instead of a liquidation race where the group is its own exit liquidity.
- Sealed size. Commit-reveal joins that keep individual and aggregate demand hidden until clearing, closing the front-running surface of section 8.
- Native launch clearing. The end state: launches whose first minutes clear only in blocks, making the first block the launch itself and leaving no sniper meta to apologize for.
10 · Independence
fomoBlock is an independent protocol built for the Fomo-era trading community. It is not affiliated with, endorsed by, or partnered with FOMO Labs Inc. (fomo.family), Pons, Robinhood, or Uniswap Labs. Product names are used to identify the venues and networks the protocol integrates with. Fomo handles displayed in the terminal are user-claimed display names; where Fomo exposes no public verification surface, claims are wallet-signed and marked as such.
This document describes protocol mechanics and is not an offer of any asset, a solicitation, or financial advice. No token is offered by this paper. The software is provided as is; the contracts are unaudited pre-1.0 and the mechanism caps impact per clearing but cannot cap the risk of the assets it clears. Figures used as examples are illustrative. v0.9, August 2026.