Architecture
A handful of contracts of ours, one chain, no proxies.
Chain
Ink mainnet, id 57073 — Kraken's Ethereum L2 — with one-second blocks. The quote asset is USDT0, 6 decimals, at 0x0200C29006150606B650577BBE7B6248F58470c1: Tether's omnichain dollar (USD₮0), the settlement asset of the perpetuals venue and the main trading pair on Ink. Verified sources are on Ink Explorer, the chain's Blockscout.
Contracts
Not deployed on Ink yet. This table is filled in, with the deployment block, when the contracts go live; until then, treat any address presented as Abyssal's on Ink as unverified.
| Address | What it does | |
|---|---|---|
MemeLauncherV3 | published at deployment | launches coins (launch, launchWithEth), opens their pool, performs the bond |
PermanentLockerV3 | published at deployment | holds every position NFT forever, books and pays fees |
LTFactory | published at deployment | lists the markets, deploys one vault + one NAV oracle per tracker, routes each to its venue market |
LtUsdt0LiquidityManager | published at deployment | keeps each tracker's USDT0 reference pool centred on NAV |
NavBatchRelay | published at deployment | posts the keeper's signed NAVs to every tracker's oracle in one transaction |
None of them is behind a proxy. What is deployed is what runs, and it cannot be swapped out from under you.
Canonical Uniswap V3 on Ink
| Address | |
|---|---|
UniswapV3Factory | 0x640887A9ba3A9C53Ed27D0F7e8246A4F933f3424 |
NonfungiblePositionManager | 0xC0836E5B058BBE22ae2266e1AC488A1A0fD8DCE8 |
SwapRouter02 | 0x177778F19E89dD1012BdBe603F144088A95C4B53 |
QuoterV2 | 0x96b572D2d880cf2Fa2563651BD23ADE6f5516652 |
Fee tiers enabled on this factory: 0.01%, 0.05%, 0.3% and 1%. A coin's pool uses the 1% tier; a tracker's USDT0 reference pool uses 0.05%; anything paid in ETH — the seed of launchWithEth, a buy or sell with ETH — goes through the WETH/USDT0 0.30% pool (0x356667DA30C89cC36c65D394500424d5Eba8731c), where Ink's WETH/USDT0 liquidity is.
The venue
The position behind a tracker lives on Nado, an order-book perpetuals exchange on the same chain. A tracker's vault is its own Nado account: it deposits into its own subaccount and links the keeper's key as that account's signer. The two venue contracts a vault calls are the Endpoint at 0x05ec92D78ED421f3D3Ada77FFdE167106565974E (deposits and on-chain requests: linking a signer, withdrawing) and, for reads, the Clearinghouse at 0xD218103918C19D0A10cf35300E4CfAfbD444c5fE (custody, account health, and the check that the venue settles in the same USDT0). Orders are matched by Nado's sequencer and settled on Ink. Those contracts are upgradeable by the venue, not by us; everything of ours is not.
The launcher is the registry
allCoins on the launcher contains exactly the coins it created, in order, and nothing else. The site's board reads it directly.
That has two consequences worth having. Coins from older stacks and abandoned experiments cannot appear at all — there is no deny-list to maintain and no way for a stale index to resurrect one. And a coin is listable in the block it launches, with no indexing lag between the transaction and the board.
What is immutable
| Total supply | 1,000,000,000, minted once in the constructor |
| Fee split | CREATOR_SHARE_BPS = 7000, a constant with no setter |
| Bond threshold | bondBackingUsd = 15,000 USDT0, immutable on the launcher |
| Seed floor | minSeedUsdt0 = 1 USDT0, immutable on the launcher |
| Leverage ceiling | MAX_LEVERAGE = 5, a constant on the factory |
| Protocol treasury | immutable on the locker |
| Creator of a coin | written at lock, no setter |
| The liquidity lock | absence of any withdrawal function |
Changing any of these means deploying new contracts at new addresses. There is no admin action that alters them in place, and no upgrade path that could.
What is not
The protocol owner can point the front at a different launcher, list or delist the markets the launch form offers (LTFactory.setUnderlying, with the leverage a position can hold on each market), and, on a tracker's vault, choose, rotate or revoke the keeper's key on the venue and pull the vault's collateral back from its account — the controls described in Risks & security. None of these reaches an existing coin: a coin already launched keeps its pool, its lock, its fee split and its creator whatever the site later decides to display or whatever happens to the keeper.
Reading it yourself
Every number this documentation states is a public call. Where a figure could change with a future deployment — the bond threshold, the seed floor, the fee split — the docs name the getter alongside the value, so you can check the live contract rather than a page that may have gone stale.
