If you want to connect MetaMask to dApps like Uniswap, Aave, Curve, Lido or OpenSea and actually use DeFi (swap, stake, lend, trade NFTs), this guide covers the practical steps and the security checks I use daily. I’ve been using this setup for months and have made the usual mistakes (approved a bad contract once — learned fast). This is for people who hold a hot wallet and need to interact with smart contracts regularly.
Who this works for
Who should look elsewhere
And make sure the browser tab shows the correct dApp domain (HTTPS and no typos).
There are three common connection methods:
| Method | How it works | When to use | Security notes |
|---|---|---|---|
| Injected provider (extension) | Website reads window.ethereum and calls eth_requestAccounts | Desktop web dApps (Uniswap desktop) | Fast, but only works when the extension is unlocked |
| Mobile in-app browser | Open dApp inside wallet app; provider is injected into in-app webview | Mobile-first dApps, quick swaps on phone | Convenient; phone security matters |
| WalletConnect (QR/deep link) | Web dApp shows QR; mobile wallet pairs and signs via secure session | Use when extension not available or want mobile wallet on desktop site | Session persists until disconnected — remember to disconnect |
Under the hood the dApp requests accounts via ethereum.request({ method: 'eth_requestAccounts' }) and then either reads balances or asks you to sign a message or submit a transaction. The difference between a signature (no gas) and a transaction (gas required) matters. OpenSea logins often use a signature. Swaps and staking send transactions.
How to connect metamask to uniswap (desktop)
How to connect MetaMask to Uniswap (mobile)
Option A: Use the wallet app browser.
Option B: Use WalletConnect.
Quick safety check before swapping: confirm the token contract address on a block explorer, verify slippage settings, and set a max fee you’re comfortable with.
For step-by-step guides on NFTs and marketplace quirks see how-to-connect-opensea and nft-management.
Approve only what you need. Many dApps offer an option for "infinite" allowance; avoid it unless you understand the risk. If you accidentally grant permission, revoke it — see how-to-revoke-approvals.
Gas tips
And always double-check the exact transaction data on the confirmation popup before you hit confirm.
Problem: "Connect" button does nothing.
Problem: Pending transactions blocking new actions.
Problem: Signature request looks odd.
If you use a hardware wallet, you can connect it through the extension for on-chain actions (see connect-ledger and connect-trezor). That adds an extra physical confirmation step for each transaction.
Session keys and account abstraction are coming into wider use (read account-abstraction for details). But for most users today, the combination of MetaMask + hardware device + careful approvals is the best practical safety model.
Bridging across chains increases complexity and risk. Only use audited bridges and double-check token contract addresses on the destination chain (see bridges-cross-chain).
| dApp | Typical action | Extra steps to expect |
|---|---|---|
| Uniswap | Swap tokens | Approve token (ERC-20) if first use; set slippage |
| Aave | Supply/borrow | Approvals, collateral checks, contract interactions |
| Curve | Pool join/exit | Multiple token approvals, slippage on stable pools |
| Lido | Stake ETH | Single staking tx; liquid token minted |
| OpenSea | Browse/list NFTs | Signature for login; on-chain tx for listings/purchases |
Is it safe to keep crypto in a hot wallet?
Short answer: yes for everyday amounts. But hot wallets expose private keys to the internet. For large holdings use a hardware wallet or cold storage (see hardware-best-practices).
How do I revoke token approvals?
Use a revoke tool or follow how-to-revoke-approvals. Disconnect dApp sessions when done.
What happens if I lose my phone?
If you have your seed phrase you can restore on a new device (see backup-and-recovery-options). If not, funds are likely unrecoverable.
Connecting MetaMask to dApps is straightforward once you understand injected providers, WalletConnect, and the basic approval flow. Be cautious with allowances, check contract addresses, and use hardware for significant amounts. If you need platform-specific setup, start with install-extension or install-mobile, or read detailed guides for how-to-connect-opensea and how-to-walletconnect.
If you want a short practical checklist to print and follow before every connect, see security-best-practices.
Quick CTA: Try connecting to a test swap on a small amount first. It’s the fastest way to learn without risking real funds.