No addresses to read out. No gas token to buy first. No bridge to claim from. Your money spends wherever it already is.

USDC deposited once ──► one Circle Gateway balance ──► burn intent signed on the device ──► attested by Circle in ~1.2s ──► minted on the destination chain by the relayer ──► recipient holds spendable USDC, having paid no gas
Paying someone in crypto today means knowing which chain they are on, holding funds on that exact chain, bridging and claiming if you do not — and hoping they hold a gas token, or they cannot move what you sent.
The same address exists everywhere. Send to the right address on the wrong network and the money is simply gone from view.
Wait for finality, come back, claim. A payment becomes an errand you finish later.
You were paid in USDC but cannot move it, because moving it costs a token you do not hold.
Most wallets show you one number and leave you to find out the hard way that it is stuck on the wrong chain.
Mercury splits it honestly: Gateway — spendable anywhere against Wallet — on its own network. One of those can be sent to any supported chain in seconds. The other cannot, and says so.


Type a name, pick a network, hold to send. The recipient receives spendable USDC with no bridge to claim from and no gas token to buy first — the hub's relayer submits the mint on the destination chain.
Measured, not claimed: attested in 1206ms, minted in 1293ms, Arc Testnet to Unichain Sepolia, for a $0.00 Circle fee.
Delivery is checked before the burn is signed, and the signed claim is written to disk before the relay is attempted — so a failed relay is recoverable, not lost.



A real ENS name under mercurywallet.eth, resolved through ENSIP-10 wildcard resolution against a registry we deployed. No server sits behind it — any wallet or explorer that speaks ENS can find you by it.
Claiming is sponsored: the hub pays the Ethereum gas, so a brand-new wallet holding nothing can still get a name. No account, no email, no sign-in.



Depositing turns USDC on one chain into a balance that spends on any of them. The screen says what will happen before it happens — the amount, the chain, and how long until it is spendable.
Getting out is deliberately two doors. Instant uses Circle's attestation and our relayer. On-chain takes about a week and needs no API and no relayer. If our hub disappeared tomorrow, the money still comes out.
Deposited USDC lives in Circle's Gateway contract, not ours. It stays yours.


Swaps are cross-chain atomic swaps — Bitcoin and EVM on either side, quoted live, settled without a custodian holding the middle. The browser speaks WalletConnect, so Mercury works with apps it has never heard of.




A per-payment toggle routes through a fresh ERC-5564 stealth address. It hides who received — the sender and amount stay public, and the app says so.
Atomic swaps with Bitcoin or EVM on either side, priced live, with nobody custodying the middle.
WalletConnect built in, so the wallet works with apps it has never heard of — no extension, no pasted address.
On Arc the gas token is USDC. You hold exactly one thing, and a payment you receive is immediately spendable. It is also the only chain where stealth payments close end to end — a note there pays its own way out, so the sweep that would tie every note back to one identity is never needed.
Every signature happens in a Rust core on the device, behind iOS keychain classes that delete the recovery phrase if the passcode is removed.
It relays Gateway mints and sponsors ENS names against a spend ledger with a gas-price ceiling. It has never seen a user key or held user funds.
With the hub down the wallet still holds keys, shows balances and sends transactions. Only the instant cross-chain path needs it.
Mercury is coming to TestFlight for iPhone. Import a recovery phrase you already have, or create one — and claim a name before you hold a cent.