Non-Custodial Authentication with Hierarchal Keys
A technical case study of SatGo's auth system that bridges Bitcoin HD wallet standards with modern app authentication, enabling true non-custodial user experience across multiple platforms.
Introduction
Building a Bitcoin application that maintains user sovereignty while delivering seamless user experience presents a fundamental challenge: how do you authenticate users without ever having access to their private keys? This is the problem SatGo faced when designing their multi-platform Bitcoin ecosystem for Ordinals, Runes, and Rare Sats trading.
I describe here a signer based authentication system that works with any modern bitcoin wallet without requiring oAuth, password, or key custody. Rather than compromising on either security or user experience, SatGo's solution demonstrates how sophisticated cryptographic authentication can be made accessible to mainstream users across multiple platforms.
Technical Requirements & Architecture
The system required users to demonstrate ownership of three specific derived keys from their Bitcoin HD wallet, each serving a distinct purpose within the authentication framework. This multi-key approach ensures both security and compatibility with Bitcoin's existing standards.
Multi-Key Authentication Design
the solution’s elegance lies in its systematic use of Bitcoin's established BIP standards while innovating on application-layer authentication:
Authentication Key (m/44'/0'/0'/1000') - A non-standard derivation path specifically claimed for platform authentication purposes, ensuring separation from standard wallet functions
P2SH-WPKH Key (m/49'/0'/0'/0/0) - Standard SegWit key following BIP49 for spending and receiving Bitcoin payments on-chain
P2TR Key (m/86'/0'/0'/0/0) - Standard Taproot key following BIP86 for holding digital assets like Ordinals and Runes
Each key serves a distinct purpose: the authentication key establishes platform identity, the P2SH-WPKH key handles Bitcoin transactions, and the P2TR key manages digital asset holdings. All keys must be unique across the platform, preventing duplicate registrations while enabling "bring your own keys" functionality.
The HDKeyId Innovation
One of AuthV0's most clever innovations was the HDKeyId system—a unique identifier format that solves the challenge of managing hierarchical key relationships while enabling key rotation:
<root fingerprint>:<derivation path>:<child fingerprint>
This format provides 2^64 bits of entropy while clearly communicating derivation relationships. The system enables authentication key rotation while maintaining platform identity continuity through the parent key fingerprint—a crucial feature for long-term platform usability.
Implementation: JWT-Based Hierarchical Authentication
Registration Flow
The registration process demonstrates the system's cryptographic sophistication while maintaining developer-friendly simplicity:
Seed Generation: Client generates or imports a BIP39 mnemonic seed phrase
Key Derivation: Three specific keys are derived using standard BIP44/49/86 derivation paths
Signature Creation: Client creates cryptographic signatures over public key material using random nonces
Platform Submission: Master fingerprint, public keys, and signatures are submitted to SatGo's servers
Validation & Storage: Platform validates all signatures and enforces uniqueness constraints before account creation
Authentication Flow
The authentication flow showcases the power of hierarchical key derivation combined with modern JWT standards:
Key Hierarchy: Client derives authentication key (m/44'/0'/0'/1000') then a child key (0/0) for actual signing
JWT Creation: Client creates JWT with audience "satgo", subject as parent fingerprint, and key ID as HDKeyId
Signature: JWT is signed with the child authentication key using ECDSA
Validation: Platform extracts key ID, looks up the stored public key, and validates the JWT signature
This approach enables key rotation while maintaining identity continuity—if the authentication key needs to be rotated, the parent fingerprint remains constant, preserving the user's platform identity and associated data.
Overcoming Complex Challenges
The implementation required solving several complex technical and user experience challenges that made this project particularly innovative:
Account Squatting Prevention: Without cryptographic signature verification, malicious actors could register accounts using publicly known Bitcoin addresses, blocking legitimate users from accessing their own wallets. The signature requirement ensures only private key holders can register.
Privacy Preservation: The authentication system avoids exposing master public keys, instead using intermediate derived keys to maintain user privacy while ensuring platform identity remains verifiable and consistent.
Results: Production-Ready Non-Custodial Authentication
The AuthV0 system achieved remarkable success in production, delivering both technical excellence and exceptional user experience:
Seamless Cross-Platform Access: Users could access their SatGo accounts from both web or iOS, with all transaction history, leaderboard data, and platform rewards properly synchronized across platforms.
Production Deployment Success: The system was successfully deployed to production and secured access to platform data for all SatGo users. All platform activities became properly indexed and cryptographically tied to wallet identities.
Zero-Knowledge Achievement: SatGo achieved true non-custodial operation where the platform never had access to users' private keys, yet could still provide personalized features, leaderboards, and secure access control—giving users both ease of use and complete sovereignty over their keys.
Lessons Learned & Technical Innovation
The SatGo auth project demonstrates that the perceived trade-off between security and user experience in Bitcoin applications is a false choice. Through innovative application of established Bitcoin standards—BIP32 for HD wallets, BIP44/49/86 for key derivation, and modern JWT authentication—the system successfully bridged the gap between cryptographic security and mainstream usability.
The project's technical innovations, particularly the HDKeyId system and hierarchical authentication approach, created a template for how Bitcoin applications can maintain true self-custody while delivering the seamless experience users expect from modern platforms. Most importantly, the system proved that sophisticated cryptographic authentication doesn't have to be a barrier to adoption—it can be an invisible foundation that empowers users with both security and sovereignty.