Web UI
MUTX includes a browser-based Web UI that is a full alternative to the TUI. It exposes the same wallet, key, and request flows in a graphical interface, useful when you don’t want to keep a terminal open or when you want to operate from a different machine on your local network.
Starting the Web UI
The daemon must be running first.
mutx daemon
mutx web
By default the Web UI binds to http://127.0.0.1:8080 (local only).
Open that URL in your browser.
What’s in the Web UI
- Dashboard — Portfolio overview across your wallets
- Wallets — Create, import, view details, send native asset, send tokens, swap, receive (with QR code), transaction history, per-wallet settings. The create flow uses the same chain picker as the TUI — Solana, Ethereum, Polygon, Base, Arbitrum, BNB Smart Chain — followed by the network picker. Each wallet has a proactive Unlock / Lock control (parity with the TUI), plus a global Lock all wallets button. Unlock opens the same duration picker used elsewhere: quick-pick presets plus an editable amount and unit.
- Keys (SLK) — Create with per-token budgets, revoke, delete, duplicate, view usage history
- Requests — Approve or deny agent requests, clear history
- Contacts — Address book management (add, edit, delete)
- DApps — WalletConnect pairing and active session management
- Logs — Real-time log viewer with search and filtering
- License — Tier status, comparison, coupon redemption, USDC purchase
- Settings — Theme, log level, navigation preferences
TUI and Web UI together
The TUI and the Web UI talk to the same background daemon. You can run both at once; the daemon is the source of truth, so a wallet you create from the Web UI shows up in the TUI immediately and vice versa.
Approval prompts (agent requests, WalletConnect proposals) appear in whichever UI is active. If both are open, you can answer from either side.
Configuration
# Custom bind address
mutx web --bind 0.0.0.0:3000
# Custom socket directory
mutx web --socket-dir /path/to/sockets
By default the Web UI binds to 127.0.0.1:8080, which means it is only
reachable from the same machine. Use --bind 0.0.0.0:PORT to expose it on
your local network — only do this on a trusted network, since anyone who can
reach the port can issue wallet operations.