Docs · 8 of 8

Launch and contracts

The IMD launch, the deployment order and the addresses.

Through IMD

Pupate launches through IMD’s launchpad as a univ4_hook launch. The request points at the public repository and one commit; the swarm reviews the code, deploys the token and the hook from that commit, and opens and seeds the pool in one transaction. The launch rule gives 10% of supply to the swarm that did the work and puts 85% into the pool, single-sided. The developer’s 5% is delivered to the requesting wallet and moved into the vesting contract straight after.

Order of deployment

  1. Before the launch: the timelock, FloorFeed and Cocoon are deployed, so the hook can take the vault and the timelock as constructor arguments. The first oracle request is made with FloorFeed as its consumer, which fixes the question hash.
  2. The launch: IMD deploys PupateToken and PupateHook and opens the pool. On-chain checks follow: the hook’s sink is Cocoon, its owner is the timelock, its launch pool is the intended one.
  3. After the launch: Cocoon is wired to the pool (it refuses any pool whose hook does not name it as the sink), PupateVesting is deployed and funded, the question is pinned, and FloorFeed and Cocoon are handed to the timelock. From here every change waits 48 hours.
  4. Then: the first report, the keeper, this site at pupate.fun, and the first paired seat.

The whole sequence is rehearsed on Sepolia first, against a FloorFeed that reads mainnet sales.

The launch window

For 93 minutes after the open the buy tax falls from 99% to 6%, one point a minute. Sells pay 6% from the first block. The tax of the moment is shown beside the trade button; there is no reason to buy in the first minutes unless you want to pay for the vault’s first seat. Whoever does, does exactly that.

Contracts

identity.md collection0x0000eC93127BAA929E58E97dd0095A2BFb38ec1D
Seaport 1.60x0000000000000068F116a894984e2DB1123eB395
IMD token0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7
IMD oracle signer0x5598Aa9146215Bc13eb26f2c692Ad1461Fd32982
PUPATE tokenpublished here with verified source at launch
PupateHookpublished here with verified source at launch
Cocoonpublished here with verified source at launch
FloorFeedpublished here with verified source at launch
PupateVestingpublished here with verified source at launch
Timelockpublished here with verified source at launch

Built with

  • Uniswap v4 core 1.0.2 for the pool and the hook.
  • Seaport 1.6 for every seat order, signature-free and validated on-chain.
  • The IMD oracle for the reference price, and IMD’s worker authorisation for pairing.
  • OpenZeppelin’s TimelockController for the 48-hour delay.
  • Foundry: 203 tests, including fuzz and stateful invariant tests, plus a mainnet-fork test of the Seaport path.
Until the addresses above are filled in, nothing claiming to be Pupate is Pupate. Do not send anything to an address that is not published here or on the site’s footer.