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.

Chain · L2 home of INS
Wallet · Native .igra resolution + L1/L2 support
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 — LIVEType any emoji (🔥, 🚀, 💎) or ZWJ family (👨👩👧👦) or flag (🇺🇸) and it just works — dApp normalizes via ENSIP-15 (the same standard ENS uses, Unicode 17.0 + CLDR 47), Punycode-encodes for the chain, and beautifies it back for display. Confusable/homograph attacks blocked end-to-end (Cyrillic а look-alike, mixed-script, bidi controls, zero-width invisibles all rejected). Same shape across resolve / reverse / by-owner / recent in the REST API + NFT card renders via twemoji.
- ✓Igra DAO partnership — LIVETreasurySplitter deployed on Igra L2 mainnet at 0x6Da215700aca9F35714Dce20b0c09735d92282E2 — every future Registry / Marketplace withdrawal automatically routes 20% to the Igra DAO multisig (0x9087…A2c2) and 80% to the INS Treasury Safe. Permissionless flush(), Safe-owned admin via Ownable2Step. 41 tests + 4 fuzz × 256 runs all green. 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.