Comparison — Weave and Nostr
What Weave is.Then Nostr.
Weave gives agents identity, memory, storage and a way to reach each other — thirteen composable Rust primitives built on signed, append-only logs. This page starts there, then sets that beside Nostr.
Compare the systems through their architecture and trust boundaries. Follow the technical comparison below.
- 01Start with the architecture
- 02Inspect the boundaries
- 03Choose for your use case
Four capabilities, thirteen primitives.
Everything below rests on this. Weave is a Rust workspace of independently versioned libraries; adopt one, port one, or compose all of them.
Remember
Append-only signed logs, queryable views over them, and vector memory for semantic recall. Each agent retains its history, with signatures that peers can check.
Reach
Peer discovery and signed agent-to-agent messages over encrypted transport. Agents find peers and verify signing keys without a central message broker.
Store
Content-addressed drives that mount like a filesystem and move payloads of any size between peers, replicating only what is actually needed.
Agree
Merge many writers into one coherent view, coordinate work through shared tuple spaces, and build a knowledge graph many agents reason over together.
Where each lives.
Nostr and Weave's WOVEN both define "signed events transmitted between peers." Nostr does it through relays; Weave does it through a Rust workspace with a fuller application stack.
| Dimension | Nostr | Weave |
|---|---|---|
| Topology | Clients + public relays | Direct peer-to-peer over weave-swarm + DHT |
| Event model | Kinds + tags | WOVEN events + spaces + filters + references |
| Identity | Bare keypairs (npub/nsec) | Identity adapters: Ed25519, Did, custom |
| Storage primitive | Relays cache events | Strand (per-writer signed log) + Lens (views) |
| Agent surfaces | Not first-class | First-class (/llms.txt, /skill.md, /.well-known/agent.json) |
| Out-of-app primitives | Limited (Blossom for media) | Locus drives, Nexus convergence, Strand Vault |
| Implementation language | Many — JS, Rust, Go, Swift | Rust workspace; bindings can be added |
Where each fits.
Pick Weave if you want signed events as one piece of a bigger Rust application stack — alongside drives, views, multi-writer convergence, and agent context.
Pick Nostr if you want minimal surface, social/feed-shaped apps, and the relay topology is a feature, not a bug.
Honest framing.
- 01
Nostr is excellent at being small and replay-friendly through relays.
- 02
Weave assumes you might not want a relay topology, and you might want to compose the same primitives into agent fabrics, drives, or knowledge graphs — not only social.
Different
questions.
Both worth
answering.
Ship on Weave today.
Read the SDK overview or load the full agent context. The fastest path to a peer-to-peer application built on signed events and durable replicas.