HeadlinesBriefing favicon HeadlinesBriefing.com

Running ActivityPub on ATProto PDS Architecture

Hacker News •
×

Robin Berjon proposes running ActivityPub atop AT Protocol's Personal Data Server (PDS) to bridge the fragmented open social web. The core insight: ATProto is not Bluesky but a generic toolbox offering pluggable identity independent of server operators and signed data repositories that guarantee credible exit — properties absent from vanilla federation where ~85% of email is captured by Gmail.

The mechanism leverages ActivityPub's Actor document indirection. An actor specifies arbitrary URLs for inbox, outbox, followers, and following endpoints. Berjon demonstrates rewriting a Mastodon actor to point those endpoints at an ATProto PDS via XRPC routes like `org.w3.activitypub.inbox`. This requires no changes to either protocol's core logic, only JSON reconfiguration.

Two technical gaps remain. First, XRPC namespace IDs (nsids) support either GET or POST, not both — but ActivityPub's inbox needs both methods. Solutions include separate actor properties per method or extending XRPC Lexicons for overloaded methods. Second, handle resolution must align: `com.atproto.identity.resolveHandle` could treat `@[email protected]` identically to `@robin.berjon.com` via DNS-based DID resolution, compatible with IndieWeb-style domains.

This isn't a finished implementation but a design provocation. If viable, it would let users host a single PDS serving both ATProto and ActivityPub clients, dismantling the silo model where platforms trap users. The architectural payoff: substrate-level portability (ATProto) plus application-level interop (ActivityPub) without waiting for standards bodies to converge.