Confidential · For prospective investors only — do not redistribute · Vexo Wallet · Desktop Build
Stablecoin-first · Self-custody · Multi-chain

The wallet stablecoins were waiting for.

Vexo Wallet is a stablecoin-first, self-custody wallet for the rails that actually move money today. Gasless USDC / USDT transfers on EVM, Solana and TRON, a built-in point-of-sale for merchants, an EIP-1193 dApp browser, in-wallet swap across six providers, on/off-ramp via Transak, and batch payouts across 22 networks and 350+ tokens — wrapped in a desktop binary that is codesigned, hardened-runtime, and ships with the WebKit Inspector disabled in release.

22
Networks supported8 EVM + 14 non-EVM
350+
Tokens out-of-the-boxcurated & user-extensible
3 stacks
Gasless stablecoinEVM · Solana · TRON
6
Swap providersrouted automatically
CHAPTER 01

Unified portfolio across 22 chains

The dashboard is the user's single financial home: total balance in their chosen fiat, every stablecoin and token held across all 22 enabled networks, primary actions (Send / Receive / Swap / Buy) one click away, and a testnet toggle that cleanly isolates a developer sandbox from real funds. Discovered tokens received via push appear as a spam-filtered, anti-impersonation banner — never silently added to the wallet.

Dashboard
Dashboard. One number for net worth, one stack for stablecoins, one row of intent buttons. The TESTNET ribbon never leaves the user's eye line while a sandbox session is active — zero risk of cross-contaminating real funds.
CHAPTER 02

Activity feed with anti-impersonation guard

Every transfer across every enabled chain rolls up into one chronological feed with the real token logo, counter-party address, amount and confirmation status. Server-side, the indexer Worker tags each transfer with networkMode (mainnet / testnet) and surfaces USDT-lookalike, fake-token impersonation as a disabled, non-actionable banner — the user can see them but cannot accidentally engage with them.

Activity feed
Activity feed. Cross-chain history, real logos (not letter placeholders), in-progress sync indicator, and a per-chain impersonation guard that defangs the most common scam vector in self-custody. Anti-spoofing is not a feature — it's a default.
CHAPTER 03

Send anything, anywhere

Send opens with a search-as-you-type selector spanning every token on every chain. Live USD price and 24h change render inline so the user never has to leave the wallet to check what something is worth. Once a token is selected, the per-chain form applies ENS / SNS / TON-domain resolution and — where supported — automatically routes the transfer through the gas-sponsor relay, paying a tiny fee in the stablecoin being sent so the recipient never needs to hold native gas.

Send token selector
Send · selector. One textbox, every token, every chain. Live prices, 24h deltas, chain badges. The selector is keyboard-first, mouse-friendly, and addresses are resolved before the user sees the gas estimate.
CHAPTER 04

Receive — QR, payment links, BIP-21 / EIP-681 / Solana Pay

The receive flow is symmetric to send: choose a token, get a chain-specific QR plus the plain-text address with one-tap copy. Request Payment turns the wallet into an invoice generator — amount, memo, share link — using the canonical payment URIs (BIP-21 for Bitcoin / Litecoin / Doge, EIP-681 for EVM, Solana Pay for Solana). Anyone with any wallet can scan and pay; the merchant flow polls on-chain for confirmation without leaving the screen.

Receive token selector
Receive · selector. Same search-driven UX as send. Choosing a token opens a per-chain receive page with QR, address, request-payment, and a check-payment poller.
Receive Bitcoin QR
Receive · Bitcoin. A fresh derived address per request, the standard BIP-21 URI in the QR, and a payment-amount field that flips the QR into a fixed-invoice scan target. Lightning-ready via the Boltz client integrated into the swap engine.
CHAPTER 05

Swap — six providers, one router

Vexo embeds six DEX / aggregator clients and auto-routes per pair: 0x for same-chain EVM, Jupiter for Solana, Li.Fi for cross-chain and everything-else, StonFi for TON, SunSwap for TRON, and Boltz for Bitcoin ↔ Lightning ↔ Liquid swaps. The user never picks a provider — they pick From, To, Amount; the router picks the venue with the best quote. Slippage, price impact and the routing path are always disclosed in the quote card.

Swap
Swap. Live quotes, slippage controls, provider transparency. The user stays in the wallet — no leaving to an aggregator site, no copy-pasting addresses, no bridge dApps in a separate tab.
CHAPTER 06

NFTs across chains

A single gallery covers Ethereum, Polygon, Arbitrum, Optimism, Base, BSC, Avalanche via Alchemy and Solana via Helius — with built-in spam filtering for airdropped scams. The collection grid stays clean even on accounts that have been farmed for years.

