A non-custodial Ethereum browser extension wallet powered by Ika's distributed key generation (2PC-MPC) on Sui blockchain.
Your private key never exists in one place - it's split between your browser and the Ika network, eliminating single points of failure.
KeySpring Wallet is a next-generation cryptocurrency wallet that leverages Multi-Party Computation (MPC) technology to provide unparalleled security without sacrificing user experience.
Unlike traditional wallets where your entire private key is stored in one place (creating a single point of failure), KeySpring uses Ika Network's Distributed Key Generation (DKG) protocol to split your key across multiple parties - your browser extension holds one share, and Ika's decentralized network on Sui blockchain holds the other.
No seed phrases. No single point of failure. True non-custodial security.
+------------------------+ +------------------------+
| Your Browser | | Ika Network (Sui) |
| (Secret Share 1) | MPC | (Secret Share 2) |
+------------------------+ <--> +------------------------+
| |
+-----------> Combined Signature <---+
(Key never combined!)
|
v
ETH Transaction
- Non-Custodial MPC - Your private key is cryptographically split. No single entity (including you!) ever holds the complete key
- 2PC-MPC Signing - Two-party computation ensures secure transaction signing without key reconstruction
- AES-GCM Encryption - Vault encrypted with 600K PBKDF2 iterations
- No Seed Phrases - Eliminates the #1 attack vector in crypto
Customize your wallet with professionally designed themes:
- KeySpring (Default) - Modern clean design with green accents
- Phantom Dark - Sleek purple with glowing violet accents
- Phantom Light - Clean light mode with purple accents
- Midnight Blue - Deep ocean blue with electric accents
- Forest Green - Nature-inspired emerald with warm wood tones
- Rose Gold - Elegant pink with golden highlights
- Ocean Deep - Teal and aqua wave gradients
- Bloomberg Terminal - Professional trading style with orange accents (PRO)
- Quantum Void - Cyberpunk neon glow effects (NEON)
- Multi-Wallet Support - Manage up to 10 wallets with intuitive tab interface
- Multi-Chain Ready - Ethereum, Sepolia, Polygon, Arbitrum, Optimism, Base
- Portfolio Dashboard - 7-day balance visualization with portfolio chart
- Token Display - View all your ERC-20 tokens and NFTs
- ENS Support - Send to
.ethnames automatically resolved - Smart Gas Selection - Choose between Slow/Normal/Fast fee options
- QR Code Receive - Easy address sharing for receiving funds
- Activity History - Filterable transaction log with status tracking
- EIP-1193 Provider - Full dApp connectivity standard
- EIP-6963 Discovery - Modern wallet detection protocol
- Connect to dApps - Works with Uniswap, OpenSea, and all Web3 apps
- Transaction Approvals - Review and approve transactions securely
- Auto-Lock Timer - Configurable 1/5/15/30 minute inactivity lock
- Password Protection - Optional password for transaction signing
- Connected Sites Manager - View and revoke dApp connections
- Auto-Updates - Built-in update checker and download
KeySpring uses Ika Network's 2PC-MPC (Two-Party Computation Multi-Party Computation) protocol, a cutting-edge cryptographic approach that eliminates single points of failure in key management.
1. WALLET CREATION
+-----------------+ +-----------------+ +------------------+
| User Request | --> | DKG Ceremony | --> | Key Shares Gen |
| Create Wallet | | Initiated | | On Sui Blockchain|
+-----------------+ +-----------------+ +------------------+
|
v
2. KEY DISTRIBUTION
+-------------------+ +-------------------+
| Share 1 (Browser) | <-- Split Key --> | Share 2 (Ika Net) |
| Encrypted locally | | On Sui validators |
+-------------------+ +-------------------+
3. TRANSACTION SIGNING (2PC-MPC Protocol)
+-------------+ +--------------+ +-------------+
| User Signs | --> | Presign Gen | --> | Ika Signs |
| Locally | | Threshold MPC| | On Network |
+-------------+ +--------------+ +-------------+
| |
+-------> Combined Signature <-----------+
(Full key NEVER exists!)
|
v
+-------------------+
| Broadcast to ETH |
+-------------------+
| Traditional Wallet | KeySpring MPC Wallet |
|---|---|
| Single private key stored | Key split across 2 parties |
| Seed phrase = single point of failure | No seed phrase needed |
| If compromised, total loss | Need BOTH shares to sign |
| Hardware wallet still has single key | True distributed security |
keyspring-wallet-pub/
|
+-- extension/ # Browser extension (Chrome Manifest V3)
| +-- src/
| | +-- popup/ # React UI components
| | | +-- pages/ # Main app pages (Home, Send, Settings, etc.)
| | | +-- components/ # Reusable UI components
| | | +-- hooks/ # React hooks (useTheme, useWallet, etc.)
| | | +-- lib/ # Theme configs, utilities
| | +-- background/ # Service worker (keyring, RPC handler)
| | +-- content/ # Content script (page injection)
| | +-- inpage/ # EIP-1193 provider (window.ethereum)
| | +-- lib/ # DKG module, chain configs, storage
| +-- manifest.json # Chrome extension manifest
| +-- package.json # Extension dependencies
|
+-- backend/ # Elysia backend for DKG orchestration
| +-- src/
| | +-- index.ts # Elysia HTTP server
| | +-- dkg-executor.ts # DKG ceremony orchestrator
| | +-- config.ts # Environment configuration
|
+-- frontend/ # Next.js web frontend (optional)
| +-- src/
| +-- pages/ # Next.js pages
| +-- lib/ # Shared utilities
| Component | Purpose |
|---|---|
extension/src/lib/dkg.ts |
Client-side DKG operations using @ika.xyz/sdk |
extension/src/inpage/provider.ts |
EIP-1193 Ethereum provider injected into pages |
extension/src/background/keyring.ts |
Encrypted vault management |
backend/src/dkg-executor.ts |
Server-side DKG ceremony coordinator |
# Clone the repository
git clone https://github.com/your-username/keyspring-wallet-pub.git
cd keyspring-wallet-pub/extension
# Install dependencies
npm install
# Build the extension
npm run build
# Load in Chrome:
# 1. Go to chrome://extensions
# 2. Enable "Developer mode"
# 3. Click "Load unpacked"
# 4. Select the `extension/dist` foldercd extension
# Watch for changes and auto-rebuild
npm run dev| Technology | Purpose |
|---|---|
| React 18 | UI framework |
| TypeScript | Type safety |
| Vite | Build tooling with HMR |
| Tailwind CSS | Utility-first styling |
| Zustand | Lightweight state management |
| React Router | Navigation |
| ethers.js v6 | Ethereum interactions |
| viem | Modern EVM utilities |
| Technology | Purpose |
|---|---|
| @ika.xyz/sdk | Ika Network DKG protocol |
| @mysten/sui | Sui blockchain client |
| @noble/hashes | Keccak256 hashing |
| Web Crypto API | AES-GCM encryption |
| PBKDF2 | Key derivation (600K iterations) |
| Technology | Purpose |
|---|---|
| Bun | JavaScript runtime |
| Elysia | Fast HTTP framework |
| TypeScript | Type safety |
| Technology | Purpose |
|---|---|
| Vite | Fast builds with HMR |
| @crxjs/vite-plugin | Chrome extension build support |
| PostCSS | CSS processing |
| Autoprefixer | CSS compatibility |
| Network | Chain ID | Status |
|---|---|---|
| Ethereum Mainnet | 1 | β Supported |
| Sepolia Testnet | 11155111 | β Supported |
| Polygon | 137 | β Supported |
| Arbitrum One | 42161 | β Supported |
| Optimism | 10 | β Supported |
| Base | 8453 | β Supported |
Custom networks can be added through Settings > Networks.
- β Seed phrase theft - No seed phrase exists
- β Single device compromise - Need both shares to sign
- β Browser extension attacks - Key share is encrypted
- β Server compromise - Server only has partial share
- β Man-in-the-middle - Cryptographic verification
- π Your wallet password (used to encrypt your local share)
- π» Keeping your device malware-free
- π Verifying transaction details before signing
Q: What if Ika Network goes down? A: Your share is stored locally. Ika is a decentralized network on Sui with high availability. Even if some nodes go offline, the network continues operating.
Q: Can Ika access my funds? A: No. Ika only holds one share. Without your browser's share, funds cannot be moved. This is mathematically guaranteed by the MPC protocol.
Q: Is this audited? A: The Ika SDK and protocol are developed by the Ika team. The wallet extension uses standard encryption practices.
Q: Which browsers are supported? A: Chrome, Brave, Edge, and other Chromium-based browsers (Manifest V3).
- Developed by Tyler Simpson
- Ika DKG Integration powered by @iamknownasfesal
- Built on Ika Network - Distributed Key Generation on Sui
- Ika Network - Learn about Ika DKG
- Sui Blockchain - The blockchain powering Ika
- EIP-1193 - Ethereum Provider Standard
- EIP-6963 - Multi Injected Provider Discovery
MIT License - see LICENSE for details.
KeySpring Wallet - Your keys, distributed. Your assets, secured.
π Non-Custodial | β‘ Fast | π¨ Beautiful | π‘οΈ Secure