Tapezero docs
Protocol

Opening Price

The first tick, and how it is derived.

Nobody chooses the token's price. The creator chooses a valuation; the protocol reads the quote's oracle and derives everything else in fixed-point Solidity.

  1. 01Opening FDV (USD)
  2. 02Token USD price
  3. 03Quote USD price (oracle)
  4. 04Token / quote ratio
  5. 05Uniswap price
  6. 06sqrtPriceX96
  7. 07Valid tick

Worked example

Supply
1,000,000,000
Opening FDV
$10,000
Implied token USD price
$0.00001
Quote (NVDA) oracle answer
$250.00
Token price in NVDA
$0.00001 / $250.00 = 4e-8

That ratio is then adjusted for the two tokens' decimals and for their ordering in the pool — Uniswap sorts currencies by address, so whether the launch token is currency0 or currency1 inverts the price — converted to a sqrtPriceX96, and snapped to a valid tick for the pool's tick spacing.

Rounding has a direction

The reason is the first buyer. A market that opened rich would hand them a worse price than the composer previewed, which would make the preview a lie. So the arithmetic rounds down, always, and the composer shows the resulting tick rather than the requested one.

Refused, not fudged

If the oracle cannot supply a price the protocol trusts, the launch reverts. There is no fallback price and no last-known-good value.

ConditionResult
answer is zero or negativerevert
answer older than the quote's max stalenessrevert
feed decimals() no longer matches the registryrevert
quote decimals() no longer matches the registryrevert
an ERC-8056 multiplier lands inside the bufferrevert
the feed call itself revertsrevert

Floating point is not used

No part of the security-relevant derivation runs in JavaScript. The interface previews the opening price by calling TapePreviewer on-chain, so the number a creator reads and the number the launch produces come from the same code.

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