A wallet is a pair of keys. You keep the private key secret and use it to sign
transactions; anyone can use the matching public key to verify your signature
without ever seeing your secret. These are real ECDSA keys from your browser's crypto engine, not a mock-up.
1
Generate a key pair
Each derivation is one-way.
🎲
Randomness
256 bits
→
🔒
Private key
secret
→
📢
Public key
curve point
→
📫
Address
Hash160
No wallet yet. Generate one to see its keys.
⚠Private key — never share this
—
Public key — safe to share
—
Address — RIPEMD-160 of SHA-256 of the public key (Bitcoin's Hash160)
—
+25 XP earned
2
Sign a transaction
Uses the private key.
Signature (ECDSA over the transaction bytes)
—
3
Verify the signature
Uses only the public key.
Verification needs the message, the signature, and the public key. No private key involved. Try breaking it: