The permanent name service for Igra
INS gives every wallet, contract and community on the Igra Network a human-readable .igra identity. Pay once in native iKAS, own forever. No renewals, no squatters’ auctions, no rent-seeking.
Forever names
No expiry. The registry has no renewal function — ever.
On-chain art
Every INS name is a Base64 SVG NFT with the correct TLD suffix baked into the artwork. No IPFS pins, no dead links.
Multisig-owned
Admin surface sits behind an Igra Safe multisig.
Partners
The teams building alongside us. More coming as wallet & explorer integrations land.
Why forever?
ENS charges annual rent and auctions names after a grace period — names can expire and you can lose your identity. KNS on Kaspa inscribes names as Kasplex L1 tokens, permanent but L1-only and not natively composable with EVM dApps.
INS takes the best of both: pay once in native iKAS, own forever, and plug straight into every Igra EVM contract. The registry does not implement an expiry function. Once you hold the NFT, it’s yours until you choose to sell it.
- annual rent, denominated in USD
- 90-day grace period then auction
- miss a renewal → lose your identity
- zero renewal fees — no function to charge them
- no expiry, no grace period, no auction
- your name is yours until you sell it
How the pricing works
Two tiers per name length. Pick Forever at registration to lock the name in for life with no renewals; the cheaper Annual tier launches with V2 (this quarter). Today every mint is Forever — V1 holders are grandfathered into V2 Forever for gas only.
- · All prices in native iKAS, paid once at registration (Forever) or per year (Annual).
- · Annual names get a 30-day grace period after expiry before re-entering the public registry.
- · Annual → Forever upgrade available any time at the price difference.
- · Marketplace: 2% seller fee on resale, 0% buyer fee. Hard cap 5% — even a compromised owner key can never extract more.
The stack
Registry + Resolver + Marketplace
Solidity 0.8.24 · Foundry · 170 tests across 5 suites (incl. 7 fuzz tests at 1024 runs each) covering Registry / Resolver / Marketplace / Subnames. Each contract deployed atomically with ownership transferred to the treasury Safe in the same broadcast — deployer EOA never retained control.
Frontend
Next.js 15 · React 19 · wagmi 2 + RainbowKit 2 · viem 2. Kaspa-native wallets (KasWare, Kastle) sit first-class alongside MetaMask, Rabby and WalletConnect.
Chain
Igra Network (chain 38833) · EVM L2 secured by Kaspa BlockDAG. Native gas token is iKAS, same as the registration currency.
AI suggestions
Anthropic Claude Haiku 4.5 powers the name-ideation endpoint at /api/suggest. No key ever leaves the server.
Contracts
Everything is verifiable on-chain. Click to view on the Igra explorer.
Legacy contracts (paused) — .ins + .ikas
Earlier this year we shipped sister TLDs .ins and .ikas. Their Registries + ReverseResolvers remain on chain forever (existing holders’ NFTs are permanent, by design), but their Marketplaces are paused and the platform now focuses on .igra as the canonical Igra TLD. Holders can transfer / setPrimary their legacy names directly via the contracts below.
Roadmap
- ✓Mainnet launch.igra Registry + Resolver live on Igra, on-chain SVG art, Safe-owned admin surface.
- ✓Kaspa-native walletsKasWare + Kastle first-class alongside MetaMask, Rabby, WalletConnect.
- ✓Reverse resolutionprimaryName(address) so block explorers, bots and dApps can render a name next to an address.
- ✓Zero-custody marketplaceFixed-price listings, 2% seller fee + 1% optional featured promotion. Buyer pays 0%. NFT stays in the seller's wallet until the moment of sale.
- ✓Live activity feed@insdomainsbot in the INS Telegram posts every mint, listing, and sale in real time so the community sees activity happen.
- ✓Public REST API + integration docsFree, no-auth REST API at /api/* + INTEGRATION.md guide for wallet/explorer devs. One fetch() resolves any name → address.
- ✓V2 — dual registration model (1-year + Forever)V2 Registry live since 2026-05-02. Forever (pay once) or Annual (1-year renewable, 30-day grace) at registration. V1 holders get the new Forever tier grandfathered for gas only via claimV1Forever. 273 Foundry tests passing across V1 + V2.
- ·Emoji & Unicode names (Punycode now · one-click UX next)The Registry already accepts Punycode-encoded names (xn--ls8h.igra renders as 🦄.igra in IDN-aware wallets) — the same standard ENS uses. What's still to come: a first-class dApp flow to type an emoji and see it render (today raw emoji input is stripped and we show the xn-- form), plus confusable/homograph protection and reserved popular-emoji slots for a fair launch.
- ✓Igra DAO partnership — ready, awaiting multisigTreasurySplitter contract is built, audited, and tested (41 tests + 4 fuzz × 256 runs). Routes 20% of every INS revenue withdrawal directly to the Igra DAO multisig, atomically, on every flush. Activation is 1 forge command + 1 env var the moment Igra hands over their multisig address; the rest of the path (Safe ownership, Ownable2Step admin, send-order hardening) is already in place. Spec at docs/TREASURY_SPLITTER.md.
- ·Subnames (code complete · activates v2.1)Free child names under any .igra parent — pay.alice.igra, vault.alice.igra, etc. SubnameExtension V2 deployed at 0x7E10…f280 with enabled=false on chain. Activation planned ~3-4 weeks post-V2-launch once root registrations stabilise (single Safe setEnabled(true) call to flip on). Full design at docs/SUBNAMES.md.
- ·Cross-chain reverse resolutionExplorer + wallet integrations to render .igra names natively across Kaspa L1 + Igra L2 + other EVMs that bridge to Igra. First wallets land via the public REST API.
- ·.eth interop (CCIP-Read gateway)Resolver is namehash-compatible with ENS, so a CCIP-Read gateway lets .eth-aware wallets resolve .igra names natively + lets users link their alice.igra → alice.eth profiles. Coordinated rollout with the ENS team.
- ·Renounce admin on parameter knobsOnce tier pricing + marketplace fees prove out, renounce the admin ability to change them. The Safe keeps emergency pause; the rest becomes immutable.