This module explains how users interact with blockchains through cryptographic key pairs and wallet software. ## Public/Private Keys :::info For a more detailed guide on this topic, see [Private Keys and Public Keys](/developers/blockchain-essentials/browser/#private-keys-and-public-keys). ::: Every user interacts with a blockchain through a cryptographic key pair: - **Private Key:** A secret number used to sign transactions. - **Public Key:** Derived from the private key. - **Address:** A shortened, user-friendly representation of the public key. Transactions are "signed" using the private key, proving ownership without revealing the key itself. ### How Keys Work Together ```text Private Key (secret) ↓ Public Key (derived) ↓ Address (shortened for use) ``` :::warning[Keep Your Private Key Safe] Anyone with access to your private key can control your funds. Never share it or store it in plaintext. ::: ## Wallets A wallet is a tool (software or hardware) that: - Stores your private key - Signs transactions - Generates addresses ### Types of Wallets | Wallet Type | Description | Examples | |------------|-------------|----------| | Browser Extension | Runs in your browser | MetaMask, Rabby | | Hardware Wallet | Physical device for cold storage | Ledger, Trezor | | Mobile Wallet | App on your phone | Trust Wallet | | Web Wallet | Accessed via browser | Rootstock Web Wallet | ### Recommended Wallets for Rootstock For a list of recommended wallets and setup guides, see the [Wallets](/dev-tools/wallets/) section. ## Summary Before moving forward, ensure you understand: - The relationship between private keys, public keys, and addresses - How transaction signing works - Different wallet types and their trade-offs **Next:** [Understanding Gas and Transactions](/developers/blockchain-essentials/new-to-blockchain/gas-transactions/)