Skip to content

Web3 UX Design: Wallet Flows, Gas Fees and Trust

Where Web3 UX departs from Web2: wallet connection flows, gas fees and failed transactions, and how to signal security without scaring users.

Akane T.H.Updated 12 min read

What makes Web3 UX different

Most of a Web3 product is an ordinary web product. Navigation, forms, empty states, tables and onboarding all work the way they work anywhere else. The difference sits in a handful of moments: connecting a wallet, approving a transaction, paying a fee, and waiting for a result that cannot be undone. Those moments are where the design work is, and they are the reason Web3 UX is treated as its own specialism.

Four constraints drive almost every decision:

  • The user holds the credentials. There is no password reset. A lost key is a lost account, and an interface cannot rescue anyone from that after the fact.
  • Actions are final. A confirmed transaction cannot be recalled. Undo, the most forgiving affordance in software, is unavailable.
  • Confirmation takes time. Not much time on a modern network, but enough that the interface has to say something between the click and the result.
  • The interface does not control the wallet. A dApp can request a signature. A separate piece of software the team did not build renders the prompt, and the user decides inside that prompt. This is the largest departure from Web2, and the constraint the rest of this article keeps returning to.

Traditional Web vs Web3: what actually differs

Aspect Traditional web Web3 What the designer has to solve
Sign-in Email and password, with reset Key, passkey or delegated signer; recovery is a product feature, not a default Explaining recovery before it is needed
Confirming an action Happens inside the product Happens inside the wallet, in a screen the product does not render Setting expectations for a prompt the product cannot style
Reversibility Support can refund, restore or roll back Confirmed transactions are final Making the point of no return legible without freezing the user
Cost Invisible to the user A per-action fee, unless the application sponsors it Deciding who pays, and saying so early
Failure Validation errors, retries Reverts, rejections, stuck and replaced transactions Error states that name the cause and a next step

What changed since 2023

Most Web3 UX writing available online describes a stack that has moved on. Several of the problems it treats as fundamental have since been addressed at the protocol level, and advice built on them is now wrong rather than merely dated.

Smart accounts are available to ordinary wallets. ERC-4337, now Final, brought smart contract accounts to Ethereum in 2023 without any change to the protocol itself. EIP-7702 went further: since the Pectra upgrade activated on Ethereum mainnet on 7 May 2025 (ethereum.org upgrade history), an existing address can delegate to contract code and gain batching, sponsored fees and session permissions without moving funds or changing address. The practical consequence for design is that "connect a wallet, then approve, then confirm, then approve again" is no longer forced by the protocol.

Fee sponsorship has a specification. ERC-5792, the Wallet Call API, is Final and defines how an application asks a wallet to send a batch of calls and check their status. ERC-7677 extends it so the application can nominate a paymaster service to cover the fee; it is still a draft, so support varies by wallet. An application can decide that a user's first action is free, and express that through an interface the wallet understands.

Wallet discovery is fixed. EIP-6963, created on 1 May 2023 and now Final, replaced the single window.ethereum slot that browser extensions used to fight over. In the standard's own description of the old behavior, the last wallet to load usually won, and users with two wallets installed could not reliably pick one. Any connect modal that still asks the user to guess which extension will answer is built on that.

Signing prompts are being made readable. ERC-7730, created in February 2024 by authors at Ledger, defines a JSON format that describes what a contract call does in plain language, so a wallet can show "approve this contract to spend 250 USDC" instead of a hex blob. On 12 May 2026 the Ethereum Foundation announced that it would host the shared descriptor registry as a neutral steward under its Trillion Dollar Security work, crediting contributors including MetaMask, Trezor, Fireblocks, WalletConnect, Sourcify and Cyfrin. The ERC itself is still a draft. It is worth being precise about what this buys: readable is not the same as safe. A clearly described malicious transaction is still malicious.

Passkeys are usable as signers. RIP-7212 adds a precompile for P-256 signatures, the curve that Face ID, Touch ID and WebAuthn already use, cutting verification from roughly 300,000 gas to about 3,450 and putting it within reach of ordinary transactions (Alchemy, March 2024). It has been adopted by layer 2 networks including Polygon PoS, Optimism, Arbitrum and zkSync Era. That is what allows a smart account to register a passkey as its signer and ship with no recovery phrase at all, which is now how several consumer wallets onboard.

A single large figure: 3,450 gas to verify a passkey signature under RIP-7212, down from roughly 300,000 gas, according to Alchemy in March 2024.

Ethereum has not used mining since September 2022. The network moved to proof of stake at the Merge on 15 September 2022. Copy that explains fees in terms of miners, or that leans on energy use as a design consideration, is describing a network that no longer exists.

Advice from 2022 and 2023 that has expired

