Inspiration
We wanted to reimagine how everyday users join Web3.
Most wallets still feel like developer tools — seed phrases, raw signatures, and cryptic error messages.
NoKey Wallet was born from the idea that onboarding to Web3 should feel like signing up for Gmail or Apple ID — simple, recoverable, and human-centered.
Inspired by Polkadot’s mission of interoperability and user empowerment, we set out to create a seedless, frictionless wallet experience that demonstrates how account abstraction can make decentralization truly accessible.
What it does
NoKey Wallet is a Polkadot-powered proof of concept that eliminates seed phrases and private key handling.
It allows users to:
- Create a secure wallet in seconds using biometric or email-based authentication (simulated).
- Recover accounts through social recovery or device verification.
- View a mock dashboard with a Polkadot address, balance, transactions, and parachain connections.
- Send and receive DOT (simulated) and manage parachain integrations (Acala, Moonbeam, Astar, Parallel).
All interactions are designed to feel intuitive, Web2-like, and accessible — without sacrificing the principles of decentralization.
How we built it
We built the MVP using React (Vite) for speed and simplicity, styled it with Tailwind CSS, and added animations via Framer Motion to give the wallet a polished, modern feel.
The cryptographic and wallet logic relies on @polkadot/util-crypto and crypto-js for generating and encrypting addresses locally.
All user data (wallet, balance, transactions, parachains) is stored in localStorage as encrypted JSON — simulating device-bound key storage.
The app flow was structured around three key UX phases:
- Onboarding – Create or recover wallet with Face ID / Email simulation.
- Dashboard – Display DOT balance, transactions, and connected parachains.
- Action Layer – Send, receive, and recover with seamless modals.
Everything runs client-side and requires no environment variables or backend, making it lightweight, portable, and perfect for hackathon demo hosting.
Challenges we ran into
Balancing realism and simplicity:
We wanted it to feel real but stay 100% front-end only. Simulating transactions and recovery logic convincingly took careful UX work.Encryption pitfalls:
Usingcrypto-jsfor mock AES encryption was tricky to structure without exposing sensitive mock keys.UX vs. technical accuracy:
Designing recovery and login flows that felt like Face ID while staying in React required creative animation and state handling.Polkadot API complexity:
While exploring real integration with@polkadot/api, we had to balance complexity versus hackathon time limits — so we used realistic mock data instead.
Accomplishments that we're proud of
- Built a fully interactive, animated prototype that looks and behaves like a real Web3 wallet — but runs entirely locally.
- Created a mock account abstraction layer that stores and recovers wallets without any backend.
- Designed a modern black-and-red UI that visually aligns with the Polkadot aesthetic while feeling futuristic and consumer-ready.
- Delivered a clear vision demo: Web3 that feels like Web2, with human-first onboarding and UX polish.
- Learned to communicate complex blockchain ideas through design and storytelling — not just code.
What we learned
- Simplifying Web3 doesn’t mean dumbing it down — it means designing for humans first.
- The Polkadot SDK is flexible enough to support real account abstraction in future implementations.
- UX matters as much as technical correctness when it comes to mainstream adoption.
- Even a “fake” demo can feel real with proper motion design, messaging, and polish.
- Hackathon time is best spent building a believable story, not chasing full-stack perfection.
What's next for NoKey Wallet
- Integrate real Substrate accounts via
@polkadot/apiand testnet transactions (Westend). - Implement threshold cryptography for real social recovery.
- Expand to multi-chain account abstraction (e.g., Acala, Moonbeam, Astar).
- Add decentralized storage (IPFS/Crust) for secure backup of wallet metadata.
- Release an open-source SDK (“@nokey/core”) so other dApps can add seedless onboarding.
- Explore collaboration with KILT Protocol for identity and credential integration.
- Refine the design for mobile and add browser extension support.
🌐 “No keys. No seeds. Just you.”
Built With
- crypto
- framer-motion
- polkadot.js
- react
- tailwind
- vite

Log in or sign up for Devpost to join the conversation.