Scrip
Explore Create Portfolio Public Record Docs

The Charter

How Scrip works, in plain terms — and exactly where it lives on-chain.

Contract Addresses Verified on-chain 11 Sep 2026

Robinhood Chain mainnet, chain ID 4663. Every address below was confirmed to hold real, deployed bytecode, and the hook and factory were confirmed to reference each other correctly, directly against the chain at the time of writing.

ScripFactory0x83006ece5EdD8AD1A5658E804A0246F52e77fBC8copy
Launches new tokens — deploys the ERC20, initializes its pool, seeds liquidity.
ScripFeeHook0x2FFFd130c97D87aa30fD1FC47cCC21E7Da3dc0Cccopy
The Uniswap v4 hook that captures and distributes the 5% trading fee.
ScripRouter0x99e215419c629001698B68d04F9F3be59991a98Dcopy
A thin, unmodified wrapper so a browser wallet can execute swaps. No logic of Scrip's own lives here.
PoolStateLens0x9C048b6F2B7D226Cf041aB96642A3d9F56151e35copy
Read-only helper for fetching a pool's live price and liquidity.
Uniswap v4
PoolManager
0x8366a39CC670B4001A1121B8F6A443A643e40951copy
Not ours — the shared, official Uniswap v4 singleton every pool on the chain uses.
How a launch works The 5% fee, and where it goes Why buy-side fees need a redeem step Anti-rug safeguards Pairing against another asset What Scrip does not promise

How a Launch Works

Filing an application deploys a plain ERC20 with a fixed supply of one billion, and puts the entire supply into a Uniswap v4 pool as a single-sided liquidity position — no ETH or other asset is required from the creator to do this. The position holds 100% token at the moment of filing; the first buyer is what brings any ETH into the pool at all.

This mirrors the instant-liquidity model pioneered by launchpads like Vein — nothing is held back off-market, and there is no separate presale or allocation step.

The 5% Fee, and Where It Goes

Every trade — buy or sell — carries a fixed 5% fee, split three ways:

30%
Holders
30%
Creator
40%
Platform

The fee is captured directly from the ETH (or other quote asset) leg of the trade by the hook itself — never from the token side, and never by a separate conversion swap. Holder rewards accrue proportionally to how much of the circulating supply each address holds, and are paid in whatever the pool's quote asset is.

Why Buy-Side Fees Need a Redeem Step

On a sell, the fee is taken from real, already-settled ETH the trader is receiving — it lands as spendable ETH instantly.

On a buy, the trader's ETH hasn't actually settled into the pool yet at the exact moment the fee is captured (Uniswap v4 runs this check before the swap executes). The hook can still credit itself correctly for that fee via the pool's internal accounting, but turning that credit into spendable ETH takes one additional, permissionless step called redeemPendingFees() — callable by anyone, at any time, for any token.

This never touches the token's own contract, so it is never visible as a "sell" on the token's chart or activity feed — the one problem this design was built specifically to avoid.

Anti-Rug Safeguards

Pairing Against Another Asset

A token doesn't have to pair against ETH. Pasting any contract address on the Create page checks — live, on-chain — whether that asset already has real, liquid trading against ETH at one of the standard fee tiers. If it does, the new token can launch paired against it directly, and all fees for that token settle in that same asset rather than ETH.

If no live market is found, the launch is refused before any gas is spent — pairing against an asset nobody can actually trade would make the new pool worthless from the first block.

What Scrip Does Not Promise

These contracts have been tested extensively — locally and against this exact mainnet deployment — but have not undergone an independent third-party security audit. Interacting with any new, unaudited contract carries risk, financial or otherwise. Nothing here is financial advice, and past behavior of these contracts is not a guarantee of future behavior.