The INS Snap turns alice.igra into a wallet address right in the send field โ no copy-paste, no extension switching, no .eth name required. Forward and reverse resolution both work out of the box.
Igra Name Service (INS) is the canonical name service for Igra Network — an EVM-equivalent L2 (chain ID 38833) built on top of the Kaspa BlockDAG. INS lets you register a permanent, on-chain .igra name and use it as your wallet identity across every Kaspa-compatible app.
~150 names registered. V2 Registry deployed + verified at 0x451D…5f2A. Mainnet live since April 2026. Builder: @GoonBoyCrypto. Public REST API at /api/resolve — same API this Snap calls.
REQUIRES TODAY MetaMask Flask โ the developer build of MetaMask that runs side-by-side with regular MetaMask in the same browser.
Type alice.igra in any send field โ MetaMask resolves it to the linked wallet address. Works the same as ENS does for .eth names.
Paste any wallet โ if the holder has set a primary .igra name, MetaMask shows it instead of the long 0x… address.
Ethereum Mainnet (or Igra L2 if you have it configured)igranetwork.igra โ Igra Labs official handleinsdomains.igra โ the INS team walletclaudeai.igraINS Snap requests the absolute minimum permissions needed for name lookup. It cannot sign transactions, access your keys, or read other dapp data.
| endowment:name-lookup | Required — how MetaMask invokes the snap when you type a name |
| endowment:network-access | Only calls insdomains.org/api/resolve and /api/reverse |
| Key access | None — the snap never sees or requests any private material |
| Persistent storage | None — nothing is cached client-side |
| Bundle size | 1.3 KB minified |
| Source | github.com/ItsGoonBoyCrypto/INSdomains/tree/main/snap |
| Threat model | SECURITY.md |
| Privacy | No tracking, no telemetry, no account — see /privacy |
Trigger snap install from your own dapp with a single request:
await window.ethereum.request({
method: 'wallet_requestSnaps',
params: { 'npm:ins-snap-resolver': {} },
});
Prefer pure REST? Hit insdomains.org/api/resolve directly — no snap install required. Full API reference at docs/API.md.
MetaMask Flask is MetaMask’s developer build, which lets you install Snaps directly from npm. Regular MetaMask only loads Snaps that are on the official MetaMask Snap Directory. We have submitted INS Snap for review โ once approved (typical: 5–14 days), it’ll install one-click in regular MetaMask too. Flask is completely free, installs in 30 seconds, and runs side-by-side with regular MetaMask in your browser.
As soon as the MetaMask team approves our directory submission. We’re pushing this as our top priority and will update the status badge at the top of this page the moment it goes live. Want a heads-up? Follow @IgraNameService on X.
No. The snap doesn’t request any key-management permissions (snap_getBip32Entropy, snap_manageAccounts, etc.). It only receives the domain string you type, calls our public REST API, and returns the resolved address. MetaMask never exposes keys to it.
The snap fails closed — you’ll see the raw input you typed (e.g. alice.igra) instead of an address, and MetaMask will block sending until you paste a real address. The snap can never substitute a wrong address.
No. INS Snap is independent of ENS. It resolves .igra names directly via the INS registry on Igra L2. We do also have an ENS CCIP-Read resolver in the works for *.insdomains.eth, but the snap path needs nothing on Ethereum at all.
Ethereum Mainnet (eip155:1) and Igra L2 (eip155:38833). The same .igra name resolves to the same address on both chains. Add more by extending the chains array in snap.manifest.json.
Open an issue at github.com/ItsGoonBoyCrypto/INSdomains/issues, DM @GoonBoyCrypto on X, or email GoonBoyCrypto@gmail.com.
The complete Knowledge Base for the Snap — install, use, troubleshoot, uninstall, hardware-wallet notes, glossary — lives at insdomains.org/snap-help.