INS Snap icon

Resolve .igra names natively in MetaMask

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.

About INS

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.

Install

REQUIRES TODAY  MetaMask Flask  โ€” the developer build of MetaMask that runs side-by-side with regular MetaMask in the same browser.

๐Ÿ“จ Submission filed with the MetaMask Snap Directory. Once approved (typical review: 5–14 days), this Snap will install one-click in regular MetaMask too — no Flask needed. Bookmark this page; we’ll flip the badge above to green the moment it lands.
scanning for wallet extensions via EIP-6963…

What it does

๐Ÿ“ค

Forward resolution

Type alice.igra in any send field โ†’ MetaMask resolves it to the linked wallet address. Works the same as ENS does for .eth names.

๐Ÿ“ฅ

Reverse resolution

Paste any wallet โ†’ if the holder has set a primary .igra name, MetaMask shows it instead of the long 0x… address.

Try it after installing

  1. Open MetaMask Flask
  2. Switch the network to Ethereum Mainnet (or Igra L2 if you have it configured)
  3. Click Send
  4. In the recipient field, type one of:
    • igranetwork.igra โ€” Igra Labs official handle
    • insdomains.igra โ€” the INS team wallet
    • claudeai.igra
  5. Flask should display the resolved address below the input within ~1 second

Security & permissions

INS Snap requests the absolute minimum permissions needed for name lookup. It cannot sign transactions, access your keys, or read other dapp data.

endowment:name-lookupRequired — how MetaMask invokes the snap when you type a name
endowment:network-accessOnly calls insdomains.org/api/resolve and /api/reverse
Key accessNone — the snap never sees or requests any private material
Persistent storageNone — nothing is cached client-side
Bundle size1.3 KB minified
Sourcegithub.com/ItsGoonBoyCrypto/INSdomains/tree/main/snap
Threat modelSECURITY.md
PrivacyNo tracking, no telemetry, no account — see /privacy

For wallet developers

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.

FAQ

Why does this require MetaMask Flask right now?

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.

When will INS Snap be in regular MetaMask?

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.

Will the snap ever see my private keys?

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.

What if your API goes down?

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.

Does this need a .eth name?

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.

Which chains does it work on?

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.

How do I report a bug or request a feature?

Open an issue at github.com/ItsGoonBoyCrypto/INSdomains/issues, DM @GoonBoyCrypto on X, or email GoonBoyCrypto@gmail.com.

Where’s the full help center?

The complete Knowledge Base for the Snap — install, use, troubleshoot, uninstall, hardware-wallet notes, glossary — lives at insdomains.org/snap-help.