Published Build3 min read
Bluesky moves backfill onto its own servers, and gives the plumbing a name
Jetstream v2's Network Replay turns AT Protocol history into an HTTP download that hands off to a live socket. The interesting detail is which half needs a token.
Written for builders.See today for builders

What happened
- Bluesky launched Bluesky Protocol Services on August 13, pairing a new developer site with Jetstream v2, software development kits and a rebuilt TypeScript package for applications using the AT Protocol network.
- The release lands five months after Jay Graber stepped down as CEO to become chief innovation officer and return her attention to building.
- In her March announcement, Graber described the consumer app as the reference client for a broader open protocol and said she was most energized by exploring new ideas and bringing a technical vision to life.
- Toni Schneider, the former Automattic CEO, took Bluesky's top job permanently in July.
- RuntimeWire reported that Schneider's mandate as permanent CEO is to grow a network of smaller applications and communities around AT Protocol.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
Bluesky put a name and a documented front door on infrastructure it was already operating: on August 13 it launched Bluesky Protocol Services, pairing a new developer site with Jetstream v2, software development kits and a rebuilt TypeScript package for applications on the AT Protocol network [1]. The consequential piece is not the branding, it is Network Replay, which moves historical backfill off the developer's machine and onto Bluesky's servers [9].
Jetstream already let developers request a filtered slice of network activity and receive plain JSON over a WebSocket, which was easier to consume than the protocol's full firehose for apps interested in a few record types or accounts [7]. History was the gap. A team building an index, an analytics product or a moderation service had to backfill repositories itself, manage that local process, and then cut over to the live stream without dropping events [8].
Under Network Replay, a developer sends filters to planSnapshot, downloads sealed archive segments over HTTP, and connects to the live WebSocket at the archive tip [9]. The same event format covers the historical download and the live stream, so the cutover stops being a translation problem [11]. The server keeps no consumer-specific cursor and no registered subscription, which leaves the bookkeeping with the client rather than creating an account-shaped relationship on Bluesky's side [10]. A point-in-time snapshot can be pulled without opening a socket at all [12], and Bluesky says the archive covers the full network and returns matching records in sequence [13].
Note the asymmetry. Archive requests on Bluesky-hosted instances require an API token, while the live WebSocket stays open and unauthenticated [14]. History is the metered surface; the present is not [26]. Hosted v2 instances are running in US East and US West, and the v1 instances stay up during migration with identical live-stream behaviour [15][16].
The packaging work is the other half. Protocol Services gathers Jetstream, relay and Bluesky API documentation that had been spread across separate developer properties, replaces docs.bsky.app, and names Bluesky Social PBC as the operator [17]. It is not a new legal entity [18]. The Jetstream SDK now handles reconnection, deduplication, cursor management and typed event decoding for TypeScript and Go [20], the open-source repository carries both the Go client and the server [21], and the TypeScript SDK has been rebuilt on @atproto/lex to consolidate on the generic Lexicon toolchain instead of maintaining separate legacy paths [22]. Alex Garnett, who works in developer relations at Bluesky and wrote the launch post, said the migration should also cut down on coding models recommending deprecated SDKs [23].
Self-hosting remains real but priced in hardware: a self-hosted Jetstream server runs as a single Go binary with no separate database [24], while a full-network archive needs multiple terabytes of disk and grows with the network [25]. Exit is available; convenience is not symmetrical.
The org chart explains the timing. Graber stepped down as CEO to become chief innovation officer five months before this launch [3], having described the consumer app as the reference client for a broader open protocol [4]. Toni Schneider, the former Automattic CEO, took the top job permanently in July with a mandate to grow smaller applications and communities around AT Protocol [5][6], roughly a month before Protocol Services shipped [27]. Graber's original argument was that developers should not have to recreate a social graph or ask a closed platform's permission [19]; a managed archive makes her company's servers easier to depend on while the software stays runnable elsewhere.
Watch for a v1 shutdown date, since compatibility is currently a migration courtesy rather than a commitment [16]. Watch whether the token on archive requests acquires quotas or tiers. And watch whether any third-party app actually ships a feature that needs full history.
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
Bluesky launched Bluesky Protocol Services on August 13, pairing a new developer site with Jetstream v2, software development kits and a rebuilt TypeScript package for applications using the AT Protocol network.
- [3]
The release lands five months after Jay Graber stepped down as CEO to become chief innovation officer and return her attention to building.
- [4]
In her March announcement, Graber described the consumer app as the reference client for a broader open protocol and said she was most energized by exploring new ideas and bringing a technical vision to life.
- [5]
Toni Schneider, the former Automattic CEO, took Bluesky's top job permanently in July.
- [6]
RuntimeWire reported that Schneider's mandate as permanent CEO is to grow a network of smaller applications and communities around AT Protocol.
- [7]
Jetstream already allowed developers to request a filtered slice of AT Protocol activity and receive plain JSON over a WebSocket, making the live network easier to consume than the protocol's full firehose, especially for applications interested in a limited set of record types or accounts.
Sources & coverage · 1 publisher
The reporting this story was synthesized from, earliest first. Every link goes to the original.
- runtimewire.comRuntimeWire StaffAug 13Bluesky launches Protocol Services with replay for AT Protocol data
Additional citations
- RuntimeWire
- Jay Graber, via RuntimeWire
- Bluesky, via RuntimeWire
- RuntimeWire, characterising Jay Graber
- Alex Garnett, Bluesky developer relations, via RuntimeWire
- Bluesky documentation, via RuntimeWire
