Stroma and Acorn
Summary
Stroma is the Nostr wire-format layer beneath Acorn. Acorn remains responsible for keys, funds, records, recovery, continuity, and the meaning of its event kinds.
Acorn says: "This kind 7375 event represents wallet proof state."
Stroma says: "This event is correctly encoded, signed, encrypted, and exchanged."
Why separate the components
Acorn previously inherited a broad Nostr dependency and then added local changes for NIP-44 payload handling, NIP-59 timestamps, gift-wrap kinds, expiration, and relay behavior. Stroma turns that accumulated protocol experience into a narrow, independently tested boundary.
This creates three benefits:
- Acorn can evolve its wallet and record model without changing the transport implementation.
- Nostr protocol behavior can be tested against published vectors without constructing a wallet.
- Other Safebox-family components can use the same wire mechanics without importing Acorn semantics.
Migration approach
Migration will be incremental:
- establish interoperability fixtures;
- migrate NIP-44 storage encryption;
- migrate NIP-59 gift wrapping;
- migrate events, keys, signers, and NIP-19;
- migrate relay operations in small groups;
- run the complete Acorn unit and live relay-suitability suites;
- remove the old dependency only when no compatibility paths remain.
Relay behavior is the highest-risk part of the migration because it affects timeouts, acknowledgements, read-after-write checks, EOSE processing, and async cleanup.