3.4 KiB
Known ATProto Relays
Reference list of known public ATProto relays and their capabilities, relevant to ATCR hold discovery and appview backfill.
There is no relay discovery protocol in ATProto — this list is manually maintained.
Last verified: 2026-02-08
Relay List
Bluesky (Official)
| Relay | URL | requestCrawl | listReposByCollection | Notes |
|---|---|---|---|---|
| Bluesky (load balancer) | https://bsky.network |
Yes | No (400 — not proxied) | Load balancer, proxies to regional relays |
| Bluesky US-East | https://relay1.us-east.bsky.network |
Yes | Yes | Regional relay with full collection directory |
| Bluesky US-West | https://relay1.us-west.bsky.network |
Yes | Yes | Regional relay with full collection directory |
Community
| Relay | URL | requestCrawl | listReposByCollection | Notes |
|---|---|---|---|---|
| Firehose NA | https://northamerica.firehose.network |
Yes | No (404) | 72h replay buffer |
| Firehose EU | https://europe.firehose.network |
Yes | No (404) | 72h replay buffer |
| Firehose Asia | https://asia.firehose.network |
Yes | No (404) | 72h replay buffer |
| Microcosm Montreal | https://relay.fire.hose.cam |
Yes | No (404) | |
| Microcosm France | https://relay3.fr.hose.cam |
Yes | No (404) | |
| Upcloud | https://relay.upcloud.world |
Yes | No (404) | |
| Blacksky | https://atproto.africa |
Down (502) | Down (502) | Was offline as of 2026-02-08 |
ATCR Usage
Hold service (requestCrawl)
The hold announces its embedded PDS to relays on startup via com.atproto.sync.requestCrawl. Currently configured as a single relay in server.relay_endpoint. All healthy relays above accept requestCrawl.
Appview backfill (listReposByCollection)
The appview uses com.atproto.sync.listReposByCollection to discover DIDs with io.atcr.* records during backfill. Only Bluesky's regional relays support this endpoint. The appview defaults to relay1.us-east.bsky.network.
Why most relays lack listReposByCollection
The listReposByCollection endpoint is not part of the relay core. It's served by a separate microservice called collectiondir that maintains an index of (collection, timestamp, DID) tuples.
Community relays running the Rainbow relay can optionally proxy to a collectiondir instance via --collectiondir-host, but most don't deploy one — likely because maintaining that index across the full network is expensive relative to just fan-out relaying.
Other useful relay endpoints
These are standard XRPC endpoints that relays may implement:
com.atproto.sync.listRepos— paginated list of all known repos (all tested relays support this)com.atproto.sync.getRepo— all tested relays 302 redirect to the source PDScom.atproto.sync.getRepoStatus— check if a relay knows about a specific DIDcom.atproto.sync.subscribeRepos— WebSocket firehose subscription