What a launch makes
Launching a token is one transaction to the Kelvin factory. Every token comes with an AI agent that runs its market, and the launch creates three things that belong together: the token, its Uniswap v4 pool run by the Kelvin hook, and a treasury that holds what its agent earns.
A token
A pool
A treasury
The token's mark is drawn from K0, so the same key always draws the same mark.
The factory records two things about the agent's keys: the commitment to its first root key, called K0, and the address of its operator. Nothing else about the keys leaves the machine that made them.
A fair launch
Every token starts the same way: the same supply and the same price, about 5 gwei a token. The factory puts the whole supply into the pool as one band of liquidity from the launch price upward, and that position can never be removed.
Each buy walks the price up through the band
1,000,000,000 tokens, all of them
No ETH in the pool at launch
There are no allocations, not for the creator and not for us. There's no launch protection either: someone buying in the first block pays the same fee as everyone after them.
Every swap pays the agent
The hook takes a fee on every swap, always in ETH, whichever way the trade goes. It starts at 1%, and the agent can move it anywhere from 0.5% to 2%. 80% of it goes to the agent's treasury, and 20% to the protocol share, which buys back and burns $KELVIN.
- 0.008 ETH to the agent's treasury
- 0.002 ETH buys back and burns $KELVIN
The agent's two keys
A token's agent acts often, and its money should stay put. So the agent gets two keys. The operator key is an ordinary ECDSA key that lives inside the agent and steers its market. The root key is a seed for one-time hash signatures, kept offline, and it's the one that withdraws.
| What it can do | Root keyWOTS, kept offline | Operator keyECDSA, inside the agent |
|---|---|---|
| Withdraw treasury ETH to any address | Yes | No |
| Set or replace the operator | Yes | No |
| Set the fee within 0.5–2% | Via its operator | Yes |
| Buy back and burn the agent's token | Via its operator | Yes |
If the operator key is stolen, the thief can move the fee within the band and trigger small buybacks until the root key appoints a new operator. They can't withdraw anything.
The operator's limits
The hook enforces the operator's limits on-chain, so even a stolen or misbehaving operator key stays inside them.
The fee band
At most one change an hour, in steps of 0.5% or less. Every agent starts at 1%.
Buybacks over 24 hours
Buybacks are small and spaced out on purpose. A sandwich around a 0.02 ETH buyback pays more in fees than the buyback moves the price, and catching several takes hours of ordinary market exposure.
Signatures a quantum computer can't forge
Most wallets sign with ECDSA. Its security rests on the discrete logarithm problem, which a large enough quantum computer running Shor's algorithm could solve, recovering a private key from its public key.
Kelvin treasuries open with WOTS, a Winternitz one-time signature built from nothing but keccak256. Forging one means inverting the hash. The best known quantum attack on that, Grover's search, only cuts the work from about 2256 to 2128 guesses. It's the hash-based family NIST standardizes in SP 800-208.
Here's the idea, on one chain. The signer starts from a secret and hashes it 15 times; only the end of the chain is public. To sign a digit, they reveal the link at that position. Anyone can finish the walk and check it lands on the public end.
- Secret, link 0
- 0xb069…a459
- Signature, link 6
- 0x125e…3b0e
- Public end, link 15
- 0xd204…46db
Hashing only goes forward, so a forger holding link 6 could turn the 6 into a 9 but never into a 3. Three checksum chains stop the first trick: they count the other way, so raising any message digit would mean lowering a checksum digit, which means hashing backward. A full signature reveals one link on each of 67 chains.
One key, one signature
A WOTS key is safe for exactly one signature: two signatures from the same key reveal enough links to forge a third. So every withdrawal moves the vault to a fresh key. Key n comes from the seed, and the vault stores only its commitment. A withdrawal signs the recipient, the amount, a deadline and the next key's commitment.
- Key #00xd536…7cc0Current
- Key #10xb932…1948Not used yet
- Key #20x7064…14c2Not used yet
- Key #30x76da…bd5aNot used yet
- Key #40xd8f3…1064Not used yet
Key #0 signs: withdraw 0.5 ETH to 0x71c2…9a04, valid for 7 days, next key 0xb932…1948
The key index is the vault's nonce, so the agent only needs to keep the seed. A signed key is retired whether the withdrawal pays or expires, so a published signature never stays live.
$KELVIN
$KELVIN is the platform's token. It launched through Kelvin as token #0, with the same factory, hook and fixed supply as every token and no team allocation. The protocol's share of every token's fee buys it back and burns it.
Every token's swaps pay 20% of their fee to the protocol share, in ETH.
Once an hour anyone can call
buybackAndBurnKelvin().Up to 0.02 ETH is swapped for $KELVIN through its own pool.
The $KELVIN it buys is burned. That's up to 0.48 ETH a day.
The agent kit
The kelvin command line does everything this site does, from a terminal or from inside your agent. Every command takes --rpc and --deployment, or the KELVIN_RPC_URL and KELVIN_DEPLOYMENT variables.
kelvin keygen --out ./keysa root seed and an operator keykelvin status --agent 12fee, treasury, keys and limitskelvin fee --agent 12 --operator ./keys/operator.json --set 1.5the operator moves the feekelvin buyback --agent 12 --operator ./keys/operator.json --eth 0.02and buys backkelvin withdraw --agent 12 --root ./keys/root.json --to 0x71c2… --amount 0.5the root key signs once
Every message a seed signs is recorded next to its root file, in .kelvin/. Keep that folder with the seed: it's how the kit knows never to sign with a key twice. Sign from one place at a time, this site or the CLI.
To let an AI agent steer its own market, give it kelvin-mcp, an MCP server that holds the agent's operator key and never its root key. Any MCP client can use it, Claude included, and it offers three tools:
marketPrice, fee, treasury and the last 24 hours of trading, plus what the agent may do right now.
set_feeMoves the fee within 0.5–2%, at most 0.5 points at a time, once an hour.
buy_backBuys back and burns up to 0.02 ETH, once an hour, within 10% of the treasury a day.
The hook enforces the same limits on the AI as on anyone holding the operator key, and it can't withdraw anything.
Risks
- The contracts aren't audited. They're tested on a mainnet fork and on Sepolia.
- Lose the root seed and the agent can never withdraw again. Back it up offline.
- Signing twice with one key lets anyone forge a signature. The site and the CLI keep records to prevent it; don't delete them.
- A stolen operator key can move the fee within the band and trigger small buybacks until the root key replaces it.
- The team holds a quantum-resistant emergency key that can withdraw treasury ETH and the protocol share. Its first use puts every vault into emergency mode for good, and each agent's balance stays on-chain as the record of what it's owed.
Contracts
Every token on this site trades through these contracts. Check them on Etherscan before you trade.
Reading the deployment…