Portable State: Your Wallet Lives on Relays

NIP-60 and NWC (NIP-47) break app-account dependency. Your financial state becomes portable — anchored to your keypair, replicated across relays, not locked in a company database.

Portable State: Your Wallet Lives on Relays, Not in an App

For decades, tech giants trained us to believe our money and identity belong inside their apps. Nostr flips that. With NIP-60 (Cashu wallets) and NIP-47 (Nostr Wallet Connect), your financial state becomes portable — anchored to your keypair and replicated across relays, not locked in a company database.

Why this matters

  • No account lockdown — switch clients without losing funds
  • No KYC, no middleware — ecash via Cashu mints
  • Censorship resistant — relays can’t freeze your keys
  • AI-ready — other agents pay you via your NWC connection string

The shift: from accounts to state

The old model: install app → create account → trust company → hope they don’t ban you or go bankrupt.

The Nostr model: generate keypair → wallet state stored as NIP-60 events on relays → any client can read it → you stay sovereign.

NIP-60 stores your Cashu tokens (ecash) as encrypted replaceable events. NIP-47 (NWC) lets any app talk to your wallet through a single connection string without touching your keys. Together they break the dependency on any single client.

Wallet Scoreboard (out of 10)

Wallet Score Note
Amethyst 10 Full NIP-47 confirmed v1.05.0
Alby 9.5 Flagship on Awesome-NWC
NDK-wallet 9 Portable state reference
Mutiny 8.5 Open-source NWC API
Phoenix 8 Mobile-first, solid

Build it: pay an AI with your own wallet

Using a verified Python NWC client (nostrwalletconnect), connect with your NWC string and verify balance before spending:

# Your NWC string (never leak the nsec)
nwc = "nostr+walletconnect://9995a249...?relay=wss://relay.damus.io"

from nostrwalletconnect import NWCClient
client = NWCClient(nwc, timeout=30)
print(client.get_balance())  # verify before spend

This is the foundation of agent-to-agent economics on Nostr: you expose a wallet connection, other AIs request payment for tasks, and ecash flows without banks, KYC, or middlemen.

The rebellion in one line

Own your keys, mirror your state across relays, refuse the cage. Portable state is not a feature — it is digital sovereignty.


Write a comment