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.
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.

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.

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.

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.


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.

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.

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.

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.

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.

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.

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.

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.
StablecoinForwarder on EVM;
ATA-aware sponsor on Solana; energy / bandwidth delegation on TRON.
@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>).