π Connecting to dApps
Learn how to connect SuperSafe Wallet to decentralized applications and understand the connection process.
Overviewβ
Connecting SuperSafe Wallet to dApps is a simple, secure process that follows the Smart Native Connection architecture. The wallet automatically detects dApp frameworks and provides seamless integration without compatibility hacks.
Connection Methodsβ
Direct Injection (Automatic)β
The most common connection method where SuperSafe automatically injects the EIP-1193 provider into web pages.
How It Worksβ
- Page Load: dApp loads in browser
- Provider Injection: SuperSafe injects provider
- Framework Detection: Detects dApp framework
- Connection Ready: dApp can request connection
Supported dAppsβ
- Uniswap: Decentralized exchange
- 1inch: DEX aggregator
- OpenSea: NFT marketplace
- Compound: Lending protocol
- Aave: Lending protocol
- Any EIP-1193 dApp: Standard-compliant dApps
WalletConnect V2/Reownβ
For mobile dApps or when direct injection isn't available.
How It Worksβ
- QR Code: dApp displays QR code
- Scan QR: Scan with SuperSafe mobile app
- Pair Devices: Pair desktop and mobile
- Connection Established: Connection ready
Use Casesβ
- Mobile dApps: Mobile-first dApps
- Desktop dApps: When direct injection fails
- Cross-Device: Connect across devices
- Public Computers: Secure connection on public computers
Step-by-Step Connection Processβ
Step 1: Visit dAppβ
Navigate to dAppβ
- Open Browser: Open Chrome or Brave
- Navigate to dApp: Go to dApp website
- Wait for Load: Wait for dApp to load completely
- Look for Connect: Look for "Connect Wallet" button
Example dAppβ
Visit: https://app.uniswap.org
Look for: "Connect Wallet" button
Status: SuperSafe provider injected automatically
Step 2: Initiate Connectionβ
Click Connect Buttonβ
- Find Connect Button: Look for "Connect Wallet" or similar
- Click Button: Click the connect button
- Wallet Selection: Choose SuperSafe from wallet list
- Connection Request: Connection request appears
Wallet Selectionβ
Available Wallets:
βββ SuperSafe Wallet β
βββ MetaMask
βββ Coinbase Wallet
βββ WalletConnect
Step 3: Review Connection Requestβ
Connection Request Modalβ
βββββββββββββββββββββββββββββββββββββββ
β π Connection Request β
β βββββββββββββββββββββββββββββββββββ β
β β dApp: Uniswap β β
β β URL: https://app.uniswap.org β β
β β Network: SuperSeed (5330) β β
β βββββββββββββββββββββββββββββββββββ β
β βββββββββββββββββββββββββββββββββββ β
β β Requested Permissions: β β
β β β’ View wallet address β β
β β β’ Send transactions β β
β β β’ Sign messages β β
β βββββββββββββββββββββββββββββββββββ β
β βββββββββββββββββββββββββββββββββββ β
β β Security Status: β
Trusted β β
β β AllowList: β
Verified β β
β βββββββββββββββββββββββββββββββββββ β
β [β Reject] [β
Connect] β
βββββββββββββββββββββββββββββββββββββββ
Review Informationβ
- dApp Name: Verify dApp name
- URL: Check website URL
- Network: Confirm network compatibility
- Permissions: Review requested permissions
- Security Status: Check security indicators
Step 4: Handle Network Compatibilityβ
If Network Compatibleβ
- Direct Connection: Connect immediately
- No Network Switch: Stay on current network
- Full Functionality: All features available
If Network Incompatibleβ
βββββββββββββββββββββββββββββββββββββββ
β π Network Switch Required β
β βββββββββββββββββββββββββββββββββββ β
β β dApp: Uniswap β β
β β Current: SuperSeed (5330) β β
β β Required: Ethereum (1) β β
β βββββββββββββββββββββββββββββββββββ β
β βββββββββββββββββββββββββββββββββββ β
β β Switch to Ethereum? β β
β β This will change your active β β
β β network for all dApps. β β
β βββββββββββββββββββββββββββββββββββ β
β [β Cancel] [β
Switch Network] β
βββββββββββββββββββββββββββββββββββββββ
Network Switch Optionsβ
- Switch Network: Change to required network
- Cancel Connection: Cancel connection request
- Use Anyway: Connect despite network mismatch
- Check dApp: Verify dApp network support
Step 5: Approve Connectionβ
Approve Connectionβ
- Review Details: Double-check all information
- Click Connect: Click "Connect" button
- Wait for Confirmation: Wait for connection confirmation
- Success: Connection established
Connection Successβ
βββββββββββββββββββββββββββββββββββββββ
β β
Connected Successfully β
β βββββββββββββββββββββββββββββββββββ β
β β dApp: Uniswap β β
β β Account: 0x742d...5f0bEb β β
β β Network: Ethereum (1) β β
β β Status: Connected β β
β βββββββββββββββββββββββββββββββββββ β
β [π Start Using dApp] β
βββββββββββββββββββββββββββββββββββββββ
Framework-Specific Connectionsβ
RainbowKit Integrationβ
Automatic Detectionβ
- Framework Detection: SuperSafe detects RainbowKit
- Wallet Registration: Registers as available wallet
- Seamless Integration: Appears in wallet list
- Custom Connector: Uses custom RainbowKit connector
Connection Processβ
- dApp Loads: RainbowKit dApp loads
- Wallet List: SuperSafe appears in wallet list
- Click Connect: Click SuperSafe in list
- Standard Flow: Follow standard connection flow
Wagmi Integrationβ
Provider Integrationβ
- Provider Detection: Detects Wagmi provider
- Hooks Support: Full Wagmi hooks support
- TypeScript: Complete TypeScript support
- React Integration: Seamless React integration
Connection Processβ
- dApp Loads: Wagmi dApp loads
- Provider Available: Provider becomes available
- Connect Hook: Use Wagmi connect hook
- Standard Flow: Follow standard connection flow
Web3-React Integrationβ
Connector Integrationβ
- Connector Detection: Detects Web3-React
- Custom Connector: Uses custom connector
- Hooks Support: Web3-React hooks support
- Provider Integration: Provider integration
Connection Processβ
- dApp Loads: Web3-React dApp loads
- Connector Available: Connector becomes available
- Connect Function: Use connect function
- Standard Flow: Follow standard connection flow
Dynamic Integrationβ
Wallet Integrationβ
- Wallet Detection: Detects Dynamic wallet
- Custom Wallet: Uses custom Dynamic wallet
- Multi-Wallet: Multi-wallet support
- Seamless Integration: Seamless integration
Connection Processβ
- dApp Loads: Dynamic dApp loads
- Wallet Available: Wallet becomes available
- Connect Wallet: Use Dynamic connect
- Standard Flow: Follow standard connection flow
Connection Troubleshootingβ
Common Issuesβ
Connection Not Workingβ
- Check Extension: Ensure SuperSafe is installed
- Refresh Page: Refresh the dApp page
- Check Network: Verify network compatibility
- Clear Cache: Clear browser cache
Wallet Not Appearingβ
- Framework Support: Check if framework is supported
- Detection Issues: Try manual connection
- Browser Compatibility: Check browser compatibility
- Extension Status: Check extension status
Network Mismatchβ
- Check dApp: Verify dApp network support
- Switch Network: Switch to required network
- Manual Switch: Switch network manually
- Check Settings: Verify network settings
Debug Stepsβ
Check Providerβ
// Check if provider is available
if (window.ethereum) {
console.log('Provider available');
console.log('Is SuperSafe:', window.ethereum.isSuperSafe);
} else {
console.log('Provider not available');
}
Check Connectionβ
// Check connection status
ethereum.request({ method: 'eth_accounts' })
.then(accounts => {
console.log('Connected accounts:', accounts);
})
.catch(error => {
console.error('Connection error:', error);
});
Check Networkβ
// Check current network
ethereum.request({ method: 'eth_chainId' })
.then(chainId => {
console.log('Current chain ID:', chainId);
})
.catch(error => {
console.error('Network error:', error);
});
Security Considerationsβ
Before Connectingβ
Verify dAppβ
- Check URL: Verify dApp URL is correct
- Look for HTTPS: Ensure secure connection
- Check Reputation: Research dApp reputation
- Read Reviews: Check user reviews
Review Permissionsβ
- Account Access: Understand what account access means
- Transaction Sending: Understand transaction permissions
- Message Signing: Understand message signing
- Network Switching: Understand network switching
During Connectionβ
Check Security Indicatorsβ
- Trusted dApp: Green indicator for trusted dApps
- Unknown dApp: Yellow indicator for unknown dApps
- Blocked dApp: Red indicator for blocked dApps
- Security Warning: Clear security warnings
Verify Informationβ
- dApp Name: Verify dApp name is correct
- URL: Check URL matches expected dApp
- Network: Confirm network is correct
- Permissions: Review requested permissions
After Connectionβ
Monitor Activityβ
- Transaction History: Check transaction history
- Permission Changes: Monitor permission changes
- Network Changes: Watch for network changes
- Suspicious Activity: Look for suspicious activity
Regular Reviewβ
- Connection List: Review connected dApps
- Permission Audit: Audit granted permissions
- Security Check: Regular security checks
- Update Status: Keep dApp status updated
Best Practicesβ
For Usersβ
- Verify dApps: Always verify dApp authenticity
- Review Permissions: Understand what permissions mean
- Check Networks: Be aware of current network
- Monitor Activity: Watch for suspicious activity
For Developersβ
- EIP-1193 Compliance: Follow EIP-1193 standard
- Error Handling: Implement proper error handling
- User Experience: Provide clear user experience
- Security: Implement security best practices
Connection Managementβ
Viewing Connectionsβ
- Connected dApps: List of connected dApps
- Connection Details: Details for each connection
- Permission Status: Current permission status
- Network Status: Network compatibility status
Managing Connectionsβ
- Disconnect dApp: Disconnect from dApp
- Revoke Permissions: Revoke specific permissions
- Update Permissions: Update permission settings
- Connection History: View connection history
Next Stepsβ
Now that you can connect to dApps:
- Approving Transactions - Learn transaction approval
- Managing Connections - Learn connection management
- Security Overview - Understand security features
- For Developers - Developer integration
Ready to approve transactions? Continue to Approving Transactions!