FOMOBLOCK PROTOCOL

Uniform-price batch clearing for token launches

v0.9 · August 2026 · Robinhood Chain · draft, pre-audit

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:

price_after / price_before = ((e + Δ) / e)²

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:

Δmax = e · (√(1 + c) − 1)   // capacity: the most ETH one clearing may deploy

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:

fill = min(1, Δmax / D)
admittedi = committedi · fill
refundi = committedi · (1 − fill)

The admitted total executes as one venue buy returning T tokens, and allocation is a single division:

allocationi = T · admittedi / Σ admitted   // everyone's price = Σ admitted / T, the group VWAP

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

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:

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:

reserveWETH = L · √P / 2⁹⁶     reservetoken = L · 2⁹⁶ / √P

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:

allocationi / admittedi = T / Σ admitted   // your price is the group price, or the receipt is wrong

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.

9 · Future work

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.