NFT gallery
NFTs. Eight chains, one gallery, automatic anti-airdrop-spam. The gallery filters out unsolicited mints with zero floor and unknown contracts by default; the user can opt back in.
CHAPTER 07

dApp browser — first-class EIP-1193

Vexo's desktop build embeds a WebKit child window with a Vexo wallet provider injected as window.ethereum and friends — the same EIP-1193 interface every dApp expects from MetaMask, with hardened approval flows. A curated directory covers Uniswap, Aave, 1inch, SushiSwap, Compound, dYdX, PancakeSwap, Curve and dozens more; the URL bar accepts any HTTPS dApp. Every signing request requires an explicit user action — no silent transactions, no auto-sign, no exceptions.

dApp Browser
dApp Browser. Curated catalogue plus open URL bar. The provider lives in the parent process and intercepts every signing intent for explicit user approval — a real wall between the dApp and the keys.
CHAPTER 08

Wallets & vaults

Multi-wallet management is built in: create, import (12 / 24-word seed or raw private key), switch active, rename, delete. Each wallet keeps independent state — addresses, balances, history, contacts, custom tokens, push subscriptions — and never leaks data across boundaries. The active wallet is the only one signing; the rest sit encrypted at rest under the same master key.

Manage Wallets
Manage Wallets. Create, import, switch, rename, delete. Each wallet's state is fully partitioned in SQLCipher; an admin operation on one wallet (e.g. delete) cannot leak into another.
CHAPTER 09

Security — three layers, one stack

Vexo Desktop ships with the defenses an investor expects from a production custodial-grade binary: PBKDF2-stretched PIN with persistent exponential-backoff lockout, platform biometric (Touch ID / Windows Hello / Linux PAM), and auto-lock on inactivity. The on-disk database is SQLCipher with the master key held in the OS keyring. macOS release builds run with hardened runtime + entitlements (get-task-allow = false, app-sandbox = true, library validation enforced) and the WebKit Inspector is disabled in release at both the Cargo feature and the Tauri config layer.

Security settings
Security. Three independent locks, each individually configurable. PIN reset requires the seed; biometric reset requires the PIN; lockout backoff persists across restarts so brute-forcing a stolen laptop is economically pointless.
CHAPTER 10

Notifications — per-chain control, server-honored

Vexo's push system is powered by a dedicated indexer Worker on Cloudflare's edge that scans all enabled chains in both network modes and dispatches FCM V1 notifications when a watched address moves. The user sees one master toggle plus per-chain mute switches; the mute is enforced on the dispatcher, not just client-side — silenced chains do not even leave Cloudflare.

Notifications
Notifications. Master toggle plus eleven per-network switches. The mute map is part of the user's push registration, so the worker dispatcher honors it server-side — not just a UI hide.
CHAPTER 11

Settings & power tools

Everything else lives in a single Settings root: Wallets, Networks, Contacts, POS Currencies, Remote Config, Appearance, Currency, Testnet Mode, Hide Balances, Network Faucets, Security, Batch Transfer (UTXO), Batch Transfer (EVM), Export, Import. It's designed for power users and merchants while staying approachable to a first-time user — the cover dashboard never makes them touch it unless they want to.

Settings root
Settings root. Wallets, networks, contacts, POS currencies, remote config, appearance, currency, testnet, hide-balances, faucets, security, batch transfer, export, import. Everything has a switch; nothing is hidden in a config file.
CHAPTER 12

Under the hood — the features that move money

Beyond the screens above, Vexo Wallet ships six production-grade modules most consumer wallets either skip or charge for separately. They are the reason this is a stablecoin-first wallet, not a token list with a chart.

💳 On / Off-Ramp Live
Fiat ↔ stablecoin in-wallet via Transak, with a wider aggregator (OnRamper) under active evaluation for full geographic coverage. Card, SEPA, Pix, Open Banking — all routed back into the user's own self-custody account.
🔐 Self-custody Engine (pure JS) Audited deps
The wallet engine is a pure-TypeScript core over @scure/bip39, @scure/bip32 and @noble/curves. No proprietary native blob, no closed-source signer, no remote key derivation — seed never leaves the device, signing happens on-process, every chain has its own adapter with explicit error codes (Result<T, WalletError>).
🌐 22 networks · 350+ tokens Curated
EVM (Ethereum, Polygon, Arbitrum, Optimism, Base, BSC, Avalanche, Linea) + UTXO (Bitcoin, Litecoin, Doge) + Solana, TRON, TON, Spark, XRP, Cardano, Stellar, Polkadot, Cosmos, THORChain, NEAR, Sui, Aptos. Every token is curated, registry-driven, and extensible by the user with explicit metadata.