Tapezero docs
Economics

Liquidity

Locked at launch, and the lock is the absence of code.

The launch converts the entire token supply into one Uniswap v4 range position, single-sided, owned by TapeLiquidityLocker.

Owner of the position
TapeLiquidityLocker
Owner of the locker
none — the contract has no owner
Withdrawal function
does not exist
Upgradeability
none

Why the creator cannot rug it

modifyLiquidity is called from exactly two places in the locker. In the first, at launch, the liquidity delta is a positive value derived from the launch supply. In the second, when collecting fees, the delta is the literal constant 0.

// _collect(), the only other call site
ModifyLiquidityParams({
    tickLower: p.tickLower,
    tickUpper: p.tickUpper,
    // The lock. Not a variable, not a parameter: a literal zero.
    liquidityDelta: 0,
    salt: bytes32(0)
})

There is no third call site, no parameter that can carry a negative delta, and no branch that reaches one. Grep the file: there is no withdraw, no emergencyExit, no onlyOwner, no owner at all, and no delegatecall.

LP fees

The position earns the pool's LP fee like any other. collectLpFees is permissionless — anyone may call it — and the destination is fixed: the fee vault. A zero-delta modify collects fees and leaves the principal untouched.

  1. 01Locked position earns LP fees
  2. 02collectLpFees (anyone)
  3. 03Fee vault, per market and token

The range

The position runs from the opening tick upward, which is what makes it single-sided: at the opening price it consists entirely of launch tokens. The launch reverts unless the resulting position consumes exactly one currency — that check is what makes the launch zero-seed rather than merely lopsided.

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