designers, when user is connected to eth mainnet, but your app is on L2, which pattern do you prefer? 1. prompt network switch immediately on page visit 2. wait until user initiates an onchain action 3. something else
3 - prominent L2 warning - wait until onchain action to prompt switch
We support fetching nfts deom all evms - and don’t require users to switch network to access or remix them
Not a designer but as a user I feel I should be able to read any info without switching networks. And then once I want to do a txn it should prompt a switch
Nicer wallets are automatically switching networks these days, so the first 2 patterns are soon to be deprecated.
Switch it for me, then notify me that you switched it. Web3 already has alot of button pressing
User clicks key action - display warning and button below it “switch” You tell them essentially why they’re switching the network
2 But ideally check if they have enough ETH on said L2 before promting the switch- and if not, let them bridge as part of the flow or even combine the transactions
just make it work as if there were no networks :)
Not all wallets support #1, so you need a combination of patterns
I decided to just switch it on the background without the user ever reading the word chain or network. Really, what does a non web3 user that logged in with her email care about that? If I explain it, I lose them. It’s a price that I was willing to pay, to explore the consequences.
2, basically. Let them do as much as possible before requiring
i don't care what network it's on I care about ease and gas fees
Prompt switch on connection. You’re already interrupting by asking to connect, the switch is mostly quite graceful and quick, so no real burden. That said, this changes dramatically depending on the type of application and the wallet support/experience.
We show a message prompting user to switch the wallet. At least until chain can't be switched automatically. The dapp works fine without changing the wallet though.