







wrote a quick guide to creating a did:web atproto PDS account using goat. this isn't something I recommend for folks in most cases (did:plc is great!), but I think it is important on principle, and we should test and document it better.
Creating a did:web atproto account using goat | bryan newbold
whtwnd.comJan 26, 2026 at 2:37 AM
Creating a did:web atproto account using goat | bryan newbold
This is a hastily-written guide to creating a did:web atproto account. You'll need: familiarity with command line tools a domain name and web server you control, for the did:web a handle domain name you control (can be the same as the did:web domain) an invite code to an atproto PDS the goat t...
Creating a did:web atproto account using goat | bryan newbold
This is a hastily-written guide to creating a did:web atproto account. You'll need: familiarity with command line tools a domain name and web server you control, for the did:web a handle domain name you control (can be the same as the did:web domain) an invite code to an atproto PDS the goat t...
Migrating PDS Account with `goat` | bryan newbold
Account migration is an important feature of atproto, and has been possible in the live network since February of this year, but is still a bit scary and developer-oriented. As part of documenting the migration process, I recently implemented basic account migration in the goat CLI tool for atproto...
Migrating PDS Account with `goat` | bryan newbold (⛱️ sabbatical mode)
Account migration is an important feature of atproto, and has been possible in the live network since February of this year, but is still a bit scary and developer-oriented. As part of documenting the migration process, I recently implemented basic account migration in the goat CLI tool for atproto...
Creating a did-method-web Identity for ATProtocol
Creating a did-method-web Identity for ATProtocol posted by @smokesignal.events on 2025-08-18 14:00 UTC
Setting up my own ATProtocol PDS - Blooym
Details of my adventures self-hosting my own ATProtocol Personal Data Server (PDS), including the painful debugging process.

Registering Identity Recovery Keys via PDS, using goat | bryan newbold
One of the big design goals for atproto is for users to "own their network identity". If something goes wrong with a hosting provider, it should be possible recover accounts by independently updating their identity to point at a new home. Every account in the network has both a handle and a DID. Th...
Embracing ATProto, part 1: Setting up a PDS
In this series of posts, I'll explore my journey into setting up my workflows and services for atproto. The first step is setting up my PDS. Let's start with a bit of explanation for all this lingo.

did-method-plc/website/spec/v0.1/did-plc.md at main · did-method-plc/did-method-plc
Public Ledger of Credentials: a cryptographic, strongly-consistent, and recoverable DID method - did-method-plc/did-method-plc
did-method-plc/website/spec/v0.1/did-plc.md at main · did-method-plc/did-method-plc
Public Ledger of Credentials: a cryptographic, strongly-consistent, and recoverable DID method - did-method-plc/did-method-plc
did:cow: Another idea to billionaire-proof ATProto IDs, also "art of using a blockchain without using a blockchain". Blockchain-managed wrapper ID, no tx to create, points to a did:plc/did:web but you can move it if something goes wrong. Got carried away and made a resolver and front-end cow.watch
did:cow
cow.watchEdmund Edgar
Wrote up an idea to improve the DID:PLC system to protect us from the inevitable corporate enshittification phase when the centralized server stops serving mirrors for a bit then starts screwing us over. It's kind of "art of using a blockchain without using a blockchain" github.com/edmundedgar/did-plc-p2p-guard…
I'm starting a new blog post series, with some more practical tutorials about ATProto things, using Ruby and my Ruby gems :] Episode 1 - resolving handles & DIDs and plc.directory:
ATProto in Practice #1: Identity
mackuba.eu