ADA Handles
Custom wallet addresses secured on Cardano.
Co-founded with my second-eldest son in 2021. I started at Kora Labs that year and have been its CIO and co-owner since 2022, running 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 github.com/koralabs namespace. That includes an open-source, chain-scanned API backed by in-memory and Valkey stores. The scale figures above are published portfolio snapshots, not live counters. The work in impact terms:
- Converted to completely decentralized minting. Anyone can mint or edit a handle on-chain within the contract’s rules. Every major Cardano wallet adopted the new policy.
- Contracts that upgrade in place. The “withdraw 0” / observer trick. Cardano lets you replace a contract’s logic without moving the locked UTxOs anywhere new, if you set it up right. We worked out the technique against live state. It’s the reason our cutover doesn’t need a state migration or chain downtime.
- NFT-based OAuth where the identity is your handle. Hold the NFT, sign in to anything that speaks OAuth. Web2 SSO ergonomics on a self-custody wallet, no custodian holding your keys.
- Merkle Patricia Tries inside on-chain code. Ported the structure into Aiken so contracts can prove membership in a dataset that’s far too big to store on chain.
- Browserless dynamic SVG rendering at scale. Every handle’s NFT image is typographic SVG generated server-side. Hundreds of thousands of unique renders across reissues and personalization.
- Serverless Cardano Node on AWS Fargate. We ran the node, Ogmios, and the Handles API on Fargate plus EFS, picking up redundancy, failover, auto-scaling, and reproducible deployment. The trick that made it work: cross-host node-socket connectivity, solved with
socatbridging a Unix domain socket to TCP. This ran in production and was later retired for cost; it is not our current hosting setup. The original engineering thread records the approach. - On-chain IPFS content validation. A Cardano smart contract validates the contents of an IPFS file by matching the CIDv1 embedded hash against bytes supplied in the redeemer. Around the 1KB to 12KB sweet spot for content size. Used live for personalization.
- Discord as a production control plane. Tickets land there. Deploys go through there. Alerts wake people up there. I built the bot, the CloudWatch alerting pipeline, and the deploy automation that operators trigger from chat threads. The autonomous-agent layer on top of all this is K.O.R.A.
- Two parallel cutovers - contract language and transaction tooling Smart contracts moving to Aiken: DeMi and SubHandles are there, Personalization next. The TX-building library moved to
@cardano-sdk/*. - A 99% cut in monthly hosting cost. I led the cost and performance analysis and the migrations, from about $8K a month to about $80: DB-Sync (about $8K), then Ogmios on ECS (about $5K), then Lambda with Valkey/Redis and provider APIs from Koios, Blockfrost and Maestro (about $1.4K), then Cloudflare and self-hosted servers (about $80). The Fargate node setup above was part of the ECS stage.
- Chain lookups 38× faster. Moving sparse transaction discovery to Maestro took a 200-block probe from 25.75s to 0.67s, with Koios and Blockfrost as fallbacks.
- I wrote the smart-contract audits. I was the sole author of the audits for Handles DeMi (April 2025, published audit) and for our CIP-68 444 minting and editing contracts (October 2024). Because we were auditing our own contracts, Eric Lee reviewed and approved both as an impartial third party.
- HandleComms design. In April 2025 I designed decentralized, end-to-end-encrypted messaging for Cardano dApps and HandleChat, built in Rust on libp2p peer-to-peer networking, the Signal Protocol and blockchain identity.
- marketplace.handle.me handles secondary trading on-chain.
- chat.handle.me runs direct messaging keyed to handle identity.
- secrets.handle.me is research-stage, looking at account recovery via social trust graphs.
- merch.handle.me and metaverse.handle.me are announced and in flight.