1b. Local Key Storage
Local Key Storage
Private keys are generated and stored locally on the user’s device: browser local storage (desktop) or Secure Enclave/Keystore (mobile). Coinbase has no access to these keys — the wallet is self-custodial.
Execution: node get-key.mjs
import { Wallet } from "ethers";
// Replace with your actual 12-word recovery phrase
const mnemonic = "your twelve word mnemonic phrase here";
const wallet = Wallet.fromPhrase(mnemonic);
console.log("Address:", wallet.address);
console.log("Private Key:", wallet.privateKey);
12 word recovery phase can be recovered from the app.
!Pasted image 20250501205410.png
The Coinbase Wallet (browser extension, mobile app, or web) uses a 12-word recovery phrase (also called a seed phrase) to generate and store your private key.
🔐 What Happens Under the Hood
Component | What It Does |
---|---|
Coinbase Wallet App | When you first create a wallet, it generates a 12-word mnemonic phrase using the BIP39 standard. |
Seed Phrase | This 12-word phrase deterministically generates your private key(s). |
Private Key | Stored encrypted in your browser (Firefox, Safari, Chrome, etc.), and derived from the 12-word seed. |
You Are Custodian | Coinbase does not store your seed phrase or private keys — you must back them up manually. |
Sign in options.
BLUF: The website (keys.coinbase.com) gives you multiple sign-in options because WebAuthn (Passkeys) supports a range of authenticators — all of which can securely access your private key or passkey credentials. The private key doesn’t have to be in a single place, but must be available to the authenticator method you choose.
** Why are there three sign-in options?**
Option | Where Private Key Is Stored | What Happens |
---|---|---|
Passwords (Apple devices) | Stored in Apple Keychain (local or iCloud) | Uses Face ID / Touch ID to unlock and sign |
iPhone/iPad/Android device | Stored in secure enclave of mobile device | Uses QR/WebAuthn over BLE/NFC/camera to sign |
Security key | Stored in external hardware (e.g., YubiKey) | Requires physical key + PIN/tap to sign |
In all 3 cases, you’re proving ownership of the same identity (i.e., your Coinbase Wallet or crypto keypair) — just via different authenticators.