Bluesky: your own domain as your handle

← All guides

Instead of @name.bsky.social, you can use your own domain as your Bluesky handle, for example @example.com. This works with a Bluesky account just as it does with your own PDS. Your posts and followers stay as they are.

Step 1: Get the value in Bluesky

  1. Log in to Bluesky. With your own PDS, choose a custom hosting provider when logging in and enter its address.
  2. Go to Settings, Account, Handle.
  3. Choose I have my own domain and enter the domain.
  4. Bluesky shows you a value starting with did=did:plc:. Keep the window open.

Step 2, option A: DNS record

This is the easiest way:

NameTypeValue
_atprotoTXTdid=did:plc:…, exactly as shown

For a handle like name.example.com, the record is called _atproto.name.

Step 2, option B: File on your web server

If you cannot change DNS, your web server answers on /.well-known/atproto-did. The response contains only your DID, without did=.

nginx

In the server block for port 443:

location = /.well-known/atproto-did {
    default_type text/plain;
    return 200 'did:plc:abcdefghijklmnopqrstuvwx';
}

Apache 2

Create the file .well-known/atproto-did in the web root. It contains only your DID, with no spaces. Add this to the VirtualHost:

<Location "/.well-known/atproto-did">
    ForceType text/plain
</Location>

Step 3: Test and confirm

dig +short TXT _atproto.example.com
curl https://example.com/.well-known/atproto-did

The first line checks option A, the second option B. Once it shows your DID, click the verify button in Bluesky and save.

If it does not work

  • Verification fails: DNS changes take a little time. Try again after a few minutes.
  • Wrong DID: There can only be one _atproto record with did=. With several different ones, verification fails.
  • Doubled name: Some providers add the domain themselves. In that case, enter only _atproto.
  • Option B does not work: The address has to be reachable over HTTPS, and the file may only contain the DID.

Your own Bluesky server?

I run your Personal Data Server for Bluesky on servers in Germany.