Skip to content

Intermediate · 1 of 6

Get Your Human-Readable Identity

Set up NIP-05 for a professional, easy-to-share Nostr identifier like you@domain.com

10-15 minutes

What is NIP-05?

NIP-05 (Nostr Implementation Possibility #5) lets you have a human-readable identifier like you@domain.com instead of a long string of random characters.

The Problem It Solves

Before NIP-05

  • Follow: npub1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • "Hey, follow me! I'm npub1abc123…xyz789"

After NIP-05

  • Follow: alice@example.com
  • "Hey, follow me! I'm alice@example.com"
The same identity, in a form a human can actually repeat out loud.

What You Get

An address a person can pass on. “Find me at bob@nostrplebs.com” survives being said out loud at a gig, printed on a card, or read at the end of a podcast episode. It looks chosen rather than generated, most clients let people search for you by it, and many of them put a small check next to it. That check is worth understanding before you lean on it, and the Trust section below explains exactly what it does and does not prove.

But Remember…

⚠️ NIP-05 is optional. You can use Nostr perfectly well with just your npub.

The NIP-05 identifier is a convenience, not a requirement. Your npub is your real identity on Nostr.


Why Get a NIP-05?

Easier to Share

At a party:
"What's your Nostr?"

Without NIP-05:
"Uh... n-p-u-b-one-x-x-x... let me find it in my phone"

With NIP-05:
"Just alice@example.com"

Professional Appearance

  • Businesses: support@yourcompany.com
  • Creators: artist@yourdomain.com
  • Developers: dev@opensourceproject.com

Trust & Authenticity

Many clients show a ✓ badge for NIP-05 users:

Alice

alice@example.com

Bitcoin educator

A verified NIP-05 address shown the way most clients render it.

That badge proves less than it looks like it proves. All it says is that the domain in the address hands out that particular key for that particular name. Everything else depends on the domain. alice@alice.dev carries weight because Alice owns alice.dev and nobody else can publish anything there. alice@ an open free provider only means the name was unclaimed when somebody asked for it, and an impostor who signs up for alicee@ the same provider gets an identical check next to their name.

So the question to ask is which domain the badge points at. If you recognise the domain as the person’s own, the check confirms the key belongs to them. If the domain is one you have never heard of, the check tells you nothing about who is behind the account.

Do You Need One?

No. You can use Nostr perfectly fine without it.

But… it’s highly recommended if you’re:

  • Building a personal brand
  • Creating content
  • Running a business
  • Serious about Nostr long-term
  • Tired of reading 63-character strings

Not Centralization!

It is a fair worry. If your name lives on somebody else’s domain, have you handed them your identity? You have not. The address is a pointer; the npub is what people actually follow. You can hold several addresses at once, let one lapse, or move to your own domain later, and your followers stay where they are, because what they followed was the key. Lose the address altogether and you lose a convenience. Your account, your posts and your followers are untouched.


Free Options

Several services hand out NIP-05 addresses for nothing, which makes them a sensible place to start. You are borrowing someone else’s domain, so the address is theirs to withdraw, but nothing about your account depends on it.

NostrCheck

A free, community-run option that also gives you media hosting and a handful of other Nostr tools alongside the address.

How to get one:

  1. Visit nostrcheck.me
  2. Create account
  3. Set your NIP-05
  4. Verify your npub

Pros:

  • Free
  • Additional tools included

Other Free Providers

  • bitcoiner.social: Bitcoin-focused community
  • getalby.com: If you use Alby wallet
  • stacker.news: If you already post on Stacker News

NostrPlebs

One of the most popular paid NIP-05 providers. Pricing is based on username length and paid in Bitcoin satoshis (sats).

Cost:

Username LengthPrice (sats/year)
2 characters65,000 sats
3 characters45,000 sats
4 characters22,500 sats
5+ characters12,500 sats

Note: Some special names may have increased prices. Sats convert to whatever Bitcoin is worth today, so check a converter for the current figure. As this was written, 12,500 sats came to roughly ten dollars.

Domains Available:

  • nostrplebs.com - Basic membership
  • nostriches.net - Basic membership
  • nostr.fan - Basic membership
  • nostrich.zone - Basic membership
  • nostrpurple.com - Premium membership

What’s Included:

  • Human-readable NIP-05 identifier
  • Lightning Address support (receive sats to your identifier)
  • Email forwarding address
  • Access to Nostr Plebs relay
  • Verified checkmark badge in clients
  • Directory listing to help others find you

Setup:

  1. Visit nostrplebs.com
  2. Choose your preferred domain
  3. Enter your desired username
  4. Pay the Lightning invoice
  5. Add your npub via the management portal
  6. Done!

Other Providers

  • Primal - a verified @primal.net address is part of Primal’s paid Premium plan, convenient if Primal is already the app you post from
  • iris.to - registering a username there gives you name@iris.to; check the site for current terms

What you get:

  • Professional appearance
  • Better uptime guarantees
  • Support if issues arise
  • Often bundled with other services
MethodCostDifficultyControlBest For
Free Provider$0EasyLowBeginners
Paid Provider~$15/yrEasyMediumSerious Users
Self-hostedDomain costAdvancedHighTech-savvy

Using Your Own Domain

For complete control and professionalism, use your own domain.

Step 1: Buy a Domain

Any domain registrar works:

Cost: Usually $10-15/year

Owning the domain is only half of it. You also need somewhere that serves files for that domain, which in practice means the web hosting your site already runs on. Some site builders (Squarespace, Wix, Substack and similar) will not let you place a file in a folder named .well-known, and there is no way around it from inside their editor. If yours is one of those, take a free or paid provider instead; the address works exactly the same way for the people reading you.

Step 2: Create the nostr.json File

Host a file at https://yourdomain.com/.well-known/nostr.json:

{
  "names": {
    "alice": "b0635d6a9851d3aed0cd6c495b282167acf761729078d975fc341b22650b07b9"
  }
}

Your identifier becomes: alice@yourdomain.com

No DNS records are involved. NIP-05 verification is an ordinary HTTPS request to /.well-known/nostr.json. You do not need a TXT record, a CNAME, or any DNS entry beyond whatever already points your domain at your web host.

Two server settings decide whether web clients can read that file at all, and both fail quietly when they are wrong. The file has to be sent with the header Access-Control-Allow-Origin: *, which is what lets a client running in a browser read it; on most hosts this is one line of configuration, and support will add it for you if you ask in exactly those words. The address also has to answer for itself. If yourdomain.com bounces visitors to www.yourdomain.com, verification breaks, because clients are required to ignore redirects on this file. Whichever of the two you put in your NIP-05 address, that is the one that must serve the file directly.

Example Setup Walkthrough

Scenario: You own alice.dev

  1. Create the JSON file:
{
  "names": {
    "alice": "b0635d6a9851d3aed0cd6c495b282167acf761729078d975fc341b22650b07b9"
  }
}
  1. Upload to your server:
https://alice.dev/.well-known/nostr.json
  1. Verify it works: Open in browser: https://alice.dev/.well-known/nostr.json

  2. Add to your Nostr profile: In your client: Settings → Profile → NIP-05 → alice@alice.dev


Testing Your NIP-05

Check Your Identifier

Use our tool below or visit your identifier URL:

NIP-05 Checker

Verify NIP-05 identifiers (like user@domain.com). These provide human-readable names on Nostr.

In Your Client

Most clients show NIP-05 status:

Damus/Amethyst:

  • Settings → Profile → NIP-05 field
  • Shows ✓ when set up correctly

Primal:

  • Profile shows NIP-05 badge
  • Click badge to see details

Troubleshooting Common Issues

Start with the checker above. Paste you@yourdomain.com into it and it will tell you what a client sees when it looks you up. The lists below cover what to do about the answers it gives.

“NIP-05 not working”

  • Check the key format first. nostr.json must contain your public key in lowercase hex: 64 characters, no npub1 prefix. An npub here is the single most common cause of a NIP-05 that never verifies.
  • Ensure the JSON is valid (use a JSON validator)
  • Check that the file is accessible at the exact URL

“File not found”

  • Make sure .well-known folder is created
  • Check your server serves hidden directories
  • Verify the path: /.well-known/nostr.json

“Domain not resolving”

  • DNS changes can take up to 24 hours
  • Clear your DNS cache
  • Optional, if you are comfortable at a terminal: dig yourdomain.com shows whether the name resolves yet

“Client doesn’t recognize it”

  • Some clients cache NIP-05 lookup results
  • Try logging out and back in
  • Wait a few minutes for propagation

“Verification Failed” Error

Possible causes:

  1. JSON syntax error - Check for missing quotes or commas
  2. Wrong file location - Must be at /.well-known/nostr.json
  3. Caching - Wait 10-15 minutes and retry
  4. HTTPS required - Must be served over HTTPS
  5. Missing CORS header - Without Access-Control-Allow-Origin: * on that file, clients running in a browser cannot read it, even though the file opens fine for you
  6. A redirect in the way - If the address bounces from yourdomain.com to www.yourdomain.com or the other way round, clients ignore the redirect and give up

Fix:

  • Validate JSON at jsonlint.com
  • Check file is at exact path
  • Clear client cache
  • Ensure SSL certificate is valid
  • Ask your host to send Access-Control-Allow-Origin: * for that file
  • Put the hostname that serves the file without redirecting into your NIP-05 address

“Not Found” Error

Possible causes:

  1. File not uploaded to correct location
  2. Server blocks dot-directories
  3. Wrong domain

Fix:

  • Verify file exists at exact URL
  • Check .htaccess or server config allows dot-directories
  • Confirm you’re using correct domain

Provider-Specific Issues

NostrPlebs:

  • Log into the management portal and check that the npub saved there matches yours exactly
  • Ensure npub is correct (not nsec!)
  • Contact support if stuck

Self-hosted:

  • Run the checker above; it tells you whether the file is reachable and whether the key inside it is yours
  • Ensure file permissions allow reading
  • Check your server logs for errors, if you have access to them

Advanced Tips

Multiple Identities

You can have multiple NIP-05 addresses:

personal@yourdomain.com
work@yourdomain.com
blog@yourdomain.com

All point to the same npub, or different ones.

Subdomains

Use subdomains for organization:

alice@team.yourdomain.com
alice@community.yourdomain.com

Hosting Multiple Users

You can host multiple NIP-05 identifiers on one domain:

{
  "names": {
    "alice": "b0635d6a9851d3aed0cd6c495b282167acf761729078d975fc341b22650b07b9",
    "bob": "3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d",
    "carol": "82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2"
  }
}

Verifying Your Setup

Method 1: Your Client

  1. Add the NIP-05 to your profile
  2. Save changes
  3. Look for a checkmark ✓ or “verified” badge
  4. May take a few minutes to propagate

Method 2: Nostr Explorer

  1. Open njump.me/yourname@yourdomain.com in a browser
  2. If your profile comes up, your NIP-05 resolves to your key

Method 3: Direct Test (Command Line, optional)

curl https://yourdomain.com/.well-known/nostr.json

What Success Looks Like:

  • ✅ Client shows verification badge
  • ✅ Others can find you by your NIP-05
  • ✅ Your profile displays your human-readable name

Privacy Considerations

A NIP-05 address ties your key to a domain, and a domain is something anyone can look up. If it is registered in your own name, or the site sitting on it already carries your bio and your photographs, the address quietly connects a pseudonymous account to the rest of your life. Sometimes that is the whole point. When it is not, keep the pseudonymous account on a free provider’s domain and save your own domain for the work you are happy to put your name to.


Test Your NIP-05 Knowledge

Think you understand NIP-05? Take the quiz:

NIP-05 Identity Quiz

NIP-05 Purpose

Question 1 of 5

0/5 answered

What does NIP-05 provide?
P0 Critical

Resources


Keep reading

Improve this page Spotted a typo or something unclear? Edit this guide on GitHub.
Follow us on Nostr