ActivityPub is a W3C standard protocol for decentralized social networking that lets independent servers exchange posts, follows, likes, and other activities.
How ActivityPub works
The W3C published ActivityPub as a Recommendation in January 2018. It builds on the Activity Streams 2.0 vocabulary, a JSON-LD format for describing social actions.
The core ideas:
- Actors: accounts, each with a URL.
- Inbox: where an actor receives activities from others.
- Outbox: where an actor's own activities are published.
- Activities: typed actions such as
Create,Follow,Like,Announce(a boost), andDelete.
When you post, your server wraps it in a Create activity and delivers it to the inboxes of your followers' servers. Those servers show it to your followers. Servers typically sign these requests with HTTP Signatures so receivers can check the sender.
The spec also defines a client-to-server API, but most apps, including Mastodon, use their own client APIs and ActivityPub only between servers.
An example
You follow @team@example.social from your own server. Your server sends a Follow to that actor's inbox. It replies with Accept. From then on, its new posts are delivered to your server.
Why it matters for AI-agent publishing
ActivityPub is what makes the fediverse one network. For posting, though, agents rarely speak ActivityPub directly; they call the client API of a specific server, and the server federates the post.
SocialHandoff posts through the Mastodon client API, and the server handles delivery across the fediverse. Compare with the AT Protocol used by Bluesky.