Desktop Application
Installation & Startup Issues
Application won't start
Application won't start
Symptoms: Double-clicking the application does nothing or shows an error.Solutions:
-
macOS: Check if the app is blocked by Gatekeeper
- Go to System Preferences → Security & Privacy
- Click “Open Anyway” if you see a message about KaleidoSwap
-
Windows: Run as Administrator
- Right-click the app → Run as Administrator
- Check Windows Defender hasn’t quarantined the file
-
Linux: Check execution permissions
-
Check system requirements:
- 4GB RAM minimum
- 500MB free disk space
- Modern OS version (macOS 10.15+, Windows 10+, Ubuntu 20.04+)
Binary verification fails
Binary verification fails
Symptoms: SHA256 checksum doesn’t match the published hash.Solutions:
- Re-download the application from the official GitHub releases
- Ensure you’re downloading the correct file for your platform
- Use a reliable download connection (corrupted downloads can cause mismatches)
- Verify you’re comparing against the correct version’s checksum
App crashes on startup
App crashes on startup
Symptoms: Application opens briefly then closes, or shows a crash dialog.Solutions:
-
Check the log files:
- macOS:
~/Library/Application Support/KaleidoSwap/logs/ - Windows:
%APPDATA%/KaleidoSwap/logs/ - Linux:
~/.config/KaleidoSwap/logs/
- macOS:
-
Common causes:
- Corrupted configuration: Delete the config file and restart
- Port conflict: Another app is using the required ports (9735, 9736)
- Missing dependencies: Reinstall the application
-
Try running with debug logging:
Node & Connection Issues
Cannot connect to LSP
Cannot connect to LSP
Symptoms: Error messages about LSP connection, or unable to open channels.Solutions:
-
Check your internet connection
- Ensure you have a stable internet connection
- Try accessing other websites to verify connectivity
-
Verify LSP URL
- Default:
https://api.staging.kaleidoswap.com - Check Settings → LSP Configuration
- Default:
-
Firewall/VPN issues
- Disable VPN temporarily to test
- Allow KaleidoSwap through your firewall
- Required ports: 9735 (P2P), 9736 (RPC)
-
Check LSP status
- Visit the LSP’s status page or contact support
- Try switching to a different LSP if available
Node sync is very slow
Node sync is very slow
Symptoms: Blockchain sync taking hours or appearing stuck.Solutions:
-
Normal behavior: Initial sync can take 30 minutes to several hours depending on:
- Your internet speed
- Your system’s disk speed
- Network congestion
-
Check sync progress:
- Look for block height in the UI
- Compare against current network height
-
Stuck sync troubleshooting:
- Restart the application
- Check available disk space (need at least 10GB free)
- Clear peer list and reconnect
- Check firewall isn’t blocking P2P connections
Peer connection issues
Peer connection issues
Symptoms: “No peers connected” or low peer count.Solutions:
- Wait: Peer discovery can take a few minutes
-
Check network settings:
- Ensure UPnP is enabled on your router (for incoming connections)
- Manually forward port 9735 if UPnP unavailable
-
Bootstrap nodes:
- The app should connect to bootstrap nodes automatically
- If not, check your internet connection and firewall
-
Network selection:
- Verify you’re on the correct network (Mainnet/Testnet/Signet/Regtest)
- Peers must be on the same network
Wallet & Asset Issues
Wallet balance shows zero
Wallet balance shows zero
Symptoms: Expecting funds but balance shows 0 or is incorrect.Solutions:
- Wait for sync: Balance won’t show until node is fully synced
- Check the correct network: Ensure you’re on the network where you have funds
- Verify wallet recovery: If you restored from seed, ensure you used the correct mnemonic
- Check asset vs BTC balance: Toggle between Bitcoin and RGB asset views
- Refresh: Try restarting the application
Cannot unlock wallet
Cannot unlock wallet
Symptoms: Password not working, wallet stays locked.Solutions:
- Verify password: Passwords are case-sensitive
- Caps Lock: Check if Caps Lock is accidentally on
- Different keyboard layout: Ensure same keyboard layout as when password was set
- Wallet recovery: If password is truly lost, you’ll need to recover using your mnemonic seed
- Contact support: As a last resort, contact support with your wallet public key (never share private keys)
RGB asset not appearing
RGB asset not appearing
Symptoms: Received an asset but it doesn’t show in your wallet.Solutions:
- Wait for confirmation: RGB asset transfers require Bitcoin confirmations
- Import consignment: You may need to manually import the consignment data
- Check asset ID: Verify you’re looking at the correct asset
- Refresh asset list: Settings → Assets → Refresh
- Verify sender completed transfer: Contact sender to confirm they finished the send process
Channel Operations
Channel opening failed
Channel opening failed
Symptoms: Channel order fails or gets stuck.Solutions:
- Check order status: Use Order ID to check status via API or support
-
Common failure reasons:
- Insufficient funds: Need to cover channel amount + fees
- Payment timeout: Invoice expired before payment
- Invalid parameters: Check min/max channel sizes
- LSP unavailable: Temporary LSP downtime
-
Refund process:
- If order fails, refunds are automatic to your refund address
- Refunds may take 6+ confirmations to appear
-
Retry:
- Wait a few minutes and try again
- Reduce channel size if at maximum
- Verify sufficient inbound liquidity
Channel shows as inactive
Channel shows as inactive
Symptoms: Channel exists but cannot send/receive payments.Solutions:
-
Wait for confirmations: Channels need blockchain confirmations to become active
- Typically 3-6 confirmations required
- Check confirmation count in channel details
-
Peer offline: Your channel partner needs to be online
- Wait for peer to come back online
- Check “Last Seen” timestamp
-
Channel reserves: Cannot spend below channel reserve amount
- Lightning channels require keeping a reserve balance
- This is normal protocol behavior
-
Force close: If channel is permanently stuck, you can force-close
- This puts funds back on-chain after a delay
- Should be last resort
Asset delivery pending
Asset delivery pending
Symptoms: Channel opened but RGB assets not yet delivered.Solutions:
-
Normal delay: Asset delivery via keysend can take a few minutes
- Automatic retry mechanism in place
- Can take up to 30 minutes in some cases
-
Check delivery status:
- Order details show asset delivery status
- Statuses: PENDING → IN_PROGRESS → COMPLETED
-
Manual retry:
- Use “Retry Delivery” button if available
- API endpoint:
/api/v1/lsps1/retry_delivery
-
Failed delivery:
- Contact LSP support with Order ID
- Refund may be available if delivery cannot complete
Trading & Swaps
Swap failed or timed out
Swap failed or timed out
Symptoms: Swap doesn’t complete or expires.Solutions:
-
Quote expiration: RFQ quotes are valid for limited time (typically 60-300 seconds)
- Complete swap before expiration
- Request new quote if expired
-
Rate changed: Market rate changed significantly
- Accept new rate when prompted
- Or cancel and get refund
-
Payment routing failed: Lightning payment couldn’t find a route
- Try smaller amount
- Open additional channels for more liquidity
- Wait and retry
-
Swap order stuck:
- Check order status:
/api/v1/swaps/orders/status - Contact support with Order ID for assistance
- Check order status:
Unexpected swap price
Unexpected swap price
Symptoms: Final price different from expected.Solutions:
-
Check quote details: Review the RFQ response carefully
from_amountvsto_amount- Applied fees
- Precision of assets
-
Fee structure:
- Base fee + variable fee
- Fee asset and precision
- Total fee shown in quote
-
Precision confusion:
- BTC uses 11 decimals (millisats)
- USDT typically uses 6 decimals
- Check asset precision in glossary
-
Slippage:
- For market orders, price can move slightly
- Use limit orders if you need exact price
API & Integration Issues
Authentication & Connection
401 Unauthorized errors
401 Unauthorized errors
422 Validation errors
422 Validation errors
Symptoms: API returns 422 with validation errors.Solutions:
- Check request body: Ensure all required fields are present
- Data types: Verify integers, strings, booleans are correct type
- Field validation: Check min/max values, formats
- Read error details: The response includes which fields failed validation
CORS errors in browser
CORS errors in browser
Symptoms: Browser blocks API requests with CORS error.Solutions:
-
Use backend: Make API calls from your backend, not frontend
- CORS is disabled for security on most endpoints
- Browser-based apps need a backend proxy
-
Development workaround:
- Use browser CORS plugin (development only)
- Configure your dev server as proxy
- Production: Always use server-side API calls
RFQ & Order Issues
RFQ expired before use
RFQ expired before use
Symptoms: Using RFQ ID returns error about expiration.Solutions:
- Check expires_at: Quotes typically valid for 60-300 seconds
- Request new quote: Call
/api/v1/market/quoteagain - Faster integration: Minimize time between quote and order creation
- Use expiration time: Build UI countdown showing time remaining
Order stuck in PENDING state
Order stuck in PENDING state
Symptoms: Order doesn’t progress from PENDING_PAYMENT or other status.Solutions:
- Payment required: Check if you need to pay an invoice or send to an address
-
Check payment status:
-
Automatic transitions: Some states transition automatically
- PENDING_PAYMENT → PAID (after payment confirmed)
- CHANNEL_OPENING → COMPLETED (after channel opens)
-
Timeouts: Orders expire if not paid within time limit
- Check
expires_atfield - Unpaid orders auto-expire and refund
- Check
SDK-Specific Issues
Python SDK
See the Python SDK Error Handling guide for Python-specific troubleshooting. Quick tips:- Always use error handling with try/except blocks
- Check
KaleidoSwapErrorexception details - Enable debug logging for detailed request/response info
- Verify Python version 3.8+ is installed
TypeScript SDK
See the TypeScript SDK Troubleshooting guide for comprehensive TypeScript-specific solutions. Quick tips:- Check TypeScript version compatibility (4.5+)
- Verify all peer dependencies are installed
- Use proper type assertions for responses
- Enable verbose logging in development
General Best Practices
Check Logs First
Most issues can be diagnosed from log files. Enable debug logging when troubleshooting.
Verify Network
Ensure you’re on the correct network (Mainnet, Testnet, Signet, Regtest) for your use case.
Keep Updated
Use the latest version of Desktop App and SDKs for bug fixes and improvements.
Test on Testnet
Always test new integrations on Testnet before using real funds on Mainnet.
Still Need Help?
If these troubleshooting steps don’t resolve your issue:Check the FAQ
Review the Desktop App FAQ for additional common questions.
Check GitHub Issues
See if others have reported similar issues on GitHub.
Contact Support
Reach out via:
- Email: support@kaleidoswap.com
- Telegram: https://t.me/kaleidoswap
- GitHub Issues: Report a bug