Inspiration
The inspiration for DeviceBound Wallet came from the constant trade-off between security and usability in traditional crypto wallets.
Seed phrases are insecure and cumbersome β users often lose access or get phished. We wanted to build a wallet that feels as natural as Face ID, yet as secure as a hardware wallet.
Our goal: No seed phrases, no extensions, no downloads β just your device.
What it does
DeviceBound Wallet is a smart wallet that replaces private key storage with WebAuthn / Passkeys.
Instead of managing keys manually, users authenticate using their built-in device biometrics (Touch ID, Face ID, Windows Hello, etc.), while a smart contract enforces ownership and transaction validation on-chain.
Key capabilities:
- π Create wallet using WebAuthn (Passkey)
- π Recover wallet using Passkey + contract address
- πΈ Send transactions signed with device hardware
- π§± Deploys smart contract wallet automatically
- π± Installable as a PWA with offline readiness
How we built it
- Frontend: Built with
React 18 + TypeScript + Vite, providing a lightweight and fast DApp experience. - Blockchain: Smart contract written in
Solidity (v0.8.24)and deployed to Sepolia and BSC Testnet. - WebAuthn Integration: Used native browser APIs to create and authenticate credentials.
- Extracted public keys from COSE / CBOR format.
- Converted ASN.1 signatures to ECDSA (r, s) format.
- Mapped public key hash to on-chain wallet identity.
- Contract Interaction: Managed via
ethers.js v6. - PWA: Enabled offline support with
vite-plugin-pwaandWorkbox.
Challenges we ran into
- βοΈ Handling ASN.1 β ECDSA signature conversion for Passkeys.
- π§© Maintaining cross-browser WebAuthn compatibility (Chrome, Safari, Edge).
- π Validating Passkey signatures on-chain using Solidityβs
ecrecover. - π§ Designing a multi-device registration system capped at 3 devices.
- π§° Building a secure and recoverable flow without ever exposing private keys.
Accomplishments weβre proud of
- π Fully functional device-bound wallet β no seed phrases needed.
- π± Seamless biometric signing for blockchain transactions.
- π§ Robust architecture combining WebAuthn + Smart Contracts.
- π Multi-chain support (Ethereum Sepolia, BSC Testnet).
- β‘ Built and deployed as a Progressive Web App (PWA).
What we learned
We learned how to bridge the gap between Web2 authentication standards and Web3 identity models.
WebAuthnβs public-key credentials can be safely extended to on-chain logic, enabling hardware-level non-custodial wallets.
Whatβs next
- π Add more EVM-compatible networks.
- π Enable social / cloud recovery for Passkey credentials.
- π€ Integrate with dApps via WalletConnect.
- π§© Audit smart contracts for mainnet readiness.
Try it out
π Live Demo
π GitHub Repository
Log in or sign up for Devpost to join the conversation.