Skip to main content
Serve a bundled wallet testing page, forward it to a connected device, open it in the device browser, and stream every Mobile Wallet Adapter interaction back to your terminal — so you can exercise a wallet without scaffolding an app first:
The page runs against Devnet by default and covers the whole Mobile Wallet Adapter surface: connect, sign in (SIWS), sign message, sign transaction, and sign and send. Each result is printed as it happens, and the command keeps running until you interrupt it with Ctrl+C:
Successful actions report the address or signature the wallet returned; anything the wallet rejects is printed with a and its error message. The page caches its authorization so repeat actions skip the wallet approval, and a Reset authorization button clears it. Once connected, Devnet and Testnet show a link to the Solana faucet and Localnet gets an Airdrop 1 SOL button, so a fresh wallet account can be funded without leaving the page.
The device needs a wallet that supports the Mobile Wallet Adapter protocol. If you do not have one installed, device install fakewallet puts the test wallet on the device — see device install.

Clusters

Pick a cluster with --cluster:
--url overrides the RPC endpoint while the wallet still sees the chain of the selected cluster. Mainnet always needs one, because the playground page runs in the device browser and Solana’s public api.mainnet.solana.com endpoint answers browser-origin requests with 403 Access forbidden:
With --cluster localnet, start localnet first — the playground warns you when the local validator is not reachable.

Ports

The device always opens http://localhost:4747; --port moves the host side of the adb reverse. Without --port, a busy port falls back to the next free one. The reverse is removed when the command exits. Use --no-open to print the URL instead of launching the device browser.

Options

Last modified on September 3, 2026