The First and Only Fully Decentralized Light Wallet for BEAM Privacy Blockchain
Quick Install • Features • Usage • Remote Access • Donate
Developed by @vsnation
Donations: e17cc06481d9ae88e1e0181efee407fa8c36a861b9df723845eddc8fb1ba552048
git clone https://github.com/vsnation/Beam-Light-Wallet.git
cd Beam-Light-Wallet
./install.shTo run again later: Just run ./install.sh again - it skips downloads if binaries exist.
Or download DMG from Releases (macOS).
git clone https://github.com/vsnation/Beam-Light-Wallet.git
cd Beam-Light-Wallet
.\build\windows\install.batOr download from Releases.
- 🚀 One-Click Launch - Downloads binaries automatically, starts in seconds
- 🔒 Fully Decentralized - No backend servers, direct blockchain connection
- 👛 Multi-Wallet Support - Create and manage multiple wallets
- 🔐 Full Privacy - MimbleWimble + Confidential Transactions + Dandelion++
- 💸 Send & Receive - BEAM and all Confidential Assets
- 📈 DEX Trading - Built-in Uniswap-style AMM DEX
- 📱 Mobile Access - Access from any device on your network
- 🎨 Beautiful UI - Modern dark theme, intuitive design
git clone https://github.com/vsnation/Beam-Light-Wallet.git
cd Beam-Light-WalletmacOS:
mkdir -p binaries/macos && cd binaries/macos
curl -LO https://github.com/BeamMW/beam/releases/download/beam-7.5.13882/mac-wallet-api-7.5.13882.tar.gz
curl -LO https://github.com/BeamMW/beam/releases/download/beam-7.5.13882/mac-beam-wallet-cli-7.5.13882.tar.gz
tar -xzf *.tar.gz && chmod +x wallet-api beam-wallet
cd ../..Linux:
mkdir -p binaries/linux && cd binaries/linux
curl -LO https://github.com/BeamMW/beam/releases/download/beam-7.5.13882/linux-wallet-api-7.5.13882.tar.gz
curl -LO https://github.com/BeamMW/beam/releases/download/beam-7.5.13882/linux-beam-wallet-cli-7.5.13882.tar.gz
tar -xzf *.tar.gz && chmod +x wallet-api beam-wallet
cd ../..Windows (PowerShell):
New-Item -ItemType Directory -Force -Path "binaries\windows"
cd binaries\windows
Invoke-WebRequest -Uri "https://github.com/BeamMW/beam/releases/download/beam-7.5.13882/windows-wallet-api-7.5.13882.zip" -OutFile "wallet-api.zip"
Invoke-WebRequest -Uri "https://github.com/BeamMW/beam/releases/download/beam-7.5.13882/windows-beam-wallet-cli-7.5.13882.zip" -OutFile "beam-wallet.zip"
Expand-Archive -Path "*.zip" -DestinationPath "." -Force
cd ..\..python3 serve.py 9080http://127.0.0.1:9080
- Click "Create New"
- Enter wallet name and password
- WRITE DOWN your 12-word seed phrase
- Confirm and start using your wallet
- Click "Restore"
- Enter your 12-word seed phrase
- Set a new password
- Wallet will sync automatically
- Go to Send tab
- Enter recipient address and amount
- Click Send and confirm
- Go to DEX tab
- Select tokens to swap
- Enter amount (quote updates automatically)
- Click Swap to execute
Beam-Light-Wallet/
├── serve.py # Main HTTP server
├── install.sh # Cross-platform installer
├── src/ # Web interface
│ ├── index.html # Main application
│ ├── css/ # Stylesheets
│ └── js/ # JavaScript
├── config/ # Configuration files
├── binaries/ # BEAM binaries (gitignored)
│ ├── linux/
│ ├── macos/
│ └── windows/
├── wallets/ # Wallet databases (gitignored)
├── logs/ # Log files (gitignored)
├── build/ # Build scripts
│ ├── create-dmg.sh # macOS DMG builder
│ ├── linux/ # Linux installers
│ └── windows/ # Windows installers
└── tests/ # Test scripts
- No Backend Servers - All data stored locally
- Password Encrypted - Wallets protected with user password
- 12-Word Seed Phrase - Standard BIP39 recovery
- Local API Only - wallet-api binds to 127.0.0.1
- Auto-Lock - Configurable timeout
- NEVER share your seed phrase with anyone
- NEVER expose port 9080 to the internet without authentication
- ALWAYS backup your seed phrase in multiple secure locations
| Region | Address |
|---|---|
| EU | eu-node01.mainnet.beam.mw:8100 |
| EU | eu-node02.mainnet.beam.mw:8100 |
| US | us-node01.mainnet.beam.mw:8100 |
| US | us-node02.mainnet.beam.mw:8100 |
| Asia | ap-node01.mainnet.beam.mw:8100 |
| Service | Port | Description |
|---|---|---|
| Web UI | 9080 | Wallet web interface |
| wallet-api | 10000 | JSON-RPC API |
| beam-node | 10005 | Local node (optional) |
Access your wallet securely from your phone or any device, anywhere in the world.
⚠️ NEVER expose port 9080 directly to the internet! Always use one of the secure methods below.
Tailscale creates a private VPN network between your devices. Zero configuration, works through firewalls.
Step 1: Install Tailscale on your PC (where wallet runs)
# macOS
brew install tailscale
sudo tailscaled &
tailscale up
# Linux (Ubuntu/Debian)
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
# Windows
# Download from https://tailscale.com/download/windowsStep 2: Install Tailscale on your phone
- iOS: App Store
- Android: Google Play
Step 3: Sign in with same account on both devices
Step 4: Get your PC's Tailscale IP
tailscale ip -4
# Example output: 100.64.0.1Step 5: Access from phone
http://100.64.0.1:9080
✅ Done! Your wallet is now securely accessible from anywhere.
Creates an encrypted tunnel from your device to your PC. Requires SSH server on your PC.
Step 1: Enable SSH on your PC
# macOS - Enable in System Preferences → Sharing → Remote Login
# Linux
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh
# Windows - Enable OpenSSH in Settings → Apps → Optional FeaturesStep 2: Note your PC's IP address
# Local network IP
ifconfig | grep "inet " | grep -v 127.0.0.1
# or
hostname -IStep 3: From your phone/laptop, create SSH tunnel
Using Termius (iOS/Android) or any SSH client:
ssh -L 9080:127.0.0.1:9080 username@your-pc-ipStep 4: Open browser on your device
http://127.0.0.1:9080
For permanent access from outside your home:
- Set up port forwarding for SSH (port 22) on your router
- Use your public IP or set up Dynamic DNS (e.g., noip.com)
WireGuard is a fast, modern VPN. More setup than Tailscale but fully self-hosted.
Step 1: Install WireGuard on your PC
# macOS
brew install wireguard-tools
# Linux
sudo apt install wireguard
# Windows
# Download from https://wireguard.com/install/Step 2: Generate keys on PC (server)
cd /etc/wireguard
umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.keyStep 3: Create server config /etc/wireguard/wg0.conf
[Interface]
PrivateKey = <contents of server_private.key>
Address = 10.0.0.1/24
ListenPort = 51820
[Peer]
# Your phone
PublicKey = <phone's public key - generate in WireGuard app>
AllowedIPs = 10.0.0.2/32Step 4: Start WireGuard
sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0 # Auto-start on bootStep 5: Configure phone
- Install WireGuard app on phone
- Create new tunnel with these settings:
- Interface Private Key: (generate in app)
- Interface Address:
10.0.0.2/24 - Peer Public Key:
<contents of server_public.key> - Peer Endpoint:
your-public-ip:51820 - Allowed IPs:
10.0.0.1/32
Step 6: Port forward UDP 51820 on your router
Step 7: Connect and access wallet
http://10.0.0.1:9080
Access without opening any ports. Requires Cloudflare account (free).
Step 1: Install cloudflared
# macOS
brew install cloudflare/cloudflare/cloudflared
# Linux
curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared.debStep 2: Authenticate
cloudflared tunnel loginStep 3: Create tunnel
cloudflared tunnel create beam-walletStep 4: Configure tunnel (~/.cloudflared/config.yml)
tunnel: beam-wallet
credentials-file: /path/to/credentials.json
ingress:
- hostname: wallet.yourdomain.com
service: http://127.0.0.1:9080
- service: http_status:404Step 5: Add DNS record in Cloudflare dashboard
cloudflared tunnel route dns beam-wallet wallet.yourdomain.comStep 6: Start tunnel
cloudflared tunnel run beam-walletStep 7: Add authentication (Cloudflare Access)
- Go to Cloudflare Zero Trust dashboard
- Create Access Application for
wallet.yourdomain.com - Add authentication policy (email OTP, Google, etc.)
Step 8: Access from anywhere
https://wallet.yourdomain.com
| Method | Difficulty | Security | Port Forwarding | Best For |
|---|---|---|---|---|
| Tailscale | Easy | High | No | Most users |
| SSH Tunnel | Medium | Very High | Yes (SSH only) | Tech-savvy users |
| WireGuard | Hard | Very High | Yes (UDP) | Self-hosters |
| Cloudflare | Medium | Very High | No | Custom domains |
- Just want it to work? → Use Tailscale (5 min setup)
- Already have SSH? → Use SSH Tunnel
- Want full control? → Use WireGuard
- Have a domain? → Use Cloudflare Tunnel
# Check if port is in use
lsof -i :9080
# Kill existing process
pkill -f serve.py- Wait for blockchain sync to complete
- Go to Settings → Rescan if needed
DEX requires local node with shader support. Public nodes don't support DEX operations.
./tests/test_launch.sh./build/create-dmg.sh- Wallet Version: 1.0.3
- BEAM Binaries: 7.5.13882
- Improved UI - Larger, more visible dropdown icons with hover effects
- Better Error Messages - Clear guidance when features require Local Node
- Auto-Switch to Local Node - Automatically switches when node syncs for full DEX support
- Protected Settings - Prevents duplicate clicks on node switch buttons
- Cleaner Password Errors - User-friendly messages with recovery instructions
- Hidden Scrollbars - Cleaner dashboard appearance
- Consistent Folder Naming - Windows-compatible folder names across all platforms
- P2P Marketplace - Alpha version (may have bugs)
If you find this wallet useful, please consider donating:
BEAM Address:
e17cc06481d9ae88e1e0181efee407fa8c36a861b9df723845eddc8fb1ba552048
MIT License - See LICENSE
Made with ❤️ by @vsnation