How it works
Kin limits people, not wallets.
One person can split their money across many wallets and buy most of a launch. Kin groups wallets that were funded from the same place and gives each group one limit, enforced by the pool itself.
[ 01 ] The problem
One person. Ten wallets. Ten times the allowance.
A per-wallet limit caps addresses, not buyers. Split one balance across ten new wallets and the allowance is ten times larger. To the pool it looks like ten strangers.
[ 02 ] The idea
Limit entities, not wallets.
Other launchpads slow down or charge every early buyer. Kin leaves ordinary buyers alone and only joins up wallets that share a funding source.
Wallet-based limit
Every wallet is checked alone.
Kin entity limit
Linked wallets draw from one limit.
[ 03 ] Step by step
A Kin launch, in four steps.
- 01
The creator launches
Kin deploys the token and a Uniswap v4 pool guarded by KinHook, with a buy window and a lock period. The hash of the launch's rules is stored onchain.
- 02
Kin traces the buyer
When a wallet asks to buy, Kin's engine looks at where its ETH came from, up to two transfers back, and puts it in an entity. No sign-up, nothing to sign.
- 03
The pool checks the limit
The engine signs a permit with the wallet's entity and limit. In every window buy, KinHook checks the signature and adds the buy to the entity's total. A buy over the limit reverts.
- 04
Lock, then open trading
Window buys go to a vault and can be claimed when the lock ends. After the window, the pool works like any other pool, for everyone.
[ 04 ] Who shares a limit
Three rules, applied when a wallet buys.
Exchanges are left out of the trace, so two people who withdrew from the same exchange aren't linked. Kin's test-ETH faucet is treated the same way.
Linked wallets share one limit
A wallet funded by an earlier buyer, or by the same wallet as an earlier buyer (up to two transfers back), joins that buyer's entity.
New wallets share one pool
A wallet with no history yet, or one funded more recently than the launch allows, joins a single pool shared by every new wallet. A farm of fresh wallets can't multiply its limit.
Everyone else gets their own
A wallet with no funding link to another buyer is its own entity, with the full limit.
[ 05 ] The tech
What runs where. All of it open source.
KinHook
Blocks swaps before the window. During the window it only accepts buys through KinRouter with a valid permit, and keeps one running total per entity. After the window it steps aside.
KinRouter and KinVault
The router carries the permit into the swap. The vault holds window buys until the lock ends.
Kin engine
Traces funding through a transfer-history API, assigns entities, and signs permits (EIP-712) for the hook. It also runs the test-ETH faucet and keeps a demo launch open.
Kin Scan
Runs a funding analysis on the early buyers of any token already on Base mainnet, to show which of them were funded by the same source.
Allowlist mode
Creators who want a review step can have wallets register first. The entities go into a Merkle root that is committed before the window, and a wrongly linked wallet can dispute the link.
[ 06 ] Check it yourself
Nothing to take on trust that you can't check.
Kin's engine decides who is linked. Everything it decides is published, and everything the pool enforced is onchain.
- 01
The rules
The hash of each launch's rules file is stored by the hook when the launch is deployed. Hash the published file and compare.
- 02
Every limit
Every entity and limit Kin hands out is public, with the funding transfers that led to it.
- 03
Every buy
Each window buy emits a WindowBuy event with the entity it was charged to, and the hook exposes each entity's total.
- 04
The result
Each launch has a Fairness Receipt: what was bought, by how many entities, and what was refused.
[ 07 ] Limits
What Kin does, and what it doesn't.
In short
Does
- Links wallets by funding. A wallet funded by the same wallet as an earlier buyer, up to two transfers back, joins that buyer's entity.
- Enforces one limit per entity, onchain. A Uniswap v4 hook checks a signed permit in every buy during the window and reverts anything over the entity's limit.
- Shows its work. Every limit Kin hands out is public with the transfers behind it, and every window buy records its entity onchain.
- Locks window buys. Tokens bought in the window sit in a vault until the lock ends, so nobody can buy at the capped price and dump a block later.
Doesn't, today
- Catch every bundler. Exchanges are left out of the trace on purpose, so wallets funded from different exchanges or bridges look unrelated. Kin makes bundling cost more and easier to see.
- Know who is a person. A funding link is evidence, not identity. Two friends paid by the same wallet share one limit.
- Work without trusting Kin's engine. The hook accepts the limits Kin's engine signs. Each one is public and can be audited, but a wrong one isn't blocked in advance.
- Order buys or limit trading after the window. Earlier buys in the window get a better price, and once the window closes anyone can trade.
- Run on mainnet yet. Launches run on Base Sepolia with test ETH. Kin Scan reads Base mainnet.