Supported Devices
Rainbow currently supports:- Ledger Nano S
- Ledger Nano S Plus
- Ledger Nano X
Other hardware wallet brands (Trezor, etc.) are not currently supported. Ledger integration uses Bluetooth (Nano X) or USB connection (Nano S/S Plus).
How It Works
Hardware wallet integration keeps your keys secure:- Private keys never leave the device: All signing happens on Ledger
- Transaction verification: Review and approve each transaction on device screen
- Multiple accounts: Support for multiple derivation paths
- Bluetooth/USB: Wireless or wired connection options
LedgerSigner Implementation
Rainbow implements a custom signer for Ledger devices:Connecting a Ledger Device
Prepare Ledger
Before connecting to Rainbow:
- Ensure Ledger firmware is up to date
- Install Ethereum app on Ledger
- Enable “Blind Signing” in Ethereum app settings (for smart contracts)
- Unlock device with PIN
Open Ethereum App
On your Ledger device:
- Navigate to Ethereum app
- Open the app
- Device should show “Application is ready”
Connect in Rainbow
In Rainbow app:
- Go to Settings > Add Wallet
- Select “Connect Hardware Wallet”
- Choose “Ledger”
- For Nano X: Enable Bluetooth and pair
- For Nano S/S Plus: Connect via USB
Signing Transactions
When sending transactions with a Ledger wallet:Sign Transaction Flow
Transaction Prepared
Rainbow builds transaction:
- Destination address
- Amount and token
- Gas price and limit
- Transaction data
Review on Device
User reviews on Ledger screen:
- Transaction details
- Amount and recipient
- Gas fees
- Contract data (if applicable)
Approve or Reject
User decides:
- Approve: Press right button to sign
- Reject: Press left button to cancel
Signing Messages
For message signing (e.g., wallet verification, dApp connections):Typed Data Signing (EIP-712)
For structured data signing (used by many dApps):Error Handling & Retry Logic
Ledger connections can be unreliable. Rainbow implements retry logic:Common Errors
Ethereum App Not Open
Ethereum App Not Open
Error: “Ledger: Eth app not open”Solution:
- Unlock your Ledger device
- Open the Ethereum app
- Ensure it shows “Application is ready”
- Try connecting again in Rainbow
Blind Signing Not Enabled
Blind Signing Not Enabled
Error: “Enable blind signing in Ledger Ethereum app”Solution:
- Open Ethereum app on Ledger
- Go to Settings
- Enable “Blind Signing”
- This is required for smart contract interactions
Transaction Rejected
Transaction Rejected
Error: “Transaction rejected by user”Solution:
- This is normal if you rejected on device
- Review transaction details carefully
- Approve on Ledger if transaction is correct
- Cancel in Rainbow if you don’t want to proceed
Connection Timeout
Connection Timeout
Error: “Ledger: Signer timeout”Solution:
- Check Bluetooth/USB connection
- Move closer to device (Bluetooth)
- Try different USB port/cable
- Restart Ledger and Rainbow
- Re-pair Bluetooth connection
Transport Error
Transport Error
Error: Various transport/communication errorsSolution:
- Disconnect and reconnect Ledger
- Close and reopen Ethereum app on Ledger
- Restart Rainbow app
- Update Ledger firmware if available
- Update Ethereum app on Ledger
Security Considerations
What’s Secure
Private keys never exposed: Keys never leave the Ledger device
Transaction verification: Every transaction shown on device screen
Physical confirmation: Requires button press on device
Malware resistant: Even if phone is compromised, keys are safe
Best Practices
Verify on Device
Always verify transaction details on Ledger screen:
- Recipient address
- Amount being sent
- Token/asset type
- Gas fees
- Never trust Rainbow display alone
Enable Blind Signing Carefully
Blind signing is required for:
- Token swaps
- DeFi interactions
- NFT purchases
- Any smart contract calls
- You can’t see full transaction details
- Only use with trusted dApps
- Understand what you’re approving
Keep Firmware Updated
Regular updates provide:
- Security patches
- New features
- Bug fixes
- Better compatibility
Derivation Paths
Rainbow supports standard Ethereum derivation paths:- Default:
m/44'/60'/0'/0/0 - Account 1:
m/44'/60'/0'/0/1 - Account 2:
m/44'/60'/0'/0/2 - And so on…
Limitations
- No backup to cloud: Hardware wallet accounts cannot be cloud backed up (keys are on device)
- Device required: Must have Ledger connected to sign transactions
- Bluetooth range: Nano X limited to Bluetooth range
- USB connection: Nano S/S Plus requires USB adapter on mobile
- Blind signing: Limited visibility for complex smart contract interactions
Platform Support
iOS
- Bluetooth support for Ledger Nano X
- USB support requires Lightning to USB adapter
- Works with iOS 13+
Android
- Bluetooth support for Ledger Nano X
- USB OTG support for Nano S/S Plus
- Works with Android 8+
Troubleshooting
Ledger Not Detected
Check Basics
- Ledger is unlocked
- Ethereum app is open
- Bluetooth enabled (Nano X)
- USB connected properly (Nano S/S Plus)
Reset Connection
- Close Ethereum app on Ledger
- Disconnect Bluetooth/USB
- Restart Rainbow app
- Reconnect and open Ethereum app
Update Everything
- Update Ledger firmware
- Update Ethereum app on Ledger
- Update Rainbow to latest version
Transaction Won’t Sign
- Check Ledger screen: May be waiting for approval
- Verify blind signing: Enable if doing smart contract interaction
- Check gas settings: May be too low or too high
- Try again: Sometimes requires retry
- Contact support: If persistent issues
Related Features
Wallet Overview
Understanding different wallet types
Account Management
Managing accounts and addresses
Backup & Restore
Backup options for software wallets
Swaps Overview
Using Ledger for token swaps