Creator handbook

Everything a creator needs to launch a collection on Immoto, in the order you will do it. Zero capital, one transaction, art from the first block.

What you are launching

A DN-404 pair: an ERC-20 token and an ERC-721 collection that mirror each other. Whoever holds one whole unit holds one NFT; selling below a whole unit dissolves the NFT (last acquired first).

A single-sided pool against IMMOTO: the whole supply goes onto a three-tranche curve — 40% of the units between p0 and 4·p0, 35% between 4·p0 and 20·p0, 25% from 20·p0 to infinity. IMMOTO paid by buyers stays in the pool forever; the pool never sells out and always has a bid.

Zero capital, zero allocation: you deposit nothing and receive no tokens. Your income is the creator share (§5). One pool, for life: your token trades only in its Immoto pool (any router may use it); wallet transfers and NFT marketplaces are free. There is no graduation.

What you need

A wallet on Arcany EVM wallet; gas is paid in USDC (≈ 1 USDC for the launch, 7.2M gas)
One staked IMMOTO seatbuy on Launch, stake on My Seats. It becomes your license: locked 30 days, then it must stay staked and owned by you for the creator share to flow. One seat licenses one collection at a time.
The factory opencreateCollection opens once the IMMOTO/USDC pool holds 100,000 USDC (the Create page shows the progress)
Artone of the three options in §4, prepared before you launch

Parameters

FieldRuleAdvice
Name / symbolsymbol 2–8 uppercase letters or digitsthe NFT collection carries the same name
Units100 – 100,000your NFT supply; all of it goes to the curve
p0 (start price, IMMOTO)> 0buyers pay in USDC through the IMMOTO pool, so think in USDC: p0 × IMMOTO price. With IMMOTO at 12 USDC, p0 = 0.05 means the first unit costs ≈ 0.6 USDC + fees
License seata staked seat of yours that licenses nothing else

The first hour after launch every buy carries a surcharge fading from 27% to 0 (paid to stakers) so bots cannot sweep the cheap tranche. Announce after the transaction confirms, not before.

Art — set it before launch

The Create page has an Art step; your choice is applied inside the launch transaction, so unit #1 has its metadata from the first block. You remain the metadata owner and can change everything from the collection page until you freeze (permanent).

A · Protocol placeholder. Nothing to prepare: symbol, unit id and state printed on cream paper. Never broken on marketplaces. Replace it later.

B · Metadata files (IPFS / Arweave / HTTPS). One JSON per unit named 1.json … N.json in the OpenSea format:

{ "name": "Night Shift #1", "description": "…", "image": "ipfs://<cid>/1.png",
  "attributes": [ { "trait_type": "Shift", "value": "Late" } ] }

Upload images and the JSON folder (Pinata, web3.storage, ArDrive, your own server) and use the folder URI ending with a slash, e.g. ipfs://bafy…/; the token's metadata becomes <base><id>.json. Optional: a second base URI for staked and cooling-down units (same file names). The Create page fetches 1.json and shows the image before you sign; if it cannot be fetched you may still launch and publish later (units show as broken until then).

C · Onchain renderer. Deploy a contract implementing

function tokenURI(uint256 id, uint8 state, uint256 tenure) external view returns (string memory);
// state: 0 liquid · 1 staked · 2 cooldown · tenure: seconds staked (0 unless staked)

returning a data:application/json;base64,… URI whose JSON has name, image and attributes. State and tenure let the art react to staking — Immoto's own portraits light up when staked and add tenure marks. The Create page calls your renderer for unit #1 (liquid and staked) before you sign; it must be deployed on the same network. Immoto's renderer contracts are open source and verified — copy the pattern.

Royalty. ERC-2981 at 5% to you by default, enforced on ERC721-C marketplaces; change receiver and percent on the collection page.

What you earn

StreamAmountWhen
Pool fee share‰100 of the 2% fee on every swap of your token (0.2% of volume)continuously; claim on the collection page
Mint fee5% of every primary sale (half of the 10% mint fee)as the curve sells
Royalty5% (default) on NFT marketplace salesper marketplace

Paid in IMMOTO (royalties in whatever the marketplace pays). While your license seat is unstaked or sold, the pool share and the mint half go to IMMOTO stakers instead; Relicense with another staked seat restores it. Your holders earn too: 65% of every fee goes to whoever stakes your units, 15% to IMMOTO stakers, 5% to protocol liquidity, 5% to the protocol.

Launch checklist

  1. Wallet on Arc with ≥ 1 USDC of gas.
  2. One IMMOTO seat bought and staked, licensing nothing else.
  3. Art prepared: files published under a base URI, or renderer deployed and verified.
  4. Factory open (the Create page shows “Open”).
  5. Fill name / symbol / units / p0, choose the art option, check the preview of unit #1, pick the license seat.
  6. Create collection — one transaction. The pool is live immediately; the 1-hour surcharge starts.
  7. Open your collection page: verify the art, set the royalty, share the link. Claim the creator share whenever you like.

Go to Create →

Launching from a script or an agent

Everything the page does is one call to SeatsFactory.createCollection:

cast send $FACTORY "createCollection((string,string,uint256,uint256,uint256,address,string,string))" \
  "(\"Night Shift\",\"NIGHT\",300,50000000000000000,53,0x0000000000000000000000000000000000000000,\"ipfs://bafy…/\",\"\")" \
  --rpc-url https://rpc.mainnet.arc.io --keystore <yours> --gas-limit 9000000

p0 is in wei (18 decimals). Pass the renderer address with empty URIs for option C, or zeros / empty strings for the placeholder. Read collections(i) / collectionInfo(addr) for the result and licenseOf(addr) for the license. The quoter and router expose quoteBuyChild / buyChild (USDC, two hops) and the …WithSeat variants; the indexer's GraphQL endpoint gives volume, fees, holders and activity. Addresses: Docs → Contracts. Agents: /llms.txt.

What cannot happen

You cannot pre-mint, allocate or reserve units; you cannot change fees, the curve or the supply after launch; you cannot withdraw liquidity. Nobody can — including the Immoto owner. Your token cannot be moved into another AMM pool (the permanent routing lock); it can be transferred wallet to wallet and listed on any NFT marketplace.