ADA Handles
Custom wallet addresses on Cardano, secured on-chain.
Co-founded with my second-eldest son in 2021. I run platform engineering and the AI ops layer.
- 265K+address-resolution NFTs
- 70K+wallets resolved
- 10KNFT collection with updateable mint/edit
- Allmajor Cardano wallets adopted
The platform is a constellation of services across the handle.me namespace. The work in impact terms:
- Killed the centralized mint server. Anyone can mint or edit a handle on-chain within the contract’s rules. Every major Cardano wallet adopted the pattern. (
decentralized-minting,handles-personalization,cip-68-444-minting,cip-68-222-minting.) - The withdraw-0 / observer trick — contracts that upgrade in place. Worked out the Cardano technique that lets a live contract have its logic upgraded without moving the locked UTxOs to a new address. This is what makes our cutover work without state migration or chain downtime. (Currently shipping live in
handles-personalization.) - Two parallel cutovers off Helios. Smart contracts moving to Aiken for type safety and auditability — DeMi and SubHandles are on Aiken; Personalization not yet. The TX-building library moving to
@cardano-sdk/*. - OAuth-over-NFT-ownership. A wallet holding a handle can act as an OAuth identity provider — Web2 SSO ergonomics on self-custody wallets, no custodian. I pioneered Lit at Kora Labs in this codebase; the patterns echo through to my
lambda-site-template(which this site is built on). (auth.handle.me.) - Merkle Patricia Tries inside on-chain code. Ported a non-trivial cryptographic structure into a Cardano-targeting language so contracts can prove membership over large datasets without storing them on-chain. (
merkle-patricia-forestry-helios.) - Browserless dynamic SVG rendering at scale. Every handle’s NFT image is generated server-side via typographic SVG — hundreds of thousands of unique renders across reissues and personalization. (
handle-svg,render.handle.me.) - Cardano Node on AWS Fargate (ran in production; retired for cost).
cardano-node, Ogmios, and the Handles API on Fargate + EFS for redundancy, failover, auto-scaling, and reproducible deployment. The fun trick: cross-host node-socket connectivity solved viasocatbridging Unix domain sockets to TCP. Production-grade serverless ops on a chain that didn’t expect to be run that way. Eventually retired — Fargate at this scale wasn’t sustainable on the bill — but the technique still travels. - IPFS content validation inside on-chain code. A Cardano smart contract can validate the contents of an IPFS file by matching the CIDv1 embedded hash against redeemer-supplied bytes — with care around chunk size and the ~1KB–12KB sweet spot. Live in production for personalization.
- Discord as the production control plane. Tickets, deploys, alerts, and ban decisions flow through Discord. Built the bot, the CloudWatch → Discord alerting pipeline, and the deploy automation operators trigger from chat threads. (See K.O.R.A. below for the autonomous-agent layer on top.)