WalletConnect v2 Integration Overview
WalletConnect is the industry-standard protocol for connecting decentralized Web3 wallets to exchanges, DeFi platforms, and dApps. Our platform integrates WalletConnect v2, enabling users to connect their existing wallets securely without exposing private keys through our crypto wallet infrastructure.
This integration is essential for exchanges offering Web3 wallet functionality, DeFi integrations, and cross-chain services across EVM networks.
What is WalletConnect v2
Decentralized Wallet Connection Protocol
WalletConnect is an open-source protocol that establishes encrypted connections between dApps (like your exchange) and user wallets. Unlike browser extensions that inject code into websites, WalletConnect works through QR codes and deep links, providing:
- End-to-end encryption for all communications
- No private key exposure to the exchange or WalletConnect servers
- Device independence (connect mobile wallet to desktop browser)
- Universal compatibility across wallet providers
WalletConnect v2 Improvements Over v1
The v2 protocol introduced major upgrades:
Multi-Chain Support:
- v1 required separate sessions per blockchain
- v2 allows single session supporting multiple chains simultaneously
- Switch between Ethereum, Polygon, BSC without reconnecting
Better Performance:
- More efficient message passing (reduced latency by 40%)
- Optimized push notifications for transaction requests
- Lower bandwidth usage for mobile users
Enhanced Security:
- Updated encryption standards (ChaCha20-Poly1305)
- Improved session authentication
- More granular permission controls (specify which chains wallet can interact with)
Wallet and dApp Ecosystem
WalletConnect’s adoption:
- 300+ supported wallets including all major providers
- 4,000+ dApp integrations across DeFi, NFT, gaming, and exchanges
- Billions in transaction volume processed through the protocol
- Industry standard for Web3 wallet connectivity
Supported Wallets
Major Mobile Wallets
MetaMask - Most popular Ethereum wallet:
- 30+ million monthly active users
- iOS and Android apps
- Multi-chain support via network switching
Trust Wallet - Binance-backed multi-chain wallet:
- Built-in dApp browser
- 10+ million users
- Wide token and chain support
Rainbow - User-friendly Ethereum wallet:
- iOS-focused design (Android coming)
- Emphasis on NFTs and DeFi
- Clean interface popular with newer users
Coinbase Wallet - Non-custodial wallet from Coinbase:
- Separate from Coinbase exchange account
- Integrated with Coinbase services
- Strong US user base
Hardware Wallet Integration
Ledger Live:
- Connect Ledger hardware wallet via WalletConnect
- Sign transactions with hardware key confirmation
- Highest security for large holdings
Trezor Suite:
- Similar to Ledger, hardware wallet security
- WalletConnect support in Trezor Suite app
- Pin and passphrase protection
Region-Specific Wallets
Popular in specific geographic markets:
imToken - Asia-focused:
- 12+ million users primarily in China, Korea, Southeast Asia
- Multi-chain support
- Built-in DeFi and NFT features
TokenPocket - Multi-chain Asian wallet:
- Support for 30+ blockchains
- Popular in China and Southeast Asia
- DeFi and GameFi integrations
Argent - Smart contract wallet (Europe):
- Social recovery (no seed phrase)
- Built-in DeFi investments
- Growing European user base
Phantom - Solana ecosystem (with EVM support):
- Leading Solana wallet
- Now supports Ethereum and Polygon via WalletConnect
- 6+ million users
Multi-Chain Support
EVM-Compatible Chains
WalletConnect v2 natively supports all EVM chains:
Layer 1 Blockchains:
- Ethereum Mainnet
- Binance Smart Chain (BSC)
- Avalanche C-Chain
- Polygon (MATIC)
- Fantom Opera
Layer 2 Networks:
- Arbitrum One
- Optimism
- Base (Coinbase L2)
- zkSync Era
- Polygon zkEVM
Testnets:
- Goerli, Sepolia (Ethereum)
- BSC Testnet
- Polygon Amoy
- Arbitrum Goerli
Non-EVM Chain Support via Adapters
Chains requiring specialized adapters:
- Solana: Via Solana adapter (SPL token support)
- Cosmos: IBC-enabled chains (ATOM, OSMO, etc.)
- Polkadot: Substrate-based parachains
- Near Protocol: NEAR ecosystem connections
Automatic Network Switching
WalletConnect v2 enables seamless chain switching:
- dApp requests network switch when user tries to interact with different chain
- Wallet prompts user to approve network change
- Connection persists across network switches (unlike v1)
- Multi-chain operations in single session (e.g., bridge Ethereum to Polygon)
Users don’t need to disconnect and reconnect when switching chains.
Session Management
QR Code Connection Flow
Desktop browser to mobile wallet connection:
- User clicks “Connect Wallet” on exchange
- QR code displayed containing encrypted connection request
- User scans with wallet app (camera or in-app scanner)
- Wallet prompts approval showing which chains and permissions requested
- User approves and session established
- Exchange confirms connection and displays wallet address
QR codes expire after 5 minutes for security.
Deep Linking for Mobile
Native mobile app integration:
- User taps “Connect Wallet” in mobile exchange app or browser
- Deep link opens wallet app automatically (no QR code needed)
- Wallet prompts approval as above
- User approves and returns to exchange app
- Session active for transactions
Deep links use URI schemes: wc://, metamask://, trust://, etc.
Session Persistence
Connections remain active:
- Session IDs stored locally in browser/app
- Reconnection on page refresh without re-scanning QR code
- Expiration policies (typically 24 hours to 7 days of inactivity)
- Manual disconnection by user from either wallet or dApp side
Multi-Session Support
Advanced users can connect multiple wallets:
- Primary wallet for main trading activities
- Secondary wallets for comparing balances or accessing specific tokens
- Session switching to choose which wallet signs transaction
- Per-wallet permissions (different chains or operations per wallet)
Useful for institutional users managing multiple accounts.
Security & Signatures
End-to-End Encryption
All communications encrypted:
- Symmetric encryption using session keys
- Key exchange via secure handshake protocol
- Relay servers cannot decrypt message content (only route encrypted data)
- No private keys transmitted - all signing happens in wallet app
User Signature Approval
Every transaction requires explicit user approval:
- Exchange initiates transaction (e.g., deposit, withdrawal, trade)
- Wallet app receives request via push notification or when opened
- User reviews transaction details: Recipient address, amount, gas fee, contract interaction
- User approves or rejects in wallet app
- Signature sent back to exchange if approved
Users maintain full control - exchange cannot sign transactions without approval.
Transaction Simulation
Advanced wallets show transaction outcomes:
- Balance changes (how much will be sent/received)
- Smart contract interactions (which functions will be called)
- Risk warnings (unknown contracts, large allowances)
- Gas estimates (total cost in fiat currency)
This helps users avoid malicious transactions.
Phishing Protection
WalletConnect architecture prevents common attacks:
- No seed phrase entry - users never type private keys into websites
- Transaction review happens in trusted wallet app, not on website
- Domain verification - some wallets show which website is requesting signature
- Allowance warnings - flagging unlimited token approvals
Significantly safer than entering keys directly into exchange platforms.
Getting Started
SDK Installation
For developers integrating WalletConnect:
JavaScript/TypeScript:
npm install @walletconnect/web3-provider
React:
npm install @web3modal/react @walletconnect/ethereum-provider
Vue:
npm install @web3modal/vue @walletconnect/ethereum-provider
Code Example: Connect Wallet
import { EthereumProvider } from '@walletconnect/ethereum-provider';
// Initialize provider
const provider = await EthereumProvider.init({
projectId: 'YOUR_PROJECT_ID',
chains: [1], // Ethereum mainnet
optionalChains: [137, 56], // Polygon, BSC
methods: ['eth_sendTransaction', 'personal_sign'],
events: ['chainChanged', 'accountsChanged']
});
// Connect wallet
await provider.connect();
// Get user address
const accounts = await provider.request({
method: 'eth_requestAccounts'
});
console.log('Connected:', accounts[0]);
Code Example: Sign Transaction
// Request signature
const txHash = await provider.request({
method: 'eth_sendTransaction',
params: [{
from: userAddress,
to: recipientAddress,
value: '0x9184e72a000', // 0.01 ETH in hex
gas: '0x5208' // 21000 gas limit
}]
});
console.log('Transaction:', txHash);
Code Example: Switch Network
// Request network switch
await provider.request({
method: 'wallet_switchEthereumChain',
params: [{ chainId: '0x89' }] // Polygon chainId in hex
});
console.log('Switched to Polygon');
UI Integration
Our platform includes pre-built WalletConnect components:
- Connect button with wallet selection modal
- Connected wallet display showing address and balance
- Disconnect button
- Network switcher dropdown
- Transaction confirmation UI while waiting for wallet approval
Customize styling to match your brand.
Implementation Benefits
WalletConnect integration enables:
Wallet Deposits and Withdrawals:
- Users send assets from external wallets to exchange
- Withdraw from exchange to connected wallet address
- No need to copy-paste addresses (auto-populated)
DeFi Integrations:
- Connect to liquidity pools and yield farming protocols
- Trade on decentralized exchanges
- Stake assets in DeFi platforms
NFT Marketplace Connections:
- Display user’s NFT collections
- Enable NFT deposits to exchange wallet
- List and trade NFTs
Cross-Chain Swaps:
- Bridge assets between chains
- Swap tokens across different networks
- Unified multi-chain portfolio view
Enhanced Security:
- Hardware wallet support for large accounts
- No private key exposure to exchange infrastructure
- User maintains custody during interactions
Our WalletConnect integration is production-ready with customizable UI components. Contact us for implementation guidance and explore our complete security features for wallet infrastructure.