How it works
Ethereum wallets can sign a readable text message with the address's private key (the standard is called personal_sign, or EIP-191). Anyone can take the message and signature and work out which address signed it. If it's yours, the proof holds.
It isn't a transaction: there's no gas, nothing goes on-chain, and it can't move tokens.
One address, every EVM network
An address like 0x71c7…976f comes from your key, not from a network. The same key controls the same address on Ethereum, Base, Arbitrum, Optimism, Polygon, BNB Chain, Avalanche, Linea, zkSync, Scroll and every other EVM network. So one signature proves you control the address on all of them.
The exception is smart-contract wallets such as Safe multisigs: the address is a contract, not a key, so it can't produce a normal signature. VerifiedWallet doesn't certify those yet.
Signing with MetaMask
MetaMask has no "sign a message" button of its own. A website asks, and MetaMask shows a Signature request with the text. To sign on VerifiedWallet:
- Open Get certified and click Connect MetaMask (or Rabby, Coinbase Wallet…).
- Approve the connection, then read the signature request. It's plain text naming VerifiedWallet, your address, the tier and a one-time code.
- Click Sign. No gas is shown because none is needed.
Ledger or Trezor? Connect it to MetaMask or Rabby as usual. The signature request then also appears on the device to confirm.
On a phone? Choose "Use a wallet on your phone" to connect MetaMask, Trust, Rainbow or another app by QR code, or open the site in your wallet app's own browser.
Checking an Ethereum signature
- Every VerifiedWallet certificate page checks the signature in your browser automatically.
- To check by hand, Etherscan has a Verify Signature tool: paste the address, the exact message and the signature.
- Developers can use
verifyMessagein ethers.js or viem.
Solana works the same way
Phantom, Solflare and Backpack sign plain-text messages with your Solana key (Ed25519). The same idea applies: free, no transaction, checkable by anyone. Pick "Connect a Solana wallet" on the start page.
Sign once with your wallet: free, no transaction. We counter-sign it and give you a link anyone can verify. From $1.
More guides
How to prove you own a Bitcoin address
Sign a message with the address's key: free, instant, nothing on the blockchain.
How to sign a message with a Bitcoin wallet
Step by step in Xverse, Electrum, Sparrow, Trezor, Ledger and Bitcoin Core.
BIP-322 vs BIP-137: Bitcoin message signing explained
Why there are two formats, which wallets use which, and why Taproot needs BIP-322.
How to prove you own a Tron (USDT) wallet
Sign a message in TronLink: no transaction, no TRX burned, works for USDT addresses.
Questions
Does signing a message in MetaMask cost gas?
No. A plain message signature isn't a transaction. If MetaMask shows a gas fee, you're being asked to approve a transaction, not sign a message.
Do I need a separate proof for Base, Arbitrum or Polygon?
No. Your address is the same on every EVM network, so one signature covers it everywhere.
Can I prove ownership of a Safe multisig?
Not with a normal signature. Safe accounts are smart contracts, which sign differently (EIP-1271). VerifiedWallet doesn't certify them yet.