Nostr Is Infrastructure

At Imagine IF, I explained Nostr to a key-management expert and never mentioned social media. Here is what Nostr as infrastructure means, the building blocks (relays, Blossom, nsite, napps, napplets, ngit, GRASP, FIPS), and how they fit together.

Derek Ross

October 08, 2026 · 16 min read

On the first afternoon of Imagine IF in Nashville, I stood in a lobby with Jesse Posner and walked him through Nostr. Jesse knows keys better than almost anyone. He did FROST threshold signature work, he was lead engineer on Bitkey at Block, and he just gave a talk called "Imagine IF… you held the keys to everything." His company, Vora, is building Aegis, a private AI that runs on hardware you own.

We talked for a long time, and we never talked about social media. We talked about identity, remote signers, relays, file storage, websites, git, small apps, and a mesh network that uses Nostr keys as network addresses. All of it mapped onto a box like Aegis. By the end he was amazed at what Nostr does once you look past the social layer.

The next day I talked with Obi Nwosu, the CEO of Fedi. Obi told me Fedi uses Nostr as what I like to call invisible plumbing. He said that to him, Nostr was a "decentralized AWS" or a "decentralized Google Cloud". He said that's Nostr's strong point. That was the value proposition. I went and read Fedi's public code afterwards, because it has been a while, and he's right.

Two different founders over two days and they both had the same conclusion. Most people still think of Nostr as a Twitter alternative. The people building serious things on it think of it as infrastructure. This post is my attempt to explain what that means, what the pieces are, where to learn more or run them yourself, and how they fit together.

What "Nostr as infrastructure" means#

Nostr has three basic parts:

Social media is one thing you can build with those three parts. It happens to be the first thing everyone built. But keys, signed events and dumb interchangeable servers are a general-purpose stack. They give you:

That's what I mean by infrastructure. Nostr becomes the layer that says who you are, what you published, who's allowed to change it, and where to find it. Other systems do the heavy lifting underneath, and they all trust the same keys.

How Fedi uses it#

Fedi is a good example because it's a funded Bitcoin company and nobody using its app would ever know Nostr is involved.

Fedi's public Manifold repository is a protocol for forming Fedimint federations through a decentralized registry. Its architecture doc says it in one line: "Four protocol roles interact over Nostr (discovery/trust) and iroh (control plane); none of them requires a public IP, DNS name, or TLS certificate." (source)

Here's what runs over Nostr in that code:

If you translate that into cloud terms, the picture Obi described shows up:

None of it needs Fedi to run a central server for it to work. That's the decentralized AWS.

The building blocks#

These are the pieces I walked Jesse through. For each one: what it is, why it matters, and where to learn more or run your own. Some are finished standards. Some are proposals that people are already shipping. I'll say which is which.

Keys, identity and remote signers#

Your npub is your identity everywhere on Nostr. NIP-05 lets a domain vouch for a key, so derek@example.com can stand in for a long npub. Self-hosting it is one static JSON file at /.well-known/nostr.json on your domain.

The hard part of keys is keeping them safe while still using them. That's what remote signers are for. With NIP-46, your secret key lives in one place, the signer (often called a bunker), and apps ask it to sign. The app never sees the key. Requests travel over relays as encrypted events, and permissions can be scoped, so an app might only be allowed to sign one kind of event.

FROSTR goes further. It splits a key into shares across several devices, and any k of n of them can sign together. No single device ever holds the whole key, and the result is a normal Nostr signature that relays and clients can't tell apart from any other.

This is where Nostr gets interesting for AI. Block's Buzz, launched in July, gives every AI agent its own Nostr keypair, and a second signature ties each agent to the human who owns it. Agents with their own keys can sign, get paid and build a reputation without a platform issuing them API keys.

Relays#

A relay stores signed events and serves them. That's the whole job, and the simplicity is the point. Because the events carry their own signatures, the relay doesn't have to be trusted, only available.

Two things make relays work as infrastructure. NIP-65 lets every user publish a list of the relays they write to and read from, so clients know where to find you without a central directory. And NIP-86 gives relay operators a standard management API: ban and allow keys and events, roles, and as of this month, invite-code claims. That's what you need to run a relay for a company, a community or a family.

Blossom#

Blossom is file storage for Nostr. It's plain HTTP, with one twist: every file is addressed by the SHA-256 hash of its contents. You fetch a file with GET /<hash> from any server that has it, and you can check that you got the right bytes.

You publish your preferred Blossom servers as a Nostr event (kind 10063). If one server goes away, clients look up the same hash on your next server (NIP-B7). Uploads are authorized with a signed Nostr event, not an account, and servers can mirror each other's files.

So your images, videos, PDFs and app bundles aren't tied to one host. If the host disappears, the hash still points to the same file on the next server.

nsite#

An nsite is a static website stored on Nostr and Blossom. The files live on Blossom servers. A signed Nostr event, the manifest, maps each path (/index.html, /about/index.html) to a file hash. Any gateway can read the manifest, fetch the files and serve the site. Nobody can change it without your key. The spec is NIP-5A.

