Coinbase Extension — Secure Wallet & Web3 Gateway
A clear, user-focused browser extension for managing crypto, connecting to dApps, swapping tokens, and securing digital assets. The page below is an informational, demo-style landing page to explain features, installation steps, developer integration and safety practices.
Overview
Coinbase Extension provides non-custodial wallet capabilities inside your browser while offering a smooth connection path to decentralized applications. Keys are encrypted and stored locally; the extension handles transaction signing, account management, and network switching while prompting the user to approve sensitive operations.
Core features
Private keys and recovery phrases remain on the user's device and are encrypted by a local password. Signing operations happen inside the extension to avoid exposing keys to websites.
Websites request permission to access accounts through the injected provider API. Users explicitly approve account access and each transaction, ensuring consent and transparency.
Swap tokens directly using aggregated liquidity sources, compare quotes, and preview gas fees before approving trades—without leaving the extension UI.
Switch between Ethereum mainnet, testnets, and supported EVM-compatible chains. Developers can add or instruct users to add custom RPC endpoints for specialized use.
View and manage NFTs associated with your addresses; connect with marketplaces for deeper interaction and listings.
Install & setup (safe steps)
Always install browser extensions from the official Coinbase domain or the browser's official extension store page. Do not install from random links or third-party downloads.
- Visit the official Coinbase website or trusted extension store listing.
- Add the extension to your browser and pin it to the toolbar for convenience.
- Create or import a wallet using a Secret Recovery Phrase (seed) — do this only inside the extension UI.
- Write your recovery phrase offline on paper or use secure metal backups; never store it digitally or take screenshots.
How dApps connect (developer view)
Browser wallets inject a provider (commonly `window.ethereum`) that dApps use to request account access and to submit transactions. Below is a short example demonstrating the typical connection flow.
Developers should handle user rejections gracefully, listen to `accountsChanged` and `chainChanged` events, and present clear transaction descriptions before requesting signatures.
Privacy & UX considerations
Connecting exposes your public address to the dApp, which can be used for tracking across services. Consider advising users to create separate accounts for different dApps to limit linkability and to use privacy-preserving tools where appropriate.
Troubleshooting & common issues
If `window.ethereum` (or the expected provider) is undefined, the extension isn't installed. Provide clear install instructions and an unobtrusive CTA in your dApp UI.
Requests for access or transactions may be rejected. Catch errors and show friendly guidance with retry options and explanations.
If the dApp requires a specific chain, prompt the user to switch networks inside the extension. Optionally show a helper that explains how to add a custom RPC.