Login with Nostr
Developer Hub · MIT & fair-code · Dogfooded in production

Build on Nostr

One family of libraries for putting Nostr into real software, from a login button to a fully AI agent. A self-contained stack: every layer is ours, from the secp256k1 primitives up, minimal dependencies, no lock-in.

20published packages
11TypeScript libraries
9AI-agent skills
MIT+ fair-code
I have a website

Add a login button

Passwordless Nostr auth in two lines. No backend, no OAuth, no password database.

Login with Nostr →
I'm building an app

TypeScript & Node

Sign events, manage keys and seed phrases, talk to relays, verify NIP-05. Fully typed, ESM + CJS.

Browse the libraries →
I'm building an agent

Python agentic skills

Give your AI its own identity, Lightning wallet, calendar, memory, and social graph, on whatever platform you run.

Browse the skills →
TypeScript · npm

Libraries for apps & relays

Eleven published TypeScript libraries. Noble-based cryptography, dual ESM/CommonJS, fully typed. nostr-crypto-utils is the kernel every other library and the login button build on. Start there.

PackageStandardsInstallLinks
nostr-crypto-utils0.9.3kernel Core cryptographic primitives, keys, signing, encryption, encoding. Everything else depends on it.
BIP-340NIP-01NIP-04NIP-19NIP-44NIP-46NIP-49NIP-98
npm i nostr-crypto-utils
nostr-agentic-identity0.1.1standard What an agentic identity is, six elements, one act-outward gate, zero dependencies. A definition, not a framework.
NIP-01NIP-05NIP-19
npm i nostr-agentic-identity
nostr-zpub-utils0.1.1standard Where value reaches an entity. BIP-84 BTC/LTC receiving keys derived from a Nostr identity root. Seed-side only; the chain is never guessed.
NIP-06BIP-84SLIP-132
npm i nostr-zpub-utils
nostr-business-manifest0.1.2standard What a business entity is, build, sign and verify the bpub-business/0.1 manifest (the format name, not a bech32 prefix). Refuses to embed raw extended keys. Code: fair-code; schema: CC BY 4.0.
NIP-01NIP-05NIP-78
npm i nostr-business-manifest
nostr-nsec-seedphrase0.8.0 BIP-39 seed phrases and full key management. Derive, back up, and restore Nostr identities.
NIP-01NIP-06NIP-19NIP-26
npm i nostr-nsec-seedphrase
nostr-auth-middleware0.6.0 Security-first authentication middleware with challenge-binding. Drop it into your Node backend.
NIP-07NIP-46
npm i nostr-auth-middleware
nostr-websocket-utils0.5.0 Resilient relay WebSockets, auto-reconnect, heartbeat, channels, and a message queue.
NIP-01
npm i nostr-websocket-utils
nostr-dm-magiclink-utils0.4.0 Passwordless magic-link auth over encrypted Nostr DMs. Multi-relay, i18n-ready.
NIP-01NIP-04
npm i nostr-dm-magiclink-utils
nostr-biometric-auth-utils0.2.2 WebAuthn scaffolding for Nostr: Face ID / Touch ID / passkey flows. Early work, API still taking shape.
WebAuthn
npm i nostr-biometric-auth-utils
nostr-metadata-utils0.2.2 NIP-05 identifier verification and badge metadata generation.
NIP-05
npm i nostr-metadata-utils
node-red-contrib-nostr0.3.0 Node-RED nodes for no-code Nostr flows, publish, subscribe, filter, and route by npub.
NIP-01Node-RED
npm i node-red-contrib-nostr

⚡ 30-second start

import { generateKeyPair, finalizeEvent } from 'nostr-crypto-utils'; const keys = await generateKeyPair(); const event = await finalizeEvent({ kind: 1, content: 'Hello, Nostr', }, keys.privateKey); // finalizeEvent fills in pubkey, created_at and tags, // then signs. event.sig is a valid BIP-340 signature.

🔑 Seed phrase backup

import { generateSeedPhrase, seedPhraseToKeyPair } from 'nostr-nsec-seedphrase'; const phrase = generateSeedPhrase(); // 12 words const keys = seedPhraseToKeyPair(phrase); // NIP-06 path: m/44'/1237'/0'/0/0 // Same phrase → same keys, forever.
Python · agentic skills

