Tapezero docs
Protocol

Architecture

TAPEZERO starts the market. It does not own it.

A Uniswap v4 pool is the market. Everything TAPEZERO deploys either creates that pool, enforces the rules attached to it, or reads it. Nothing sits between a trader and the pool, and nothing can rewrite a pool once it exists.

TapeFactoryvalidates and launches
creates
Uniswap v4 poolthe market itself
guarded by
T0 hookholds the frozen rules

TapeFactory

Creates markets. In one transaction it:

  1. 01validates the composed rule stack against the protocol's hard caps
  2. 02validates the quote asset and its oracle, and reads the price
  3. 03deploys a fixed-supply token at a CREATE2 address
  4. 04derives the opening price from the oracle answer
  5. 05freezes the rules on the hook before the pool exists
  6. 06registers the creator's fee splits with the vault
  7. 07initialises the Uniswap v4 pool
  8. 08seeds the entire supply as a single-sided position
  9. 09locks that position permanently
  10. 10burns the rounding dust

TapeToken

A minimal fixed-supply ERC-20, and deliberately almost empty.

Supply
1,000,000,000, minted once at deployment
Decimals
18
Owner mint
does not exist
Blacklist / pause
does not exist
Transfer tax
does not exist

This is a design philosophy, not an omission: market behaviour belongs to the protocol layer, not to the token. A token whose transfer function can tax, pause or block is a token no integrator can reason about. TAPEZERO's rules live in the hook, where they apply to swaps against the market and to nothing else.

TapeHook

The Uniswap v4 hook containing market behaviour. Per market it handles:

  • quote-side fee accounting — protocol, creator, launch tax, anti-snipe
  • the anti-snipe per-block cap
  • auto burn on buy output
  • the 500th-buy counter and payout
  • the pot's minimum qualifying buy

TapeQuoteRegistry

The registry of quote assets permitted for *new* markets. It stores only what the protocol needs for security:

oracle
the Chainlink aggregator for quote/USD
approved
whether new markets may use this quote
isScaledUi
whether the quote implements ERC-8056
tokenDecimals
expected decimals() of the ERC-20
oracleDecimals
expected decimals() of the feed
maxStaleness
how old an answer may be, in seconds
corporateActionBuffer
how close a pending multiplier may be

Logos, company names, display symbols and asset types are off-chain. See Quote Registry.

TapeLiquidityLocker

Holds every market's initial liquidity position, permanently. The lock is the absence of code: modifyLiquidity is called in exactly two places — once with a positive delta at launch, and once with the literal constant 0 to collect fees.

There is no withdraw, no emergencyExit, no owner, and no delegatecall. The position that goes in cannot come out, because the code that would take it out was never written. See Liquidity.

TapeFeeVault

Accounts fees. Accrual is per market and per quote asset, because a fee taken in NVDA is not a fee taken in ETH.

DOG / NVDA  trades  ->  NVDA fees
MEME / ETH  trades  ->  ETH fees

(poolId, token) => protocolAccrued, creatorAccrued, potFunded, potPaid

Fees are collected as Uniswap ERC-6909 claim tokens rather than real ERC-20 transfers. That is a requirement of the zero-seed design: on a market's first buy the PoolManager holds no quote asset yet, so taking the quote would move tokens that do not exist. Minting a claim moves accounting only.

TapePreviewer

A read-only simulation layer, used by the composer, the launch review and the market page.

It also reports *status* alongside the arithmetic: an invalid rule set or an unhealthy quote yields a status code and the numbers, so the interface can explain the problem instead of going blank.

Indexer

Turns protocol events into queryable state: markets, tokens, creators, rules, trades, fees, pots, burns, quote assets.

Web app

The interface can read, simulate and submit transactions. It cannot:

  • rewrite launched rules
  • withdraw locked liquidity
  • mint launch tokens
  • pause or restrict a market
  • control a market in any other way

This is why the architecture diagram draws no authority line from the web app to the pool. Its only connector runs to the factory, labelled READ / LAUNCH.

TAPEZERO is an independent protocol and is not affiliated with Robinhood, Uniswap or Chainlink. The contracts are unaudited. Nothing here is investment advice.