Skip to content
Schedule Social Media

Press Esc to close.

New feature Bluesky Severity: low

Bluesky releases Tap for backfilled, verified repo sync with webhooks

Announced12 Dec 2025
EffectiveNot stated
PlatformBluesky

What changed

On December 12, 2025 the AT Protocol team introduced Tap, a single-tenant Go service that subscribes to a relay and outputs filtered, verified repository events as JSON. It backfills a repo's history when you start tracking it, verifies signatures and MST integrity, resyncs desynchronized repos, and delivers events at least once over WebSocket with acks, fire-and-forget, or webhooks. It can track chosen DIDs, all repos with a given collection, or the full network. Bluesky said Jetstream is not going away.

What it means

Tools that read Bluesky data, such as analytics and monitoring, can self-host Tap to backfill accounts' full history and receive verified events as JSON over WebSocket or webhooks.

Who is affected

Developers of analytics, listening, archiving and feed tools that read Bluesky or AT Protocol data.

What to do

Consider Tap if you need backfill plus live events for selected accounts or collections, or webhooks for serverless hosting. Jetstream stays available for simpler cases.

What this means for you

Some apps read Bluesky posts to count likes, track mentions or keep a backup. In December 2025 Bluesky released Tap, a free tool that helps those apps collect an account's older posts as well as new ones, without missing any. It mostly matters to app builders. For you it may mean more complete numbers in tools that report on Bluesky.

The details

  • What it is: a single-tenant Go service in bluesky-social/indigo (cmd/tap) that sits between the relay firehose and your app. It defaults to port 2480 with a SQLite backend.
  • Backfill: adding a repo with POST /repos/add (a list of DIDs) fetches its history first. Historical events arrive with live:false, then buffered and new events with live: true.
  • Verification and recovery: Tap checks MST integrity and identity signatures, and resyncs a desynchronized repo from its PDS.
  • Delivery: at least once. Live events for a repo are ordered and wait for the previous ack; backfill events are sent concurrently. Modes: WebSocket with acks, fire-and-forget, or webhooks.
  • What to track: DIDs added dynamically (default), every repo with a record in one collection (TAP_SIGNAL_COLLECTION), or the full network (TAP_FULL_NETWORK=true, "terabytes of data and days to weeks" for the first backfill; the team measured 35 to 45 thousand events per second).
  • Jetstream: "Jetstream isn't going anywhere!" See Bluesky introduces Jetstream and Jetstream v2.

What to do next

  • Business owners: Nothing.
  • Marketers and agencies: Nothing.
  • Developers: If your analytics need history for newly added accounts, try Tap with signal-collection or per-DID tracking and use webhooks if you run serverless.

Primary sources

Checked against the source 7 Nov 2026

Get an email when a new API change is added

Follow new entries with the RSS feed. Each platform also has its own feed, for example X or Meta.