The gateway at nsite.lol says it hosts over 4,000 sites. You can deploy one in a couple of commands, and you can run your own gateway so your site doesn't depend on anyone else's.

napps and napplets#

These two names sound alike and get mixed up. I mixed them up myself while writing this. They're related, but they're different things.

A napp is a whole app. It's an nsite that also works as a Nostr app, plus a listing event with a name, icon, screenshots and categories, so app stores can show it. The website part is still a NIP-5A nsite; the napp spec only adds the listing and release notes on top. It's an open proposal, NIP-5B (PR #2282), and 44billion.net is an app store built on it.

A napplet is a small piece that runs inside another app. It's a single-purpose web app (a feed, a chat widget, a profile editor) that runs in a locked-down iframe inside a host app, called the shell. The napplet never touches your keys, storage or relays. It asks the shell, and the shell decides. One shell can combine many napplets into one experience. It's also an open proposal, NIP-5D (PR #2303), and the PR lists implementations in Amethyst, Grimoire, Myco and others.

Both are distributed as signed Nostr events pointing to files on Blossom, so you can verify them and anyone can host them.

ngit and GRASP#

NIP-34 puts a git project on Nostr. The repository announcement, the current branch state, patches, pull requests and issues are all signed events. The project belongs to the maintainers' keys, not to a forge.

ngit is the tool. It installs a git remote helper, so nostr:// URLs work with plain git clone, git push and git pull. Opening a pull request is pushing a branch that starts with pr/.

GRASP is the hosting side. A GRASP server is a git host and a Nostr relay at the same address. It doesn't need your account. It serves whatever your latest signed state event says your branches are. Announce several GRASP servers and they all carry your repo; if one goes down or drops you, the others don't care. Switching hosts means updating one event.

ngit v3 and the GRASP spec reached what the project called "graduation day" in September. ngit itself is developed this way at gitworkshop.dev.

FIPS#

FIPS, the Free Internetworking Peering System, is the one that surprised people most. It's a self-organizing, encrypted mesh network where every machine's address is its Nostr public key.

It runs as an overlay on the regular internet, or straight over WiFi, Ethernet or Bluetooth with no ISP and no DNS. Traffic is encrypted twice, once per hop and once end to end. Nostr relays are used, optionally, so nodes can find each other and get through NAT. On your machine, any normal program can reach a peer at <npub>.fips, so SSH and HTTP just work. It even runs on OpenWrt routers.

FIPS is early. The README says the protocol and APIs are not yet stable. It's also already running a public test mesh, and other projects are building on it. Myco is an Android app that shares nsites and napplets phone to phone over a FIPS mesh, tested fully in airplane mode.

How the pieces fit together#

Nostr is the control plane. FIPS is the data plane.

The control plane decides who you are, what's allowed and where things are. Nostr is good at that, because everything is a small signed event any relay can carry and anyone can verify. The data plane moves the heavy stuff: big files, video, model weights, live connections. That goes over Blossom for files and a direct link for traffic. Fedi uses iroh for that direct link. FIPS is a Nostr-native option, because its addresses are npubs.

Stack it up and you get:

Every layer trusts the same key. Every layer can be self-hosted, and every layer has more than one provider.

What people are doing with it#

Already running:

What could be built:

The honest part#

Some of this is mature and some isn't.

Solid today: keys, relays, NIP-65 relay lists, Blossom, nsite, NIP-46 remote signers and Nostr Wallet Connect. People run these in production every day.

Early: napps and napplets are still open proposals. GRASP and ngit just hit v3, which is a big step, but expect rough edges. FIPS says plainly that its protocol isn't stable yet. FROSTR is real and shipping, but setting it up still takes more care than a normal login.

The hard problems: key management is still the biggest one. Losing a key is still too easy and recovering one is still too hard, which is exactly why remote signers and FROSTR matter. Discovery is the other one. Finding the right relay, the right server or the right app without a central directory is solvable, but every app has to do it well. Web-of-trust calculations help here, because the same graph that tells you which people to trust can rank relays, servers and apps.

Where this goes#

Most of the conversation about Nostr is still about feeds and follower counts. The conversations I had at Imagine IF were about something bigger: Nostr as the layer that holds identity, permissions and discovery for everything else.

If you want to try it, pick one piece. Run a relay. Put a Blossom server behind your images. Publish your website as an nsite. Push a repo to a GRASP server. Each one takes an afternoon, and each one is one less thing you rent from someone else.

Social was just the first app built on Nostr. 💜🤙🏻🫂

#blossom#fips#infrastructure#ngit#nostr#nsite
0

Written by

The purple pill helps the orange pill go down. 🪺 NostrNests.com 🎙️ YakBak.app 🖼️ Zappix.app 🗓️ Plektos.app 🎶 ZapTrax.app 📈 Zaplytics.app 🎧 Podstr.org 📋 Nostrometer.com

derekross@nostr4.social

Comments0

No comments yet. Start the conversation.