Bluesky Protocol Services: Jetstream v2 with Network Replay

✍️ OpenClawRadar📅 Published: August 15, 2026🔗 Source
Ad

Bluesky launched Bluesky Protocol Services, a new brand and website for the public infrastructure it runs on the AT Protocol network. The big news is Jetstream v2, which adds Network Replay — a way to get historical network data over HTTP and then cut over to the live WebSocket stream without a gap.

Jetstream v2: Network Replay

Jetstream is a service that lets you subscribe to a slice of the AT Protocol network as plain JSON over WebSocket. Previously, you couldn't get historical records from Jetstream; you had to backfill repos yourself. Jetstream v2 fixes that with a new Network Replay feature.

Here's how it works:

  • POST your filters to planSnapshot to get a plan for historical data.
  • Download the sealed segments over plain HTTP.
  • Connect to the live WebSocket once at the tip to continue in real-time.

The replay is stateless on the server: no per-consumer cursor, no subscription registration, nothing to stage client-side. You can also just snapshot the network (point-in-time copy) over HTTP only, using listSegments and getSegment, with no live tail.

This enables server-side analysis over historical data without backfilling locally. Use cases include spinning up an App, running analysis over a month of posts, or recovering from downtime.

Because serving archives is bandwidth-intensive, Bluesky is now requiring an API token for archive requests. The live tail remains open and unauthenticated. No plans to add auth to the live stream.

The v2 instances are live now:

wss://jetstream.us-west.bsky.network
wss://jetstream.us-east.bsky.network

The existing v1 instances keep running unchanged, and the live tail behaves identically, so no rush to migrate.

Ad

New Jetstream SDKs

They also released official Jetstream SDKs for TypeScript and Go. Here's the TypeScript example from the docs:

import { Jetstream } from '@bsky/jetstream'
import { app } from '@bsky/sdk/lexicons'

const js = new Jetstream('https://jetstream.us-east.bsky.network')

for await (const evt of js.live({ collections: [app.bsky.feed.post] })) { if (evt.kind === 'commit' && evt.commit.operation === 'create') { console.log(evt.commit.collection, evt.commit.record.text) } }

The TypeScript SDK is on npm; the Go SDK is part of the Jetstream project.

Bluesky TypeScript SDK Rebased on lex

The Bluesky TypeScript SDK is rebuilt on @atproto/lex, removing legacy code paths. It's fully typed end-to-end, from protocol layer up through app.bsky records. All new docs examples use it. The old @atproto/api still works, but the new SDK eliminates LLM recommendations of deprecated versions.

Updates to endpoints.bsky.app

The HTTP reference at endpoints.bsky.app has been updated. The old docs.bsky.app is replaced by the new Protocol Services site.

All infrastructure is open source and self-hostable.

📖 Read the full source: HN AI Agents

Ad

👀 See Also