Low-latency AT Protocol interaction indexer.
20

Configure Feed

Select the types of activity you want to include in your feed.

Update README.md

Aly Raffauf (Jul 4, 2026, 12:33 PM EDT) 5a0c7dcd f4d7263a

+5 -3
+5 -3
README.md
··· 9 9 10 10 Asterism, meanwhile, consumes cryptographically verifiable events directly from the Firehose, and filters them by the collection of your choice. There's no Jetstream in the middle, meaning fewer moving parts. And while Asterism has significant bandwidth requirements, the filtered index is significantly smaller and scales with your application, not with the network. 11 11 12 - > **Early stage.** Functional but _very_ incomplete. APIs may change, backfill is rudimentary, and several features are not yet implemented. See [Roadmap](#roadmap). 12 + > **Early stage.** Functional but incomplete. APIs may change, backfill is rudimentary, and several features are not yet implemented. See [Roadmap](#roadmap). 13 13 14 14 ## What it does 15 15 16 16 Asterism connects directly to the relay Firehose (`com.atproto.sync.subscribeRepos`), decodes each repo commit's CAR-framed CBOR blocks itself, and recursively walks each record for link references (strong refs, AT-URIs, DIDs, URLs). Links are stored keyed by target, source collection, and field path. It can optionally backfill existing repos for your configured collections on startup so the index is useful immediately. 17 17 18 - This matters for two reasons: 18 + This matters for three reasons: 19 19 20 - **Sovereignty** — One fewer dependency and one fewer hop. You're reading straight from the relay, not downstream of someone else's stream processor. 20 + **Sovereignty** — No middlemen. Asterism reads straight from the relay Firehose, and doesn't rely on secondary processors like Jetstream. 21 + 22 + **Latency** — Fewer hops also means fresher data faster. Asterism reduces Constellation's Relay → Jetstream → Constellation to a single hop, Relay -> Asterism. 21 23 22 24 **Verifiability** — Firehose commits carry signed MST proofs; Jetstream strips them and re-serializes as plain JSON. Asterism verifies each record against its repo's signed commit instead of trusting an upstream re-encoding. 23 25