Sometimes when importing a new address you may not want to have full control over the address. Using a read-only address you're able to track assets and receive tokens but will be unable to send any tokens out of the address. You can still use this address to connect to dapps through WalletConnect but will be unable to initiate any transactions.
Why does my wallet have a read-only badge?
If you didn't properly import the private key/recovery phrase or only scanned a public wallet address, or the private key/recovery phrase is corrupted, you may need to import the actual keys/phrase to be able to send/swap/do transactions. While your address is in read-only mode you'll see a small badge in the upper right hand corner letting you know the status of your current address.
Why would I want a read-only address?
The biggest reason to have a read-only address is for security. Sometimes you'll have another wallet, like a hardware wallet, that you don't want to share the same 12 word phrase with. In this case you can import a public address and be able to receive tokens and view your current balances without the fear of someone being able to steal your tokens if your phone was ever lost or stolen.
Another reason you may want a read-only address is for testing. Since the wallet can still connect to dapps with a read-only address you're able to read the data shared between the dapp and wallet without the ability to sign any transactions.
How can I create a read-only address?
First, you'll want to have another wallet with full access to the address you want to make read-only. Make sure to always back up your 12 word phrase, if you lose access to this phrase you'll lose access to the address! Now once you have a public address ready just paste it into the 1inch wallet's import address option.
Now you'll see that your address is read-only!