UNI100 Open app ↗

01 / Protocol

A fixed-supply token that settles a 100× long UNI position.

UNI100 combines a restricted ERC-20, account-level position accounting, a locked Uniswap v4 ETH pool, and a five-minute UNI/WETH TWAP oracle.

STATUS

Live on Ethereum mainnet. The app uses exact-input Uniswap v4 routes with a 0.50% minimum-output guard. The protocol is experimental and has not received an independent security audit.

02

One system, six contracts

The token is the position receipt, while the Hook is the accounting engine. The Oracle supplies the UNI price, the Vault stores loss and reward inventory, and the Launcher created the single permanent liquidity position.

TradeETH ⇄ UNI100Universal Router
→
SettlePoolManagerLocked v4 pool
→
AccountUNI100 HookPosition + fees
01

Fixed supply

100 billion UNI100 were minted once. There is no mint function, so profitable settlement is limited by inventory already held by the Vault.

02

Restricted transfer

User-to-user transfers revert. Tokens only move through the PoolManager or protocol controller, keeping balances synchronized with positions.

03

Locked liquidity

The Launcher deposited the initial supply into one ETH/UNI100 pool. Adding or removing liquidity is permanently rejected by the Hook.

04

Oracle settlement

Entry, profit, loss, and liquidation use the five-minute UNI/WETH TWAP—not the instantaneous UNI100 pool price.

03

Buying opens a position

A buy is an ETH → UNI100 exact-input swap. The Hook observes the final token recipient and records the position directly against that address.

01

Quote. The app asks the onchain v4 Quoter for the current output and applies a 0.50% minimum received amount.

02

Charge fee. The Hook removes 2% of the ETH input before the remaining amount enters the pool.

03

Deliver. PoolManager sends UNI100 to the wallet. ERC-6909 claims are not accepted as final delivery.

04

Record entry. The Hook adds the received amount at the current UNI/WETH TWAP. Multiple buys merge into one position and one effective entry price.

exposure added = UNI100 received ÷ oracle pricemerged entry = total position size ÷ total exposure

Because exposure is accumulated per buy, the merged entry is size-weighted through reciprocal price. Closing part of a position reduces size and exposure proportionally, leaving the remaining entry unchanged.

04

How the 100× factor works

The position does not borrow ETH. Instead, the Hook changes how much UNI100 reaches the pool when the position is sold. The current Oracle price is compared with the merged entry price.

settlement factor = max(0, 1 + 100 × (oracle price ÷ entry price − 1)) Calculated before the 2% trade fee, pool price impact, and reward-inventory cap.
UNI moveFactorPosition effect
+0.50%1.50×approximately +50%
0.00%1.00×approximately flat
−0.50%0.50×approximately −50%
−1.00%0.00×liquidation threshold

If the factor is above 1, the Vault contributes reward inventory. If it is below 1, the difference is retained by the Vault. Upside is capped when the Vault cannot supply the full calculated reward.

05

Selling realizes the position

A sell is a UNI100 → ETH exact-input swap. The submitted amount cannot exceed the wallet's recorded position size.

01

Authorize. The app grants Permit2 the entered UNI100 amount, then grants the Universal Router the same amount for 30 minutes.

02

Revalue. The Hook reads the Oracle and calculates the settlement factor against the wallet's merged entry.

03

Balance. Profit pulls additional UNI100 from the Vault; loss diverts part of the submitted UNI100 into the Vault.

04

Settle. After the 2% fee, the effective amount is sold into the pool for native ETH and the recorded position is reduced proportionally.

The interface uses direct EOA routing with empty hook data. Relayers, aggregators, and smart accounts must use the EIP-712 signed path; ERC-1271 validation is supported.

06

Liquidation begins at a 1% adverse move

A position is liquidatable when the Oracle reaches or falls below 99% of its merged entry. Anyone may call the public liquidation function. A sell attempted at or below the threshold automatically liquidates the entire position.

liquidation price = merged entry × 0.99
89%Vault
10%Burned
1%Liquidator

Direct liquidation sends the 1% reward to the caller. During an automatic sell liquidation, the account receives that reward as a new position recorded at the current Oracle price.

07

Fees and inventory

Every buy and sell charges 2% of exact input. Ten percent of that fee is assigned to the official recipient and ninety percent to the protocol treasury.

10%90%
Official · 0.20% gross Treasury · 1.80% gross
Buy fee asset
Native ETH
Sell fee asset
UNI100
Losing close
Fee capped by effective value
Reward ceiling
Available Vault inventory
08

Mainnet contracts

All addresses below are the production Ethereum deployment. Follow any row to inspect verified bytecode, transactions, balances, and emitted events on Etherscan.

Routing infrastructure

PoolETH / UNI100 · fee 0 · tick spacing 1 Pool ID0x9afc801f7b3a19903a6fda90c89cf64695be2ebbd51d840889ac492949e3b330
09

Risks

UNI100 is experimental and extremely sensitive to price movement. A 1% adverse UNI move reaches liquidation. Smart-contract faults, Oracle behavior, pool price impact, MEV, routing failure, depleted Vault inventory, and Ethereum network conditions can all change or prevent settlement.

No independent audit. Passing tests and an immutable deployment do not guarantee correctness.

Pool price differs from Oracle price. Leverage is calculated from the Oracle, while received ETH is determined by the v4 pool.

Upside can be capped. Profitable settlement cannot use more reward inventory than the Vault holds.

Transfers are intentionally limited. Standard wallet-to-wallet UNI100 transfers revert.

Only commit capital you can afford to lose, verify every wallet request, and monitor the position closely.