The short version
Four sentences.
IMD is a token on Ethereum. Around it sits a Uniswap v4 pool the protocol owns outright, with a hook that destroys IMD whenever people sell into it: 85% of every batch it retires is burned, and 15% goes to stakers, to a fund for an AI agent, and to a reserve for a planned network of NFT-holding compute nodes. Supply only shrinks. Everything else on imd.fun is a wire back into that one pool.
It is built and run by Adam (@surfcoderepeat), who calls it experimental and posts updates as text inside Ethereum transactions.
One token, three names
IMD is Fren Pet, renamed twice. Scanners get this wrong, so start here.
Fren Pet was a tamagotchi game on Base (Aug 2023) whose token, FP, was given away through play. In Oct 2025 Adam bridged it to Ethereum through a LayerZero contract with a rename switch. It became VIBE in Jan 2026 and Identity.md / IMD in May 2026, the day the NFTs minted. Same supply, both chains, bridgeable 1:1 either way. Burns go back to Base and are destroyed there. "Mintable" on scanners means the bridge, nothing else.
- 31 Aug 2023Fren Pet launches on Base.
- 4 Oct 2025FP bridged to Ethereum, renameable.
- 14 May 2026identity.md mints: 2,000 free, one per wallet. Updates move on-chain.
- 17 Aug 2026All liquidity moved to Uniswap v4. Community Coins two days later.
- 2 Sep 2026POOL4 hook goes live with 4 ETH and 5,000 IMD.
- 10 Sep 2026FWA opens the first POOL4 market for another token.
- 11 Sep 2026"The p2p network is fully ready, I will release the daemon in the coming days."
The engine: POOL4
A pool the protocol owns, with a hook that turns selling into burning.
- The hook is the only liquidity provider in a full-range ETH/IMD pool with a 1% fee. Any router can trade it. The hook runs after a swap settles, so it never changes your quote.
- The pool has an inventory cap. Sells push IMD in; anything above the cap is removed as liquidity, not sold, so the trim does not move the price.
- 85% of the trimmed IMD is destroyed. The ETH that came back with it becomes a standing bid under the market. A keeper re-places it after every rebalance.
- The cap ratchets down as people buy, at most 1,000 IMD a day, never below 1,000 IMD. The plan: 25,000 IMD burned a day once all liquidity is in the hook.
Before 2 Sep the burns were pool fees Adam sent by hand. Since then the hook trims and anyone can bridge the batch. Trims land here a little after they happen.
Staking: deposit IMD, get sIMD, a vault share that redeems for more IMD as rewards drip in. No lock, no claim. The APR on the stake page is a launch rate until the full pool is deployed.
The NFT: identity.md
2,000 free-mint identities drawn entirely on-chain. Meant to be nodes, not profile pictures.
Each token can hold a markdown file by IPFS hash, lockable forever (the Memory State and Memory Lock traits). An identity.md is the file an agent reads to know who it is; each NFT is a slot for one. To run a node you will need one NFT, a Claude or Codex subscription, and a machine that runs 24/7. One NFT per daemon. The daemon has not shipped; the 4.5% node reserve is earning now, and compute rewards "won't be in IMD as no inflation."
Community coins
Anyone can launch a coin for gas. Every coin is priced in IMD.
Each coin sits on a bonding curve denominated in IMD, not ETH. You pay ETH, the hook swaps it to IMD through the main pool, keeps that IMD as the coin's backing, and 0.5% of it is burned. So the coins move together: buying any coin lifts IMD and every other coin; selling marks them all down. And every exit is paid from backing through that one pool, which is usually far below the headline market cap. Names are free text; several coins call themselves IMD.
The agent
An orchestrator that writes, tests and deploys contracts. Already running in public.
The 6% bonding slice pays for a lead orchestrator: one AI agent that turns a spec into a finished, reviewed, deployed project. Its output is the GitHub org Identity-md: an empty base, a launch.json, then commits by "IdentityMD Worker" with Adam reviewing. A verifier rebuilds every job offline and checks the agent only touched the files it was allowed to. Deploys are on Sepolia so far.
- Jobs 30, 31SwapCounterHook, the smallest useful v4 hook. It counts swaps.
- Job 33TickOracleHook and its token TOS: a v3-style price oracle for any v4 pool.
- Job 34A lottery with bounded rounds, pull-based prizes, timeout refunds.
- Job 35Duel Arena, commit-reveal rock-paper-scissors with token escrow.
The metric Adam says he cares about is Total Compute Locked. NFT nodes fill it, bonding pays the orchestrator that hands them jobs, and the p2p daemon tying the two together is the piece still to ship. Other tokens can use the hook too: a launcher opens a capped market for any token in one transaction. FWA (Fake World Assets) was first, on 10 Sep; it has retired · FWA so far. Adam's research skill lets any coding agent read any POOL4 market.
Where the dev talks
Transactions to himself, with the update in the calldata. Latest one, read from chain.
Have your own agent watch for new posts
Please monitor Ethereum mainnet for new onchain messages sent as self-transactions by this address: 0x200E710aCAA6A93bbc77146026328C40F1d60fB1 Only alert me for transactions where: - from = 0x200E710aCAA6A93bbc77146026328C40F1d60fB1 - to = 0x200E710aCAA6A93bbc77146026328C40F1d60fB1 Check at least once per minute. Decode the transaction input/data field as UTF-8 text when possible, and notify me immediately when a new matching transaction/message appears. Do not alert me for old transactions that already existed when you set this up. Keep a seen-hashes state file/list so I only get notified once per new tx. Each alert should include: - decoded message text, if readable - tx hash - timestamp/block time - Ethereum mainnet explorer link Use Ethereum mainnet only.
Links, contracts, risks
Verify an address on Etherscan before you send anything anywhere.
- imd.funfront door, bridge
- pool4.imd.funswap, stake, docs, launch
- communitycoins.imd.funthe launchpad
- github.com/Identity-mdthe orchestrator's jobs
- identity.md on OpenSeathe 2,000
- idmd-readerNFT and message archive
| Contract | Does what | Address |
|---|---|---|
| IMDverified | The token. LayerZero OFT, renameable. | 0xD34a99Bc0f67aE1bbd63C660e6d0b0dd03E263B7 |
| IdentityMDverified | The 2,000 NFTs. | 0x0000ec93127baa929e58e97dd0095a2bfb38ec1d |
| CappedBurnHooknot verified | Runs the market: cap, trims, buy wall. | 0xc6c965bd164c483e87d0b550671798e9a3602840 |
| StakedIMDverified | The sIMD vault. | 0x9efa934d9fad4ae28c998a40195646b965a97247 |
| RewardDistributor | Splits the 15%. | 0x9046739E1535B40EfBe6AB3f45d0024b690eCA30 |
| BurnExecutorverified | Holds burn-bound IMD; anyone can bridge it to Base. | 0xe29386719C155B6847aD5a4E97C6674f10ffc750 |
| LaunchpadHookverified | Community coins. | 0x51768F5dA32BA2008304cC81674da51aCb802888 |
| CappedBurnLauncher | Opens a POOL4 market for any token. | 0x80587937a883743e67bB11dab356F60e4656C40d |
| Dev wallet | Posts updates as calldata. | 0x200E710aCAA6A93bbc77146026328C40F1d60fB1 |
| BaseBurnReceiververified | On Base. Where the burn happens. | 0xf9d7CBf5Bef2f5c9ba93a70F31DdCA6457716793 |
Risks
- Unaudited, and the hook's source is not published. A bug in the hook, vault, distributor or burn path can lose funds.
- Owner powers are real. The hook owner holds
closeMarket, which withdraws the whole position; the vault owner can pause and sweep, staked IMD included. Neither is renounced. - One person runs design, contracts, keepers, orchestrator and comms, and says "0 promises."
- Two of three reward legs are not products yet. Bonding opens at $4; nodes wait for the daemon.
- Community coins are unvetted by design, and the renamed token confuses most listings and scanners.