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.
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?
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