Today I'm excited to share QuickDID, a high-performance handle resolution service for the ATmosphere that's now available as public infrastructure at https://quickdid.smokesignal.tools/. I built QuickDID as both a public service anyone can use right now and as open source infrastructure you can deploy yourself.
What QuickDID Does
At its core, QuickDID resolves ATProtocol handles to DIDs - the fundamental identity lookup that powers every interaction on Bluesky and other AT Protocol services. It implements the same XRPC endpoints as Bluesky Social PBC's resolver, making it a drop-in alternative that can handle everything from DNS TXT record lookups to HTTP well-known resolution.
QuickDID is just another resolver. It does one thing and one thing only. It's engineered for speed and flexibility, with intelligent caching strategies that can adapt to everything from a Raspberry Pi deployment to a distributed cluster handling millions of requests.
Built for Real Infrastructure Needs
QuickDID uses a multi-layer caching architecture that lets you choose the right storage for your deployment:
In-memory caching for blazing-fast responses (sub-millisecond when cached)
Redis-backed caching for distributed deployments and multi-instance scaling
SQLite-backed caching for single-instance deployments that need persistence without external dependencies
Binary serialization that reduces cache storage by ~40% compared to JSON
The proactive refresh feature keeps popular handles warm in the cache, preventing those annoying latency spikes when cache entries expire. And with configurable TTLs ranging from minutes to months, you can tune the freshness vs. performance trade-off for your specific needs.
Deployment Flexibility
One thing I'm particularly proud of is how QuickDID scales both up and down. You can run it with just HTTP_EXTERNAL=localhost:3007 cargo run
for local development, or configure it with Redis queues, StatsD metrics, and rate limiting for production deployments handling the entire ATmosphere.
The queue system is equally flexible - use in-memory MPSC for lightweight single-instance setups, Redis for distributed processing, or SQLite with automatic work shedding to prevent unbounded growth. Every component is optional and configurable through environment variables, following 12-factor app principles.
Performance That Matters
QuickDID includes features that matter in production:
Semaphore-based rate limiting to protect upstream DNS and HTTP services
HTTP caching with ETag support and configurable Cache-Control headers
Connection pooling for Redis to minimize overhead
Work shedding in SQLite queues to maintain bounded resource usage
Comprehensive StatsD metrics for monitoring resolution timing and cache performance
Available Now
You can start using QuickDID today at https://quickdid.smokesignal.tools for your handle resolution needs. The endpoint is compatible with existing ATProtocol tooling - just point your resolver at it and go.
The source code is available at https://tangled.sh/@smokesignal.events/quickdid under the MIT license. Deploy it yourself, contribute improvements, or just peek under the hood to see how it works.
A Note on Stability
QuickDID is currently a release candidate. While it includes comprehensive error handling and has been designed with production features in mind, it hasn't been fully battle-tested at scale. Please evaluate it thoroughly for your use case before deploying in critical environments. I'm actively looking for feedback and bug reports as we move toward a stable 1.0 release.
Infrastructure for Everyone
QuickDID represents something I believe strongly in: open infrastructure that anyone can use and everyone can contribute to. The ATProtocol ecosystem thrives when we have multiple implementations of critical services, reducing single points of failure and encouraging innovation.
Try it, deploy it, break it, fix it - and let me know what you think. The future of decentralized social infrastructure is built together.