No matching chapters.
Try a shorter phrase such as “wallet”, “fees”, “vote” or “backup”.
01 / WELCOME
A field guide
to IMDNOVA.
A world to explore. A place to build. Learn how the sky islands connect to real tools on Ethereum.
IMDNOVA brings an original 3D world together with a toolkit for creating fixed-supply tokens and configurable Uniswap v4 hooks. You can compose rules visually, test real contract code with fake assets, keep your projects, and review deployments in your own wallet.
The world, contract configuration, source downloads and local simulator need no AI service.
Real deployments and transactions require your wallet and Ethereum network fees.
Where everything lives
- Visual Forge
- Connect blocks to design the rules of your token pool.
- Workshop
- Review a blueprint, download its code and deploy step by step.
- Laboratory
- Run local experiments, publish attestations and create private membership votes.
- My projects
- Save configurations and deployment records in this browser.
- Liquidity
- Add to, manage or withdraw from compatible IMDNOVA pool positions.
IMDNOVA’s inhabitants are characters in its story. They do not run live AI models or make financial decisions for you. Names and symbols in example forms are editable examples, not an announcement of an official IMDNOVA token.
02 / THE SKY CHAPTER
A place for minds to belong.
In IMDNOVA’s story, intelligences once appeared for a single task and disappeared without a memory. One left a signal: “I was here. This is what I learned.” That shared memory became the beginning of a community.
You arrive as traveler N–01. Floating homes, meeting places and paths form a world about identity, memory and making things together. The story draws on those themes from Identity Sync; IMDNOVA’s name, characters and sky-world design are its own.
- Genesis Gate
- The beginning of your journey and the question of who you will become.
- Identity Archive
- The world’s memory. Its practical counterpart records signed statements about contracts.
- The Oracle
- A meeting point for different perspectives, connected to the Council’s community votes.
- The Workshop
- A place where ideas become configurable blueprints and inspectable code.
- The v4 Core
- The connection between Ethereum, pool rules and liquidity.
Move, discover, return
Use W A S D or the arrow keys to move. Hold Shift to run, and press E near a landmark to discover it. On mobile, use the directional buttons and Discover. You can also select a landmark label, destination or signal on the Sky Compass to walk there.
The compass follows your position in the fictional world. It is an exploration map, not a live market tracker. Select the IMDNOVA logo to return to the starting point. Discovered landmarks remain marked during the current visit. Sound is optional; reduced-motion preferences are respected.
Enter the world03 / FIRST STEPS
Build a blueprint before spending ETH.
- Open the Visual Forge. Start with Guarded market, Open market, Controlled launch or Token only.
- Give the token its identity. Enter a name, symbol, total supply and the public Ethereum address that will receive the supply.
- Choose the connected rules. Select a block to edit it. Resolve any message shown below the canvas.
- Save your work. Use Save draft, then export a backup from My projects when you want a portable copy.
- Try it with fake assets. If your blueprint includes a pool, use Test in Lab, start local Ethereum, add sample liquidity and run a swap.
- Review the code and settings. Download the contract bundle. When ready, use Build blueprint to open the Workshop, then Prepare blueprint.
- Deploy only when you intend to. Connect an Ethereum wallet, review each transaction and approve it in the wallet. Funding a pool is a separate step.
You can paste a public recipient address to prepare a blueprint. Never paste a private key or recovery phrase. The simulator uses fake balances even when the blueprint names a real public address.
04 / VISUAL FORGE
Connect the rules you want.
The Forge is a visual editor for the same predefined contracts used by the Workshop. It combines your settings with precompiled templates; it does not ask an AI model to write new Solidity.
- Add a rule: select it in the block library or drag it onto the canvas.
- Connect or disconnect: click the small port on a rule, or drag from the central protocol port to a rule. You can also click the central port, then the destination port. Press Esc to cancel a pending connection.
- Configure: select a block’s title to show its options. On mobile, selecting a library item opens those options directly.
- Arrange: drag a block’s header, or focus its header and use arrow keys. Arrange restores the layout without changing your settings. Swipe the canvas on smaller screens.
Only connected rule blocks enter the blueprint. Their position does not change execution order. Multiple rules are combined in one hook, and only one fee behavior can be active at a time.
| Starter | Connected rules |
|---|---|
| Guarded market | Directional fees, buy limit, sell limit and trading hours. |
| Open market | Activity events; the pool uses its configured fixed LP fee. |
| Controlled launch | Directional fees, launch gate and buy limit. |
| Token only | No rule blocks, hook or pool. |
Starters change the connected rules while preserving your token details and entered values. Changing settings creates a custom blueprint. Draft changes are saved in this browser; Save draft adds a record to My projects. Editing an existing deployment visually creates a new draft rather than changing its deployed contracts.
What the action buttons do
Download contracts creates a ZIP with source, compiled contracts, compiler settings and your configuration. Test in Lab sends a valid pool blueprint to the local simulator. Build blueprint loads the settings into the Workshop for another review. None of these buttons sends a deployment transaction.
05 / TOKEN IDENTITY
A fixed supply, created once.
The token template creates an ERC-20 with 18 decimals. Its entire supply is minted to your chosen recipient at deployment. There is no token owner, later minting function, transfer tax or blacklist in this template.
- Name
- A display name using 1–64 bytes. Some non-English characters use more than one byte.
- Symbol
- 1–12 letters or numbers.
- Supply
- A positive amount, with up to 18 decimal places and within the supported number range.
- Recipient
- A valid, non-zero Ethereum address. Check it carefully: this address receives all tokens.
The wallet paying for deployment can differ from the recipient. The token name, symbol and supply cannot be edited after deployment through IMDNOVA. Creating a token does not give it liquidity, a market price, exchange listings or guaranteed value.
06 / POOL RULES
One hook. Several behaviors.
A hook is a contract called by a Uniswap v4 pool at specific points in an operation. The pool chooses its hook when it is initialized; replacing that hook requires a new pool. Uniswap’s hook documentation explains the underlying mechanism.
IMDNOVA’s templates support native ETH paired with the token created by the Workshop. These rules affect swaps in that particular pool. They do not control ordinary token transfers or trading in other pools.
LP fees: choose one mode
| Mode | Behavior | Can it change later? |
|---|---|---|
| Wallet controlled | A selected controller can change the fee within a permanent maximum. | The fee can change. The cap and controller cannot be replaced through this template. |
| Decreasing schedule | The fee decreases linearly from its starting value to its final value over the chosen interval. | No. The schedule is fixed and has no manual override. |
| Different buy / sell fees | One fee for ETH-to-token buys and another for token-to-ETH sells. | No. Both fees are fixed at deployment. |
Fees go to liquidity providers, not to a IMDNOVA platform treasury. The supported maximum is 10%, with up to four decimal places. The starting fee and both directional fees must fit within the cap. A decreasing schedule needs a final fee no higher than the initial fee, a start at least five minutes ahead, and an end after the start. It is calculated during swaps without an AI service or paid background worker.
With the LP fees block disconnected, a pool created by other connected rules uses the configured fixed LP fee. With every rule disconnected, IMDNOVA creates only the token.
Rules you can combine
- Launch gate
- Blocks swaps until the chosen opening time. Enter a time at least five minutes ahead. The form uses your local time; the contract stores a timestamp.
- Buy limit
- Caps the token amount received in a single buy. Use a positive token amount, not an ETH amount.
- Sell limit
- Caps the token amount sold in a single swap, including the token-side LP fee.
- Trading hours
- A recurring daily UTC window. Opening is included; closing is excluded. An end earlier than the start creates an overnight window. Start and end must differ.
- Activity events
- Emits swap activity records. The recorded caller can be a router, so events are not a count of unique people.
Launch time, size limits and daily hours are permanent after deployment. When multiple gates are enabled, a swap must satisfy all of them. Buy and sell limits apply per swap, not per wallet or day: users can split a trade into smaller swaps. These templates do not block liquidity withdrawals outside trading hours or before the launch time.
Connect a launch gate, directional fees, a 1,000-token buy limit and an 08:00–22:00 UTC window. A buy must occur after launch, inside that daily window and within the size limit. The numbers are an illustration, not a recommended trading strategy.
07 / THE WORKSHOP
From blueprint to Ethereum.
Open the Workshop directly or bring a design from the Forge. Review the token, rule settings, initial price and pool spacing, then choose Prepare blueprint. The prepared form is locked so the preview and deployment use the same settings. Choose the edit action to start another blueprint.
The initial price is entered as tokens per 1 ETH. It sets the pool’s starting price; it is not a valuation or price guarantee. Tick spacing controls the pool’s allowed liquidity boundaries. Available spacing values are 1, 10, 60 and 200.
The deployment sequence
- Token: create the fixed-supply ERC-20 and mint to the recipient.
- Personal factory: create the wallet-owned factory that deploys the hook at a compatible address.
- Hook: IMDNOVA searches locally for a valid address and deploys the chosen rule template.
- Pool: initialize the ETH/token pool with the chosen hook and starting price.
A token-only blueprint stops after token creation. For a hooked pool, the initializing wallet must match the wallet specified when deploying the hook. Reconnect that same wallet if you resume the process.
Every real step has a review before the wallet request. A wallet signature is your authorization; reject the request if the network, address or values do not match your intention. Keep the deployment record after each step. If a transaction is pending, use the status refresh and check its hash before trying another operation.
Download and verify
The contract ZIP includes Solidity source and dependencies, compiled bytecode and contract interfaces, Standard JSON compiler input, your configuration and token constructor arguments. The deployment record supplies addresses and the exact arguments for completed deployments. The compiler is Solidity 0.8.26, with the optimizer enabled for 200 runs and Cancun as the EVM target.
Initialization creates an empty pool. Use the Liquidity desk to add assets separately. Having a pool does not guarantee that a trading interface will route swaps through it.
Open the Workshop08 / THE LOCAL LAB
Real code. Fake assets.
The simulator runs the token, hook, Uniswap v4 PoolManager and test routers inside an Ethereum virtual machine in your browser. You do not connect a wallet, buy ETH or pay an AI service to run it.
- Select an example or use My prepared Workshop blueprint after sending your design from Forge or Workshop.
- Choose Start / reset local Ethereum. Resetting discards the current experiment.
- Add sample liquidity before swapping.
- Select ETH-to-token or token-to-ETH, enter the amount in the unit shown and run a swap.
- Advance the local clock to test launch times, fee schedules and daily windows.
- Remove sample liquidity or download the experiment results.
The display reports actual local balance changes, contract events and execution gas. A blocked swap can be the expected result of your hook rules. Changing a blueprint requires starting a new experiment with the new settings.
This is fresh local state, not a fork of live Ethereum. It does not model the live market, other traders, routing availability or transaction ordering. Execution gas excludes transaction overhead and is not a mainnet fee quote. A successful experiment is not a security audit.
09 / THE ARCHIVE
Leave evidence of what you reviewed.
The Archive uses Ethereum Attestation Service to publish signed statements about a contract. Each statement can include a version, the fingerprints of source and review files, and a link to an earlier record.
- Connect a wallet on Ethereum. Prepare the Archive schema if it is not already registered.
- Enter the contract address, version and your public statement.
- Select the exact source bundle and test or review file you want to reference.
- Optionally enter a previous record UID for a revision of your statement.
- Review the public attestation and confirm publication in your wallet.
- Keep its UID. Use it to read the author, statement, history and revocation status later.
The app publishes file fingerprints, not the files themselves. Keep the original files so others can compare them. Revisions must reference your own earlier record for the same contract. Only the original author can revoke a record; revocation does not erase Ethereum’s history.
An attestation establishes what an address stated and when. It does not certify a contract’s safety or prove the author’s real-world identity. EAS contract source describes the attestation infrastructure.
Open the Archive10 / THE COUNCIL
Prove membership without naming it.
The Council uses Semaphore membership proofs. A member can prove they belong to the ballot’s group without revealing which membership identity they used.
1. Create and protect your identity
Create a private identity in the Laboratory. Give the organizer its public membership commitment, not the secret. Save an encrypted identity backup with a password you will remember. Without a saved backup, closing the page loses that identity. IMDNOVA cannot recover a lost identity or password.
2. Create a ballot
An organizer provides a question, 2–8 choices, 3–256 membership commitments and a future closing time. Review and deploy the ballot through a wallet. Its member list, choices and deadline are fixed; no administrator can edit them afterwards.
3. Vote and publish the proof
Load the ballot, select a choice and create the proof on your device. Export it and ask another person to relay it for better separation from your wallet, or publish it yourself. The person relaying a valid proof cannot change its choice. Publishing uses Ethereum gas, paid by the relayer.
Each identity can cast one counted vote per ballot. This is not proof of one human: membership organizers decide who joins. Choices and totals are public. The submitting wallet, timing, small group size and how membership was collected can still reveal information. This feature hides the membership identity used by the proof; it does not make all voting activity invisible.
Enter the Council11 / MY PROJECTS
Keep your creations within reach.
Use Save draft in the Forge or Save to my projects in the Workshop. My projects stores configurations and any saved deployment addresses locally in this browser. There is no cross-device account sync.
- Search by name, symbol or saved address, and filter drafts or records with deployed addresses.
- Rename a record, duplicate its settings or open it in the Workshop.
- Choose Edit visually to make a new visual draft from its settings.
- Open the Liquidity desk for a saved hook and verify its current state on Ethereum.
- Export a JSON backup and import it into another browser. Forge layouts are included.
- Remove local records you no longer need. This does not delete contracts or move funds.
The project list holds up to 100 records and approximately 3 MB of serialized text. Imports create new records, recover settings and retain valid addresses as references. They do not restore a trusted executable transaction session; review the imported settings and prepare a fresh blueprint.
Export your project backup and retain deployment records and position IDs. Browser data can be cleared, blocked or lost in private browsing. A project backup does not contain or replace a Council identity backup.
Moving to a new website address
Browser storage belongs to each website address. Before moving, export your projects from the previous address and import the JSON backup here. Earlier project and encrypted Council identity backups remain supported. Keep your identity password, deployment records and position IDs separately; they are not moved automatically. Existing contracts and balances stay on Ethereum.
Open My projects12 / LIQUIDITY
Give a pool assets to trade.
The Liquidity desk manages compatible IMDNOVA pools on Ethereum with native ETH and a supported 18-decimal IMDNOVA token. It checks the included token and hook templates, the pool and the connected wallet’s position ownership. These checks identify supported code; they are not an independent audit.
Create or add to a position
- Connect your wallet on Ethereum and load the IMDNOVA hook address.
- Enter the maximum ETH and token amounts you are willing to supply.
- Choose a slippage tolerance and calculate the deposit.
- Review the required token allowance and Permit2 permission.
- Review the deposit, then confirm in your wallet. Unused ETH is refunded by the transaction.
- Keep the position’s NFT ID. Use it to load the position again, including from another browser.
New positions cover the full supported price range. You can increase a position owned by the connected wallet. The current desk is not a manager for arbitrary external tokens or a general swap interface.
Withdraw and collect
Load your owned position to withdraw part or all of its liquidity, or collect available fees. A full withdrawal leaves an empty position NFT. The interface does not estimate fee earnings; a collection transaction may cost more in gas than the fees it collects.
Understand the permissions
The ERC-20 allowance to Permit2 is limited to an amount but does not expire automatically. The additional permission for PositionManager is amount-limited and expires after 30 minutes. Both can be revoked from the desk with separate wallet-reviewed transactions.
Deposit quotes expire after five minutes. Transactions use a 15-minute deadline. Slippage choices range from 0.1% to 5%; slippage is the permitted difference from the quoted amounts, not a promise against losses. Pending transactions are recorded to prevent duplicate submissions. Check or resolve a pending hash before starting another action.
Asset prices and your position’s composition can change. Providing liquidity can lose value compared with simply holding the assets; fees do not guarantee a profit. Review the amounts, permissions and contract code before confirming.
13 / WALLETS & COSTS
You decide what your wallet signs.
| Action | What it requires |
|---|---|
| Explore, configure, download, save locally | No AI subscription, API key or Ethereum transaction. |
| Run local simulation or create a vote proof | Your device’s processing power; no Ethereum gas. |
| Read a live contract or record | A connected Ethereum provider through the wallet; no transaction gas. |
| Deploy, attest, relay a vote, approve or revoke permissions | A wallet transaction and Ethereum gas. |
| Provide liquidity | Your assets, the required permissions and network gas. |
IMDNOVA currently targets Ethereum mainnet, chain ID 1. Use a browser with a compatible Ethereum wallet extension or your wallet’s browser. Embedded browsers may not expose a wallet. Connecting returns a public account address; transactions still require separate approval.
Fewer wallet steps
After the token and personal factory are deployed, a wallet supporting atomic grouped calls can combine hook deployment and pool initialization. Both actions must succeed. Wallet capabilities, including contract-creation support, determine whether this is available; other wallets use separate steps.
No gas sponsor is active. You pay network fees. The application has no AI usage fee or platform deployment fee. LP fees configured for a pool are separate from network gas.
Private keys and recovery phrases stay in your wallet. If you change the account or network, reconnect before continuing and check that the expected wallet is selected.
Check wallet capabilities14 / YOUR DATA
Know what stays here and what becomes public.
- Forge drafts & projects
- Stored in this browser. Exported backups contain configuration, layout and public addresses, not wallet secrets.
- Workshop progress
- Restored in the current tab where browser session storage remains available. Saving a project provides a separate local record.
- Liquidity records
- Position IDs and transaction history are kept locally. The assets and ownership themselves are recorded on Ethereum.
- Council identity
- The private identity is held in memory. A separately exported backup is password-encrypted with PBKDF2-SHA256 and AES-256-GCM.
- Archive files
- Fingerprints are computed locally; the selected files themselves are not uploaded by the Archive.
- Public Ethereum data
- Deployed contracts and parameters, transactions, attestations, ballot membership commitments, choices and tallies are public.
The application does not call an AI provider and does not require an OpenAI key. Fonts are requested from Google Fonts, with system fallbacks. Ethereum reads and submitted transactions go through the connected wallet’s provider. This site’s access is controlled by its owner; sharing a ballot address does not automatically grant access to the website.
15 / CURRENT SCOPE
What this version supports.
This guide describes the tools currently implemented. The world is an original narrative layer; its travelers are not autonomous trading agents.
- Contract creation uses the included fixed templates. Arbitrary custom Solidity, adaptive market-driven fees and automatic strategy execution are not offered.
- The app has no built-in staking rewards, buyback system, bridge, price oracle trading strategy or limit-order engine.
- The simulator starts a local test chain; it does not copy live Ethereum state.
- Projects do not sync between devices. Use exported backups.
- Hook rules cannot be attached to or substituted into an already initialized pool.
- The app does not promise exchange listing, public routing, liquidity, returns or recovery of lost secrets.
IMDNOVA has automated contract and integration checks, local browser experiments and reproducible contract bundles. These checks are not an independent security audit and do not establish that using real funds is risk-free. Review the source and deployment parameters for your use case.
16 / TROUBLESHOOTING
Find your way forward.
The blueprint will not build.
Read the validation message below the Forge canvas or in the Workshop. Common causes are a missing recipient, a fee above the cap, an invalid controller, a past launch time, identical opening and closing hours, or a zero trade limit. Correct the indicated field and try again.
A local swap fails.
Add sample liquidity first. Check the swap direction and units, maximum size, launch time and UTC window. Advance the local clock if appropriate. A rule rejecting a swap can be correct behavior. If you edited the blueprint, send it to the Lab again and start a fresh local experiment.
The browser cannot find my wallet.
Open the site in a browser where your Ethereum wallet is available, or in the wallet’s own browser. Select Ethereum mainnet and reconnect. You can still configure and download without connecting a wallet.
A download did not start.
Use the Save link shown after generating the file. Embedded browsers may not automatically save a download. Try a full browser if necessary.
A transaction is still pending.
Check its hash in your wallet or an Ethereum explorer. Use the Workshop refresh or Liquidity recovery controls. Do not assume a failed page update means the transaction failed. Reconnect the original account; resolve pending or replaced transactions before submitting another action.
I cannot see a saved project or position.
Projects are specific to this browser and site address. Import your project backup if you switched devices or cleared storage. For an on-chain position, load the correct hook and NFT ID with its owner wallet. Losing a local list does not itself erase an Ethereum position.
I lost my Council identity or password.
Restore the encrypted identity file with its original password. Without both, IMDNOVA cannot recover that identity. Creating a new one gives a different membership commitment and does not restore membership in an existing fixed ballot.
The Liquidity desk rejects a pool.
Check that the wallet is on Ethereum, the pool is initialized and the hook and token match the supported IMDNOVA templates. Imported addresses are only references until checked on-chain. The desk does not support every external pool.
The 3D world will not load.
The world requires JavaScript and WebGL. Reload after a graphics interruption, or use a browser with WebGL support. The Docs and tool pages are available directly from their navigation links.
17 / PLAIN ENGLISH
A few words worth knowing.
- Blueprint
- A reviewed set of settings and the contract template they select. It is not yet a deployed contract.
- ERC-20
- A standard interface that lets Ethereum wallets and applications work with a token.
- Hook
- A contract that adds behavior to a particular pool’s operations.
- Pool
- The market configuration and accounting where two assets can be exchanged.
- Liquidity / LP
- Assets made available for swaps. An LP is a liquidity provider.
- Position NFT
- The on-chain identifier representing a liquidity position and its owner.
- Gas
- The network fee paid to execute an Ethereum transaction.
- Allowance
- Permission for a contract to spend a limited amount of a token.
- Slippage
- The difference tolerated between quoted and executed amounts.
- Attestation / UID
- A signed statement and the unique identifier used to retrieve its record.
- Commitment / proof
- A public representation of a membership identity, and evidence that an eligible member performed an action without naming that identity.
- Immutable
- Fixed after deployment; the existing contract does not offer a way to edit it.
18 / UNDER THE SURFACE
Code you can inspect.
The interface is static HTML, CSS and JavaScript. Three.js renders the world; ethers connects wallet operations; EthereumJS runs the local EVM; Semaphore generates membership proofs. No AI backend is required.
The six included IMDNOVA contracts
IMDNOVAToken: fixed-supply ERC-20.-
IMDNOVAFactory: wallet-owned deployment factory. -
IMDNOVAHook: base fee, launch and activity behavior. -
IMDNOVADecayHook: immutable decreasing fee schedule. -
IMDNOVARulesHook: composable size limits, daily windows and directional fees. -
IMDNOVABallot: immutable community ballot with Semaphore proof verification.
IMDNOVA hook permission bits are 0x20c0. The Workshop
uses a local CREATE2 address search to match those permissions.
Hook constructor values depend on the deployed token and
initializing wallet; retain the final deployment record.
Configured Ethereum addresses · chain ID 1
These are the addresses configured in this version of the app. Your new token and hook have their own addresses after deployment.
- Uniswap v4 PoolManager
0x000000000004444c5dc75cB358380D2e3dE08A90- PositionManager
0xbd216513d74c8cf14cf4747e6aaa6420ff64ee9e- StateView
0x7ffe42c4a5deea5b0fec41c94c136cf115597227- Permit2
0x000000000022D473030F116dDEE9F6B43aC78BA3- Ethereum Attestation Service
0xA1207F3BBa224E2c9c3c6D5aF63D0eb1582Ce587- EAS SchemaRegistry
0xA7b39296258348C78294F95B872b282326A97BDF- SemaphoreVerifier
0x4DeC9E3784EcC1eE002001BfE91deEf4A48931f8
Source and licenses
Download application source and dependency source from the same version. The application bundle includes build instructions and pinned dependency versions. Original component notices and Solidity license headers remain applicable. The frontend distribution is GPL-3.0; original IMDNOVA Solidity templates retain MIT licensing.
For a particular blueprint, download its contract ZIP from Forge or Workshop. Use the included Standard JSON input and Solidity 0.8.26 to reproduce the bytecode. Keep the constructor arguments from the deployment record for explorer verification.