Basics
When you sign up for CoinWave, you receive a 12-word recovery passphrase. This is the only way to recover your account if you lose access. We never store your passphrase. We only store a mathematical fingerprint (hash) of it that lets us verify it’s correct. It can’t be reversed to reveal your actual words.How are wallets secured
Your wallet private keys are encrypted using two separate secrets that must be combined:| Secret | Where It Lives | Who Has It |
|---|---|---|
| Server Key | HSM (Hardware Security Module) | CoinWave |
| Client Secret | Encrypted in our database | Unique to you |
Things that happen during signup
- You’re shown a 12-word recovery passphrase (save this!)
- We hash your passphrase with Argon2id (for verification only)
- We generate a random client secret just for you
- Your client secret is encrypted with our server key and stored
When you create a wallet
- We decrypt your client secret using our server key
- Your new wallet’s private key is encrypted using both keys
- The encrypted wallet is stored in a separate database
When you try to access your wallet
- Your request goes to our private API
- We decrypt your client secret
- We decrypt your wallet using both keys
- The decrypted key is sent to you for signing
Security Layers
HSM
Our server key is stored in a Hardware Security Module (HSM).Database Separation
We use two separate databases:- Primary: Your account info and encrypted client secrets
- Secondary: Your encrypted wallets (no identifying info)