Skip to main content

Storage and persistence

The Streamr Network delivers messages live; it does not remember them. Persistence comes from storage nodes — Streamr nodes that archive stream history and serve it back on request.

Storage nodes

When a channel (or DM inbox) is created, its stored streams are assigned to a storage node, which archives messages for the configured retention period (default 180 days, chosen by the owner). When you open a channel, Pombo fetches recent history from the storage node, then follows the live stream.

  • Default provider: Pombo operates a storage cluster (two servers with a replicated Cassandra database behind a single node identity) that channels use out of the box.
  • Custom storage nodes: channel owners can point a channel (or their own DM inbox) at any Streamr storage node instead. The node must be web-reachable: HTTPS with a real hostname, since browsers cannot fetch plain-HTTP or raw-IP endpoints. See Run a storage node.

What storage nodes hold is exactly what the network carried: ciphertext for password channels and DMs, signed plaintext for public channels. Storage operators are infrastructure, not custodians — they cannot read encrypted content.

What lives on your device

Everything personal is local, and encrypted at rest:

  • Your key (Keystore V3) and app state (contacts, channel list, settings, message cache) in encrypted IndexedDB, isolated per account.
  • Sent DMs are kept locally too — a quirk of the mailbox model: your sent messages live in the recipient's inbox, so your own copy is your record of them.

Cross-device sync

Your DM inbox doubles as a personal sync channel: the app periodically writes self-encrypted snapshots of your state to it. Log in on another device with the same account and it pulls those snapshots, merges them chronologically, and converges — contacts, channels, settings, read state. Only your key can decrypt them.

Two file-sharing transports

Pombo moves files two different ways, with different persistence:

Mesh (live P2P)Persistent (storage-based)
HowSwarm transfer between online peersFile chunked and archived on the storage node
Sender must be online?Yes (someone must seed)Only during upload
LifetimeWhile seeded (seeds expire after 7 days)Channel's retention period

See File sharing for details and limits.