尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
A launchpad on Uniswap v4 where the fee is the product.
Launch a token: the whole supply goes into a pool against native ETH, the pool is
locked, and every swap after that pays a 4% toll — 80% to whoever launched
the token, 20% to the treasury. Launching costs nothing but gas. Nothing is held
back, because there is nowhere to hold it.查看完整 README ↗A launchpad on Uniswap v4 where the fee is the product.
Launch a token: the whole supply goes into a pool against native ETH, the pool is locked, and every swap after that pays a 4% toll — 80% to whoever launched the token, 20% to the treasury. Launching costs nothing but gas. Nothing is held back, because there is nowhere to hold it.
contracts/ the factory, the hook, the locker, and their tests
site/ the web app: landing, board, launch form, dashboard
brand/ logo, avatar, banner, OG image and the X profile kit
A token launched here is not part of this repository. launch is open to
anybody and nothing gets special treatment, so a token's file, art and page live
in a repository of its own — the first one is
lane-one, and
TOKEN=../../lane-one npm run launch in contracts/ is what sends it.
Toollpad was built inside Hood-asset, alongside Hoodpad and CRATE, and moved here before anything was deployed. The history above the move is the real one — the seven commits in this repository are the seven it was written in.
It moved because one repository feeding several Vercel projects means every push rebuilds all of them: seven builds for a change that touched one folder, which is how a day's deployment quota disappears without anything being wrong. One project per repository costs nothing and removes the whole class of problem.
| Fee | 4% of everything paid into the pool, either direction |
| Split | 80% creator, 20% treasury |
| Pool fee | Zero. The toll is the whole schedule |
| Supply | 1,000,000,000, all of it in the pool |
| Liquidity | Locked, permanently |
| Cost to launch | Gas |
| Chain | Robinhood Chain (4663), Uniswap v4 |
The rate lives in a hook, and a pool's hook is part of its key — so it is fixed when the pool opens. Not governed, not timelocked, not no plans to change it: a different hook is a different pool.
Hoodpad is the same idea on Uniswap v3: a board anyone can post to, supply fixed, liquidity locked, and the poster keeps the pool's trading fees. CRATE is one token launched once on v4 with no hook at all.
Toollpad is the third shape. It is on v4 and it has a hook, which is what makes the fee a thing the launchpad sets rather than a thing the pool tier happens to be — one rate, charged on the way in, split on a schedule nobody can edit afterwards.
| Hoodpad | CRATE | Toollpad | |
|---|---|---|---|
| Venue | Uniswap v3 | Uniswap v4 | Uniswap v4 |
| Hook | — | none, on purpose | the toll, 4% |
| Launches | many | exactly one | many |
| Fee to the creator | the pool's LP fee | — | 80% of the toll |
| Liquidity | locked | locked | locked |
contracts/README.md for the mechanism, the hook address
mining and how to deploy it. site/README.md for running the
app. brand/README.md for the logo and social art, and
brand/X-PROFILE.md for the account.
npm run wallets in contracts/ makes them, printed once and saved nowhere. It
refuses to run unless stdout is a terminal, and refuses again if the environment
looks like CI or a hosted workspace — a key is only secret while it has existed
in exactly one place, and a cloud shell is not that place.
Deployer. Sends one transaction. The launchpad has no owner and no admin
afterwards: launch is open to anybody, the split is a constant, and the
treasury is an immutable. Fund it with a little ETH.
Treasury. Receives 20% of every toll from every launch, forever. It is
written into the hook as an immutable at deployment and nothing changes it
afterwards, so a typo is a typo forever — deploy.mjs reads the address back off
the chain and refuses to go on if it is not the one that was asked for. It should
be a hardware wallet address rather than a generated key: it never signs anything
except withdraw.
Not audited, and not currently deployed. Toollpad went on chain once, on 19 September 2026, charging 5%; the toll here is now 4%, and
TOLL_BPSis a constant with no setter, so that is a new hook and a new deployment rather than a transaction. Nothing was launched on the old one — the board never had a notice on it — and its addresses are kept undersupersededintoollpad.config.jsonrather than being overwritten.deployedis empty again, and the scripts read that state honestly rather than filling it with placeholders.