Old advice Why it no longer holds
"Teach users to write down their seed phrase" Passkey and smart-account onboarding can avoid exposing a phrase at all; where one still exists, it is a fallback, not the first screen
"Design a gas fee explainer, because the user always pays" Sponsorship has a specification (ERC-7677). Who pays is now a product decision
"Let users bump the gas price to go faster" Meaningful mainly on congested layer 1. On rollups the control is noise
"List every wallet in the connect modal" EIP-6963 lets the page enumerate what is actually installed
"Chain switching is a step in the flow" Cross-chain intent standards such as ERC-7683 aim to move it behind the request
"Warn users that transactions take minutes" On rollups confirmation is usually seconds. Over-warning now reads as inaccurate

The connect flow

Connection is the first point at which a Web3 product asks for something a Web2 product would not, and it is largely a sequencing problem.

Do not ask first. Let people see the product before they connect. Connection should be attached to an action that needs it, not to the front door.

Enumerate, do not list. With EIP-6963 the page can discover the wallets actually installed in that browser. Show those, and put the rest behind a secondary option.

Separate connection from sign-in. Connecting exposes an address. Proving control of it requires a signature, which is what ERC-4361, Sign-In with Ethereum, standardizes. Treat them as two steps in the interface, because they are two different things, and tell the user that the sign-in signature costs nothing and moves nothing.

Offer a path for people without a wallet. Embedded wallets created from an email address or a passkey remove the extension install entirely. This carries a trade-off worth naming in the interface rather than hiding: the user gains a familiar login and gives up some degree of self-custody, depending on the provider's key architecture.

Fees, and who pays them

Fees stopped being a single design problem some time ago. There are now three distinct cases, and treating them the same is what produces the sticker-shock screens the 2023 advice worried about.

  • Sponsored. The application pays through a paymaster. The user sees no fee. The interface should not invent one to explain.
  • Rollup fees. EIP-4844, activated in the Dencun upgrade on 13 March 2024, introduced blob storage and cut the data cost that rollups pass on to users. Fees on layer 2 networks are typically small fractions of a dollar. A full-screen fee explainer for a few cents is a disproportionate interruption.
  • Ethereum mainnet at busy moments. This is the only case that justifies the old treatment: an estimate before commitment, and a speed-versus-cost choice.

Design the fee surface for the case the product is actually in. A single generic "gas fees explained" panel serves none of the three well.

One note on the vocabulary. Across the 4,212 job adverts counted in the Find Web3 dictionary, updated 23 September 2026, "gas" appears in 9, while "wallet" appears in 638 and "smart contract" in 246. Fees are a design problem far more often than they are a stated hiring requirement.

Horizontal bar chart of how often three terms appear across 4,212 Web3 job adverts in the Find Web3 dictionary, updated 23 September 2026: wallet in 638 adverts, smart contract in 246, and gas in only 9.

The signing screen is the security surface

The signature prompt is where the worst outcomes for a Web3 user cluster, and where the design constraint is sharpest, because the product does not render that prompt.

The scale is measurable, and it has been moving in the right direction. Scam Sniffer's 2025 annual report, published on 3 January 2026, recorded $83.85 million lost to wallet-drainer phishing across 106,106 victims, down 83% from about $494 million in 2024. Among incidents over $1 million, permit signatures accounted for about 38% of losses: the victim signed an off-chain message granting spending permission, not a transfer. A new variant appeared after Pectra, using EIP-7702 delegation to hand control of an account to attacker code in a single signature, and the report attributes $2.54 million across two incidents in August 2025 to it. The report's largest single loss of the year, $6.5 million taken in September, was itself a signature prompt, which is a fair measure of how much a product's own interface has riding on that screen.

Bar chart of yearly losses to wallet-drainer phishing: $295 million in 2023, $494 million in 2024 and $83.85 million in 2025

That shapes three concrete design rules.

Say what the signature does before the wallet opens. The product controls the screen immediately before the prompt. Use it. State the action, the counterparty and the amount, so the user arrives at the wallet prompt with something to compare against. A mismatch between the two screens is the clearest phishing signal a user can be given.

Scope approvals, and show them. Unlimited spending approvals are convenient once and dangerous indefinitely. Request the amount needed, show existing approvals somewhere findable, and make revoking one a supported action rather than a task for a third-party tool.

Treat off-chain signatures as consequential. A message signature does not cost a fee and does not appear in transaction history, which is exactly why it is used for theft. Never describe one as harmless because it is free.

Beyond that, security communication is mostly restraint. A warning attached to every action trains people to dismiss warnings. Reserve interruption for irreversible and high-value actions, and let routine ones be routine.

Waiting, failing and recovering

Between submission and confirmation the product must report state it does not own. wallet_getCallsStatus in ERC-5792 exists for exactly this, and gives the interface something honest to show.

