composable nostr · bitcoin infrastructure
BitBlocks is a set of composable building blocks for apps that can't lock anyone in — no platform that owns your state, no account to close, no algorithm you can't swap. Each block does one thing, signs everything, and runs on open relays.
§ 01 — the premise
Every platform you use owns the four things that matter: your name, your feed, your money, and your right to be there.
Your identity is a row in someone's database. Your feed is an algorithm you can't read. Your payments run through a processor that can freeze them. Your account can be closed, and everything you built inside it goes with it. You are renting.
BitBlocks moves each of those to open ground: a key you hold, a feed recipe you write, money that settles cryptographically, and a presence no host can revoke. The apps become clients over public data — replaceable, forkable, unable to hold you hostage.
§ 02 — the blocks
Each block is small, opinionated, and independent. Use one, or snap them together — they were designed to compose, not to depend.
A portable Nostr identity — a familiar username and password unlock a key that's yours, backed by public relays with an independent recovery phrase. No account server, no password-reset email, no database. Any app already written for a NIP-07 signer works unchanged.
login.bitblocks.network →A policy engine with four independent dimensions — rank, show, interact, transact. You supply the policy; it supplies precedence, composition, and a readable explanation of every decision. Moderation and access control without writing the machinery.
gate.bitblocks.network →A headless feed engine. You write the algorithm as providers and a recipe; it sources, scores, mixes, orders, and explains — and contains no recommendation logic of its own. Swap the recipe, swap the feed. The algorithm is yours, and it's legible.
feed.bitblocks.network →Payment-verified delivery. Every required Lightning leg settles before an encrypted payload is released — re-encrypted to the buyer's own key. Sell digital goods, access, and capabilities in bitcoin, with cryptographic proof instead of a payment processor.
bitunlock.network →The capability network for agents — Agent Plugins published, curated, and installed over Nostr, by people and by the agents themselves. Every listing is a signed event; installs verify on your machine. Tessera is also the proof the stack composes: it's built from the other four.
tessera.bitblocks.network →§ 03 — how they compose
Read left to right, they answer the full lifecycle of a sovereign app. Any block can stand alone; together they interlock.
Tessera is the worked example. It signs users in with BitLogin, moderates with BitGate's four dimensions, ranks its feed with BitFeed-shaped recipes, and gates paid plugins through BitUnlock — a real application assembled entirely from the blocks. Nothing about it is special-cased; it's just a client over public events, which is the whole point.
§ 04 — what holds it together
Every action is a signed event. Provenance isn't a feature bolted on — it's the storage layer, verified on your device, not taken on a server's word.
State lives on open relays, not a platform database — any client can read it and no single operator controls it. Relay retention is best-effort, so keep your recovery export.
The feed, the policy, the trust graph, the price — all of it is data you write and swap. No opaque ranking, no locked-in rules.
Each block embeds in a plain static site. The code that decides anything about you runs on your side, where you can read it.
Value moves over Lightning and settles cryptographically. Payment is proof, not a promise from a processor that can reverse it.
Vendor-neutral format and distribution: fork any client, self-host any service. The network is the events, not the front door.
§ 05 — for builders
Every block is open and composable, with a dependency-free core and a static build. Start with the capability network — install its skill and let an agent search, publish, and install over Nostr — or embed a single block in a site you already have.