Quick overview: who this guide is for
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
- Mobile-first users who use the wallet app browser or WalletConnect.
- Desktop users who use the browser extension to interact with injected web dApps.
Who should look elsewhere
Prerequisites before you connect
And make sure the browser tab shows the correct dApp domain (HTTPS and no typos).
How MetaMask connects to dApps (under the hood)
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.

Step-by-step: connect MetaMask to Uniswap (desktop & mobile)
How to connect metamask to uniswap (desktop)
- Open the Uniswap site in a browser tab.
- Click "Connect Wallet" then choose the injected wallet option (MetaMask in the list).
- Switch to the wallet extension when the popup appears.
- Confirm the site origin and select the account to connect.
- Approve the connection (this is a site permission only — no gas yet).
How to connect MetaMask to Uniswap (mobile)
Option A: Use the wallet app browser.
- Open the in-app browser, enter Uniswap URL, tap Connect, then approve in the mobile wallet.
Option B: Use WalletConnect.
- On Uniswap select WalletConnect, scan the QR with the wallet app, then approve the pairing.
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.
Connecting to Aave, Curve, Lido and OpenSea — what’s different
- Aave: lending requires deposit/approve steps. The dApp often asks for ERC-20 approval (allowance) before the actual deposit transaction.
- Curve: pools and stablecoin pools may require multiple approvals and careful slippage settings on certain pool actions.
- Lido: staking via Lido typically sends a staking transaction; liquid-staking tokens are minted in return. Check the staking contract address.
- OpenSea: connecting to OpenSea often asks for a signature (no gas). Listing an NFT or accepting a sale may trigger on-chain transactions.
For step-by-step guides on NFTs and marketplace quirks see how-to-connect-opensea and nft-management.
Token approvals, gas settings and safety checks
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
- MetaMask uses the EIP-1559 model (base fee + priority fee). You can edit the priority fee in advanced gas settings.
- On Layer 2s and sidechains gas is lower; use the correct network (see layer2).
- For swaps, set slippage to a reasonable percentage (Uniswap shows estimated price impact).
And always double-check the exact transaction data on the confirmation popup before you hit confirm.
Troubleshooting common connection problems
Problem: "Connect" button does nothing.
- Extension locked? Unlock it.
- Wrong network? Switch to the network the dApp requires.
- No provider detected? Confirm the extension is enabled and refresh the page (see extension-troubleshooting).
Problem: Pending transactions blocking new actions.
Problem: Signature request looks odd.
- Don’t sign arbitrary messages. If the request asks for access to funds or an unusual permission, pause and verify.
Advanced options: hardware, sessions, bridges
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).
Quick comparison: dApp interaction patterns
| 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 |
FAQ
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.
Conclusion and next steps
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.