PDS Implementation - DAO PDS via Internet Computer

,

Hey all, I’m a developer on the Internet Computer who’s been exploring the AT Protocol space over the past year. Most PDS implementations I’ve seen are user-centric, which makes sense - that’s the core ATP model. But I kept running into the same question: how does a DAO or organization have a direct presence on the network?

Right now, if a DAO wants to post on Bluesky, someone has to create an account and hold the credentials. That person becomes a single point of trust and failure. The organization doesn’t actually own its identity - an individual does on its behalf.

So I built a PDS implementation in Motoko where the smart contract itself is the identity. A DAO can use on-chain proposals and voting to control what gets posted and how the identity is managed. No one holds the keys because there are no keys to hold - the Internet Computer’s chain-key cryptography handles signing at the protocol level.

It’s functional but beta-stage - not production hardened yet. This was built as part of a DFINITY Foundation developer grant, and continuing development depends on further funding or community interest.

Wrote up the full technical details, architecture, and current limitations here: https://forum.dfinity.org/t/dao-bluesky-integration-on-the-internet-computer-dfinity-grant-final-milestone/62303

GitHub: GitHub - edjCase/motoko_atproto_pds: PDS canister for AT Protocol written in Motoko for the Internet Computer

Would love feedback from the ATP community, especially if there’s interest in this use case or ideas on how it could fit into the broader ecosystem.

6 Likes

Very interesting! Check out the work that Hypercerts have done in a “shared” PDS setup that explores related concepts.

3 Likes

This is an interesting idea. Based on my understanding (please correct if I have it wrong) is that you have PDS where the DAO controls whether or not the PDS signs and commits records. This PDS requires a DID to be setup, but doesn’t manage the DID itself.

Have you thought about how you could manage the actual DID via an IC smart contract?

1 Like

Though my implementation may not have advanced features, it does manage the DID. Upon creation of the PDS via DAO or manually, a DID can be imported or created. The Internet Computer canister uses threshold signatures to sign requests and register it in the directory or make any updates if needed. Also it serves the updated DID documents via HTTP

1 Like

oh, that’s cool!

I’m not familiar with how IC what’s the quickest way to learn how it performs the ecdsa sigs for the PLC updates?

Also a decent AI helper built into the docs that can help answer your questions

2 Likes