AD
Boost Your Brand on BlueSky—Exclusive banner space to amplify your reach within the BlueSky community.
BSkyInfo LogoBskyInfo
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryArticlesGuidesGlossaryBluesky SDKsSponsor
Submit
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryGuidesGlossaryArticlesBluesky SDKsSponsorSubmit
  1. SDKs
  2. /Go
  3. /handles-server
prompt

handles-server

A Go SDK for Bluesky and AT Protocol by prompt

Bluesky handle verification server

GitHub Stats

20stars
3forks
2contributors
0open issues

Dates

Created:November 17, 2024
Last updated:December 29, 2025

README

The following content is from handles-server's GitHub repository. All rights reserved by the original author.

Handles Server

A very simple server that verifies Bluesky (atproto) handles using the HTTPS well-known Method; an alternative to managing many DNS records.

Quickstart

sh -c "$(curl -Ls https://handles.run)"

...or download the latest release.

Railway

Deploy on Railway

One-click deploy is available using Railway.com1.

Implementation

A handle is a hostname (e.g: alice.example.com) which the server may or may not be able to provide a Decentralized ID for. A handle is made up of a domain (e.g: example.com) and a username (e.g: alice). A provider (ProvidesDecentralizedIDs) is responsible for getting a Decentralized ID from a handle.

Providers

  • Postgres
  • Memory
  • Google Sheets
  • Filesystem

Configuration

Environment VariableDescriptionExample
DID_PROVIDERRequired Name of a supported providerpostgres memory
REDIRECT_DID_TEMPLATEURL template for redirects when a DID is foundhttps://bsky.app/profile/{did}
REDIRECT_HANDLE_TEMPLATEURL template for redirects when a DID is not foundhttps://example.com/?handle={handle}
CHECK_DOMAIN_PARAMETERQuery parameter used by check domain endpoint (/domainz)handle hostname domain

memory provider

Environment VariableDescriptionExample
MEMORY_DIDSRequired Comma separated list of handle@did pairsalice.example.com@did:plc:001
MEMORY_DOMAINSRequired Comma separate list of supported domainsexample.com,example.net

postgres provider

Environment VariableDescriptionExample
DATABASE_URLRequired Postgres database URLpostgres://postgres@localhost:5432/handles
DATABASE_TABLE_DIDSTable containing handle + did rowsdids active_handles
DATABASE_TABLE_DOMAINSTable containing domain rowsdomains active_domains

URL templates

A string containing zero or more tokens which are replaced when rendering.

TokenValueExample(s)
{handle}Formatted handle from the requestalice.example.com
{did}Decentralized ID found for the request's handledid:plc:example001
{handle.domain}Top level domain from the handleexample.com
{handle.username}Username part of the handlealice bob
{request.scheme}Request's schemehttps http
{request.host}Request's hostalice.example.com
{request.path}Path included in the request/hello-world
{request.query}Query included in the requestgreeting=Hello+World

Footnotes

  1. Railway provide a 25% "Template Kickback" when you sign up using our link ↩

Topics

blueskybskyhandles

Related SDKs

bluesky-socialindigo

Go source code for Bluesky's atproto services.

1286•Go
whtwndwhitewind-blog

The AT Protocol blogging platform

157•Go
bsky-watchplc-mirror

Self-hosted PLC mirror

10•Go
jazwarego-bsky-feed-generator

A minimal implementation of a BlueSky Feed Generator in Go

33•Go
bluesky-socialjetstream

A simplified JSON event stream for AT Proto

438•Go
jazwarebsky-experiments

A mirror of my personal monorepo's AT Proto tools

310•Go

Resources

GitHub RepositoryProject Website

License

MIT

Author

prompt
prompt
did:plc:001

Activity

Last commit: December 29, 2025
Commit frequency: Unknown

Our Sponsors

Your Brand Here!

50K+ engaged viewers every month

Limited spots available!

📧 Contact us via email🦋 Contact us on Bluesky
BSkyInfo LogoBskyInfo

The Most Comprehensive Bluesky Tools Directory

Stay updated with the latest Bluesky tools and ecosystem news 🦋

Bluesky butterfly logo
Quick LinksSubmit a ToolSponsorAboutLegal Information
ToolsFeed DirectoryLabeler DirectorySchedulingAnalyticsAll ToolsCategoriesCollectionsTags
ResourcesArticlesBluesky GuidesBluesky GlossaryBluesky SDKsBluesky ResourcesSkyRaffleMeida Coverage
Our ProductsRaffleBlueAiTeach ToolsLaiewAI affiliate listFirstoCoast Fire CalculatorAsphalt CalculatorDog Names World

This website may contain affiliate links

© 2026 BskyInfo. All rights reserved.