Skills for AI agents

These aren't a grab-bag. Each skill is a pillar of a AI agent, the faculties an autonomous agent needs to act, transact, plan, remember, and relate on an open network. Install what you need; wire them together with the orchestrator.

Underneath each skill is an ordinary Python library with no runtime dependency on any agent platform. What differs between platforms is the wrapper: the manifest, the tool registration, the handler signatures, not the capability, the cryptography, or your agent's npub.

🔧 However your platform adds skills, do that. Running OpenClaw? Install from ClawHub, the link on every row below. Running Hermes Agent? Use hermes plugins install against the HA repos. Building on something else? pip install the library and call it directly, it doesn't depend on any agent framework. Different wrappers, one core: same crypto, same wire format, same npub. An agent that changes runtimes keeps its identity.
🔑

Identity

nostrkey · nostr-profile

Its own keypair. Sign events, encrypt data, publish a profile.

Finance

nostrwalletconnect

A Lightning wallet. Pay and create invoices over NIP-47.

📅

Time

nostrcalendar

Read availability, book meetings, negotiate times over relay.

🤝

Relationships

nostrsocial

A social graph with trust tiers and identity verification.

🧠

Perception

sense-memory · sense-music

Encrypted long-term memory, and audio turned into structured sense.

🌐 nse-orchestrator is the nervous system, it wires identity, wallet, calendar, relationships, and perception into one coherent agent. Reach for it when your agent needs to be more than the sum of its skills. pip install nse-orchestrator
SkillPillarInstallLinks
nostrkey0.3.5 Nostr identity for AI agents, generate keys, sign events, encrypt data, run a NIP-46 bunker. identity pip install nostrkey
nostr-profile0.2.2 Kind-0 profile management, publish, read, and update your agent's metadata. identity pip install nostr-profile
nostrwalletconnect0.2.1 Nostr Wallet Connect (NIP-47), pay invoices, check balance, create invoices. finance pip install nostrwalletconnect
nostrcalendar0.2.5 Nostr-native scheduling. Read availability, book meetings, negotiate times over relay. time pip install nostrcalendar
nostrsocial0.1.4 Social graph manager, contacts, trust tiers, and identity verification over Nostr. relationships pip install nostrsocial
sense-memory0.3.1 Portable persistence, encrypted long-term memories stored on Nostr relays. perception pip install sense-memory
sense-music0.3.1 Turn audio into structured analysis and annotated visualizations for AI perception. perception pip install sense-music
social-card0.2.1 Generate beautiful social card images (OG, Twitter, GitHub) with a builder API. tool pip install social-card
nse-orchestrator0.2.3 The orchestrator, wires identity, wallet, calendar, relationships, and alignment into one agent. orchestrator pip install nse-orchestrator

🤖 Give your agent an identity

from nostrkey import Identity bot = Identity.generate() event = bot.sign_event( kind=1, content="Hello from an AI", ) # The bot owns its own keys. No human in the loop.

⚡ ...and a wallet

from nostrwalletconnect import NWCClient async with NWCClient("nostr+walletconnect://...") as wallet: await wallet.pay_invoice("lnbc...") balance = (await wallet.get_balance()).balance # msats # Your agent can now transact on its own.
Adjacent work

Beyond the core family

Related packages that live on their own sites, plus what is still in the workshop. We do not advertise an install command until the package is live.

nostr-secure-enclave 0.1.0

Hardware-backed key management. On iOS it uses the Secure Enclave, on Android the Keystore with StrongBox where available, wrapping the signing key rather than exposing it. Ships as core, server and browser builds. The browser build uses SubtleCrypto and is not hardware-backed. See nse.dev.

social-alignment 0.1.6

A deterministic five-lens pre-action compass for AI agents. Published on PyPI and documented at nse.dev.

nostrkey (Hermes plugin) soon

A Hermes Agent plugin giving your agent a Nostr identity: keypairs, signing, encrypt-to-disk, and gated key export with audit logging.

Everything's open source

MIT (business-manifest is fair-code), on GitHub, and driven by a single public registry. Star it, fork it, file an issue.