Tagline: Create a Web3 wallet without seed phrases
Theme: Polkadot Tinkerers | Web2 โ Web3 UX Innovation
NoKey Wallet is a Polkadot-powered proof-of-concept that redefines Web3 onboarding by removing seed phrases and private key complexity.
It introduces Web2-style authentication, device-bound encryption, and social recovery to make decentralized identity creation feel as familiar as signing up for Gmail.
Built for the Polkadot Hackathon, this project demonstrates how account abstraction and user-first UX can make Web3 usable for everyone โ not just developers.
- No Seed Phrases: Wallet creation without private key exposure.
- Device-Bound Encryption: Wallet data is encrypted locally to simulate secure enclaves.
- Social & Email Recovery: Recover wallets through trusted contacts or verification codes.
- Minimalist UI: Modern, responsive, and intuitive interface inspired by consumer-grade apps.
- Parachain Integration (Simulated): Toggle connections with Acala, Moonbeam, Astar, and Parallel.
- Transaction Simulation: Create and confirm mock DOT transfers with clear visual feedback.
- Frictionless Onboarding: Three-click wallet creation and recovery flow.
- Node.js 18+ and npm/yarn
- Modern browser
git clone https://github.com/apple101012/NoKeyWalletPolkaDot.git
cd NoKeyWalletPolkaDot
npm install
npm run devThen visit: http://localhost:5173
npm run build
npm run preview- Open the landing page to learn about NoKey Wallet.
- Click "Create Account" to start.
- Choose Face ID (simulated) or Email Verification.
- View your Polkadot address, mock balance, and transaction history.
- Connect parachains like Acala or Moonbeam via toggle cards.
- Use Send to simulate DOT transfers.
- Try the Recovery Flow to restore your account.
The experience feels fully functional while remaining lightweight and self-contained for demo purposes.
Frontend (React + Tailwind + Framer Motion)
โ
โโโ Authentication Layer
โ โโ Mock biometric login (Face ID / Email)
โ โโ Social recovery simulation
โ
โโโ Key Management Layer
โ โโ Wallet generation via @polkadot/util-crypto
โ โโ Local AES encryption via crypto-js
โ โโ Device-bound key simulation
โ
โโโ Blockchain Simulation
โ โโ Mock balances and transactions
โ โโ Parachain toggle states
โ
โโโ UI Components
โโ Landing Page
โโ Dashboard (Balance + Transactions)
โโ Authentication Modal
โโ Send & Recovery Modals
โโ Parachain Cards
- Frontend: React 18 + Vite
- Styling: Tailwind CSS
- Animations: Framer Motion
- Crypto / Wallet: @polkadot/util-crypto
- Encryption: crypto-js
- Icons: Lucide React
import { mnemonicGenerate, mnemonicToMiniSecret, naclKeypairFromSeed, encodeAddress } from '@polkadot/util-crypto';
const generateWallet = () => {
const mnemonic = mnemonicGenerate();
const seed = mnemonicToMiniSecret(mnemonic);
const keypair = naclKeypairFromSeed(seed);
const address = encodeAddress(keypair.publicKey, 0);
return { address, publicKey: keypair.publicKey };
};import CryptoJS from 'crypto-js';
const storeWallet = (walletData, password) => {
const encrypted = CryptoJS.AES.encrypt(JSON.stringify(walletData), password).toString();
localStorage.setItem('nokey_wallet', encrypted);
};- Landing Page: Overview of concept and features.
- Create Account: Click to generate wallet (Face ID / Email simulation).
- Authentication: Simulated verification.
- Dashboard: Display wallet address, mock DOT balance, and transactions.
- Parachain Toggle: Connect/disconnect to simulated parachains.
- Send Flow: Mock transaction confirmation animation.
- Recovery: Show email/social recovery flow and successful restoration.
- Demonstrates real address generation with @polkadot/util-crypto.
- Simulates account abstraction and recovery without backend.
- Uses local encryption and wallet management logic.
- Clean, dark, red-accented UI with modern animations.
- User-centered, intuitive flow designed for clarity.
- Lowers entry barriers for Web3 adoption.
- Bridges Web2 familiarity with Polkadotโs decentralized infrastructure.
- Solves a real onboarding pain point.
- Combines proven UX patterns with decentralized identity principles.
- Integrate real Westend testnet balance calls.
- Add FIDO2 hardware key support.
- Implement basic multi-factor recovery.
- True account abstraction with Polkadot SDK.
- KILT Protocol integration for verifiable identity.
- Threshold cryptography for secure recovery.
- Release @polkadot-nokey SDK for developers.
- Add browser extension & mobile versions.
- Support for additional parachains and chains.
This repository is a hackathon demo and not production-grade. To improve or extend functionality:
- Replace localStorage with secure key storage (OS keychain or hardware).
- Implement real Substrate transactions.
- Replace mock encryption with robust key derivation and signing.
- Add backend recovery coordination (if needed).
MIT License โ see LICENSE file for details.
Polkadot & Web3 Foundation for their support and vision.
@polkadot-js team for powerful developer tooling.
Hackathon mentors and organizers for feedback and guidance.
Project: NoKey Wallet Built with: React, Tailwind, Framer Motion, Polkadot.js Tagline: โMaking Web3 onboarding invisible, yet powerful.โ