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.

Funderone walletKin: one buyerWallet AWallet BWallet CPoolshared limit
The third buy goes over the limit. The pool refuses it.

[ 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.

LAUNCHWINDOW10 buys1 PERSON10 WALLETS
One person, ten wallets: 50% of the window Ten different people: 50%
Illustration. Twenty buys at the same per-wallet limit.

[ 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.

Wallet A
1 × limit
Wallet B
1 × limit
Wallet C
1 × limit
Reaches the pool3 × limit
Three addresses, three full allowances. Nothing says they are the same buyer.

Kin entity limit

Linked wallets draw from one limit.

Shared funder found: A, B and C are one entity
Wallet AWallet BWallet C
ABC
C tries 0.8 × limit more: EntityCapExceeded, the swap reverts
Reaches the pool1 × limit
The hook keeps one running total per entity. Each wallet's signed permit names its entity and limit.

[ 03 ] Step by step

A Kin launch, in four steps.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  1. 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.

  2. 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.

  3. 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

Uniswap v4 hook · Solidity

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

Solidity

The router carries the permit into the swap. The vault holds window buys until the lock ends.

Kin engine

Bun + TypeScript

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

Base mainnet · read-only

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

Optional

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.

Read the source on GitHub

[ 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.

See it for yourself in two minutes.