A modern, web-based Solana blockchain wallet built with Next.js. KeyForge provides a secure and user-friendly interface for managing Solana accounts, generating mnemonic phrases, and handling cryptographic keys.
- 🔑 Wallet Creation: Generate new Solana wallets with secure mnemonic phrases
- 👥 Multiple Accounts: Create and manage multiple accounts from a single wallet
- 🔒 Secure Key Management: BIP39 mnemonic generation and HD key derivation
- 📋 Copy to Clipboard: Easy copying of public and private keys
- 🌙 Dark/Light Theme: Toggle between light and dark modes
- 📱 Responsive Design: Works seamlessly on desktop and mobile devices
- 🛡️ Privacy First: Private keys are masked for security
- Node.js 18+
- npm or yarn
-
Clone the repository
git clone <repository-url> cd keyforge
-
Install dependencies
npm install # or yarn install -
Run the development server
npm run dev # or yarn dev -
Open your browser Navigate to http://localhost:3000
keyforge/
├── src/
│ ├── app/
│ │ ├── context/
│ │ │ └── WalletContextProvider.jsx # React context for wallet state
│ │ ├── layout.js # App layout
│ │ ├── page.js # Main page component
│ │ └── providers.jsx # App providers
│ └── components/
│ ├── Account.jsx # Account display component
│ ├── AddOrCreate.jsx # Wallet creation/import
│ ├── FilledMnemonic.jsx # Mnemonic phrase display
│ ├── Navbar.jsx # Navigation bar
│ ├── ThemeSwitcher.jsx # Theme toggle
│ └── Wallet.jsx # Wallet management
├── package.json
├── tailwind.config.js
└── next.config.mjs
- Framework: Next.js 14
- UI Library: NextUI, Material-UI
- Styling: Tailwind CSS
- Blockchain: Solana Web3.js
- Cryptography:
- BIP39 for mnemonic generation
- Ed25519 for key derivation
- TweetNaCl for cryptographic operations
- State Management: React Context API
- Icons: React Icons
- Theming: Next Themes
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
- BIP39 Compliant: Uses industry-standard mnemonic generation
- HD Key Derivation: Hierarchical deterministic key generation
- Secure Key Storage: Keys are stored in memory only (not persisted)
- Private Key Masking: Private keys are hidden by default
- Copy Protection: Secure clipboard operations
- Click "Create Wallet" on the main page
- Your mnemonic phrase will be generated and displayed
- Important: Save your mnemonic phrase securely - it's the only way to recover your wallet
- Use the toggle to show/hide the mnemonic phrase
- Copy the mnemonic phrase to a secure location
- After creating a wallet, you can generate multiple accounts
- Click "New Account" to create additional accounts
- Each account has its own public and private key pair
- Copy keys using the copy buttons next to each key
- Public Key: Your wallet address (safe to share)
- Private Key: Your secret key (never share this)
- Mnemonic Phrase: 24-word recovery phrase (store securely)
- Never share your private keys or mnemonic phrase
- Store your mnemonic phrase in a secure location
- This is a client-side application - keys are not stored on any server
- Always verify you're on the correct domain before entering sensitive information
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Solana Foundation for the blockchain infrastructure
- BIP39 standard for mnemonic generation
- NextUI and Material-UI for the beautiful components
- The open-source community for the amazing tools and libraries
If you encounter any issues or have questions, please:
- Check the Issues page
- Create a new issue with detailed information
- Join our community discussions