Three states cover nearly all of it: submitted, confirmed, and failed. What distinguishes a good implementation is the failure case. A revert is not a system error, it is a rule the contract enforced, and the message should name it: insufficient balance, slippage exceeded, deadline passed, allowance too low. Generic failure text turns a recoverable situation into a support ticket.

Rejections are not failures at all. When a user dismisses a wallet prompt, return them to where they were with their input intact.

Designing Web3 as a job

The demand is real and narrower than "Web3 designer" suggests: most of it is product design on financial interfaces.

On Find Web3, the median advertised pay for Web3 design roles is $180,000, taken from the 57 listings posted in the twelve months to 23 September 2026 that state a figure. The middle half of those listings fall between $150,000 and $210,000, with the full range running from $105,000 to $400,000 (Web3 designer salary). For comparison, Web3 product manager roles have a median of $196,000 across 77 listings (Find Web3 salaries).

Volume is modest. The Web3 jobs report counted 2,172 roles posted in the 30 days to 23 September 2026. Its category breakdown covers a longer 90-day window, and over that period design accounted for 58 roles against 805 in engineering and 449 in operations. Design is a small share of a market that is mostly engineering and operations, which is worth knowing before planning a move into it.

Horizontal bar chart of Web3 roles posted over the 90 days to 23 September 2026: 805 in engineering, 449 in operations and 58 in design.

These figures are advertised base pay from listings that state it, not survey responses. Token grants and equity are common in crypto and are not included.

Two things separate candidates who get hired. The first is a portfolio that shows the specific problems above being solved — a connect flow, an approval screen, a failed-transaction state — rather than a generic dApp redesign. The second is enough technical fluency to know what a wallet can and cannot be asked to render, because a design that requires control over the wallet prompt cannot be built.

Open roles are listed on the Web3 design jobs page, and the companies directory covers the 104 teams with roles posted in the last 30 days, 1,877 openings between them, and shows which of them are hiring designers.

Tools, and who owns them

Design tooling for Web3 is ordinary design tooling. Figma plus the target wallets installed in a browser covers most of it, and running a real flow on a testnet reveals more than a prototype does.

What is worth checking is the name and owner of anything in the connection layer, because both change often enough to date a document quickly. WalletConnect Inc. rebranded to Reown on 16 September 2024 and its Web3Modal component became AppKit, though the WalletConnect Network itself kept its name. Two widely used embedded-wallet providers changed hands in mid-2025: Consensys acquired Web3Auth on 2 June 2025, folding it into MetaMask's onboarding, and Stripe announced its acquisition of Privy on 11 June 2025 (CoinDesk, June 2025), with Privy continuing under its own name. Wallet brands move too: Coinbase renamed Coinbase Wallet to Base App in July 2025, then reverted to the Coinbase Wallet name on 10 September 2026. Check a product's current name before putting it in a spec.

Where this is heading

The Ethereum Foundation's protocol priorities update of 18 February 2026 names "Improve UX" as one of its three tracks, alongside scaling and hardening layer 1. Two aims sit under it: native account abstraction, with the stated goal of smart contract wallets as the default without bundlers, relayers or extra gas overhead, and trust-minimized cross-layer-2 interaction building on the Open Intents Framework.

If both land, two of the problems this article describes shrink considerably. Accounts get recovery, batching and sponsorship without a separate upgrade step, and the chain a user happens to be on stops being something the interface has to surface. What remains is the part that will not be solved at the protocol layer: making an irreversible action feel deliberate, and making a signature prompt comprehensible before someone signs it. That is the durable part of the job.

For current figures on adoption and activity, see Web3 statistics, where every number names its publisher and date.

What was removed from this article

This article previously contained claims that could not be sourced or verified. They have been deleted rather than updated:

  • A projected Web3 market valuation of $81.5 billion by 2030, with no publisher or methodology given.
  • A global UX services market figure of $2.59 billion in 2022 growing to $32.95 billion by 2030 at a 37.8% CAGR, sourced to a content marketing blog.
  • A claim that video would be 82% of web traffic by the end of 2025. The 82% figure comes from Cisco's Visual Networking Index, which forecast it for 2022, not 2025; the article restated an old projection under a newer date, and it had no bearing on Web3 design in any case.
  • Indian UX market and entry-level or senior UX salary figures, unsourced and unrelated to Web3 roles.
  • A Web3 UX designer salary table by experience level, presented as market data with no underlying source. It has been replaced with advertised pay from Find Web3 listings, which states its sample size and date.
  • An infographic described as representing measured differences between Web2 and Web3 UX. It presented no data and cited no source.
  • An embedded video with no attribution, subject or date given anywhere in the article.
  • Outbound links to a personalization blog, an AI video generation tool and two statistics content farms, none of which supported the claims they were attached to.