ActivityPub Social Network (proposal)

Currently, there are the following social network apps out there (in alphabetic order):

  • Afari
  • Aodh
  • Fupio
  • Travelstack
  • Postly

It is a hard problem and there are more efforts outside of the blockstack ecosystem that try to decentralized social networks. As the “Economics” mentioned mastodon is a big on here, and discussed at FOSDEM, Mastodon has defined/uses the ActivityPub protocol (together with e.g. webfinger). Should we also use these protocols? If no, what are the arguments against?

If yes, the proposal is to develop a single user focused activityPub server that can run on everyone’s machine and uses the gaia storage (and then join the (political, regularitory) forces to bring back users hosted servers fighting against the interests of ISPs) Before that is possible for all users I think we should embrace the fediverse out there and add servers (with Blockstack Auth support)

Does it make sense?


Before I joined Blockstack, I built this for Ethereum:

How it compares to Mastodon

I’d love to see this on Blockstack, and I’d be more than happy to help build it!

You can follow me anywhere in the fediverse by following @[email protected] . Here’s my account on


Great proposal, I was thinking about the same thing after watching The Economist’s video on Mastadon and Blockstack. It would be good to adopt an existing protocol like ActivityPub in Blockstack social apps, there’s no reason to reinvent the wheel.

What you’re suggesting here is that we run modified instances of ActivityPub servers that users can auth into with their Blockstack iD?

1 Like

Yes, that is what I already did for the matrix chat federation. I run a matrix home server (OI Chat) that let blockstack users sign in with their ID and enjoy the matrix network (without needing to register, without me storing any passwords).

So, there are two steps involved:

  1. patch the mastadon server to accept logins via blockstack
  2. patch a mastadon client to send the blockstack login to the home instance.

The auth protocol I used is for OI Chat is described in That could probably easily adapted for mastadon.

I am not sure whether that is an interesting approach for the blockstack ecosystem, as the feedback for OI Chat was rather small.

The missing piece is that the data are still stored on the user’s mastadon/matrix server, not on the user’s storage provider, but with single-user servers this could be fixed. At the ActivityPub panel at FOSDOM, one of the specification authors actually encouraged everyone to think more about the possibilties to have a client and a server on the same machine.

Oh, mastadon is actually using omniauth. That should be even easier…

I’m all for this but not all clients have 100% uptime… having the server run on the same box as the user’s (private) gaiahub is a possibility though!

I think it’s a pretty good idea overall, another node in the overarching stack of the Blockstack network. Having blockstack-matrix nodes as well would be cool to see as it matures, meaning we have the chat & social media (activity pub) stacks sitting beside the official storage (gaia) & auth stacks… exciting! (not to mention the possibility to use matrix as a push notification system and activity pub as a “more data / inbox” system)

1 Like

Have you tried to invite guests to your event on OI Calendar?

I also love travelstack. Nice interface, and you stay the owner of your photos. Wish there would be more dapps of such kind

1 Like

I have not yet, haha.

I was wondering however – are you creating OpenIntents as a Radix-like project that would serve on the backend and connect things like Matrix and an ActivityPub implementation for Blockstack dApps to use? I know the ActivityPub implementation still needs to be made, but a middleware like this would be extremely useful.

It’d be a node to interpret and serve as a mediator between those services and the apps themselves, standardizing and giving it important features required for the apps (such as push notifications and inboxes)… if it’s not openintents then it would be useful for another proposal for something like that.

OpenIntents is just the name of my organization. All apps live independently, ideally server-less.

Currently, I am trying to get matrix to support DIDs and make a pull request to mastadon.

What I try to build is an extended API for blockstack.js that app developers can use for notifications, social activities,etc,. Aiming to standarize exactly what you described.

That library relies on the configuration of each user. Whether that is about configuring just one node or many (existing) services needs to be seen.

I still have to understand where Radix can help my apps.