Loading...
✦February 17, 2024 · 10 min read✦

Web3 Wallet Onboarding Without Hardware Wallets

← All articles

If your dApp has healthy landing-page traffic but few active wallets, the problem is often not your product. It is the moment you ask a newcomer to "connect wallet." This guide covers why traditional web3 wallet onboarding loses mainstream users and how the main alternatives compare. It also explains the security and UX trade-offs of Google-based options, and the pattern behind the Enclave SDK, which we built to replace hardware wallets with Google Authenticator integration.

Why web3 wallet onboarding is where most new users drop off

Consider what a first-time user goes through in a conventional flow:

  1. Install a browser extension or wallet app. This means leaving your site, visiting an app store or extension marketplace, and trusting software they have never heard of.
  2. Create a wallet and write down a seed phrase. The user is shown 12 or 24 words and warned that losing them means losing everything. For many people, this is the first time a website has made them solely responsible for irreversible loss.
  3. Fund the wallet for gas. Before they can do anything, they often need tokens from an exchange. That may involve identity verification, a purchase and a transfer.
  4. Approve the connection. A pop-up asks them to connect an account to a site, usually with little context.
  5. Sign a message. Another pop-up shows a hex string or a block of text the user does not understand.

Each step is a separate point where users can abandon. Because the steps happen in different contexts (your site, an extension, an exchange), you often cannot see where users leave.

Hardware wallets add another layer. For people holding significant value, a dedicated signing device is a sensible security choice. For someone trying your dApp for the first time, buying and setting up a device before seeing any value is a cost and friction barrier few will accept.

The goal for most consumer-facing Web3 products is therefore not to drop security. It is to let users start with familiar tools, such as Google-based sign-in or an authenticator app they already use, while still giving them real control over their keys.

The alternatives to hardware wallets and seed phrases

Several patterns have emerged to reduce onboarding friction. They are not mutually exclusive, and many production products combine two or more.

Social login (OAuth) with embedded or MPC wallets

The user clicks "Sign in with Google" (or another identity provider). Behind the scenes, an embedded wallet is created for them. Often this uses multi-party computation (MPC), which splits key material into shares held in different places, such as the user's device, the provider and a backup.

It is important to be precise about what the Google identity does. It proves who the user is to the wallet infrastructure. It is not the private key. The Google account typically gates access to one share or to a recovery mechanism. Whether the user truly controls their assets depends on how the key shares are distributed and whether the user can export the key, not on the login button.

Authenticator-based security (TOTP)

Apps like Google Authenticator generate time-based one-time passwords (TOTP). In a wallet context, a valid code can serve as the factor that authorises sensitive actions, such as approving a connection or signing a transaction. It replaces the physical "press the button on the device" check that a hardware wallet provides. Users who already use 2FA for email or banking recognise the pattern immediately.

Passkeys and WebAuthn

Passkeys use public-key cryptography bound to the user's device and to the specific website origin. They are unlocked with biometrics or a device PIN. Because a passkey only works on the domain it was created for, it is much more resistant to phishing than codes a user types in.

Smart-contract wallets (account abstraction)

With smart-contract wallets, the account itself is programmable. Teams can build in social or guardian-based recovery, spending limits, sponsored gas so new users do not need tokens upfront, and session keys that allow a limited set of actions without a prompt every time.

Google sign-in and Google Authenticator are not the same thing

This distinction causes confusion in product discussions:

  • Google sign-in (OAuth) answers "who is this user?" It is an identity mechanism.
  • Google Authenticator (TOTP) answers "is the person approving this action holding the enrolled device right now?" It is a second factor.

They solve different problems. A product might use Google sign-in to create and recover an account and use an authenticator code to approve high-value actions.

Comparison at a glance

Approach Setup friction Custody model Recovery path Phishing resistance Vendor dependency
Seed phrase + extension High Self-custody Seed phrase only Low to medium (users can be tricked into revealing phrases) Low
Hardware wallet Very high for newcomers Self-custody Seed phrase backup High for signing Device manufacturer
Social login + MPC/embedded wallet Low Shared or provider-assisted, depending on design Via identity provider plus provider backup Medium (depends on OAuth account security) High (identity provider and wallet infra)
Authenticator (TOTP) as signing factor Low to medium Depends on where keys live Requires a plan for lost devices Medium (codes can be relayed by phishing sites) Medium
Passkeys / WebAuthn Low Typically self-custody on device Platform sync or additional passkeys High (origin-bound) Platform ecosystems
Smart-contract wallet Low to medium Self-custody with programmable rules Guardians, social recovery, modules Medium to high Chain and infrastructure tooling

Case study: the Enclave SDK, replacing hardware wallets with Google Authenticator

Ranbanka Systems developed the Enclave SDK for wallet connections. The project replaced traditional crypto hardware wallets with Google Authenticator integration and delivered a clean, secure and user-friendly frontend.

The project's result tags summarise the work: Web3 SDK · Google Auth integration · Seamless UX. You can find the entry in our portfolio.

The core of the project is Google Authenticator integration: the authenticator app many users already rely on for 2FA. That places Enclave in the authenticator-based category described above, where a familiar app takes over the authorisation role a hardware wallet would otherwise play.

The broader lesson is a reusable pattern: an SDK that wraps wallet connection together with an authenticator app users already know. Instead of designing key-management UX from scratch, a dApp team can integrate an SDK of this kind. In general, the pattern offers two advantages:

  • Consistency. When connection and authorisation logic lives in one SDK, every product that integrates it can present the same, predictable flow rather than each team reinventing its own.
  • Focus. Product teams can spend their time on what makes their dApp valuable instead of rebuilding signing prompts, code entry and connection states.

The frontend work deserves as much attention as the cryptography. A secure SDK that confuses users at the code-entry step will still lose them.

Security trade-offs product teams must design for

Removing the hardware wallet changes your threat model. These are the areas to decide on before you write code.

Account recovery

Ask the uncomfortable questions early. What happens if a user loses their phone and with it their authenticator? What if they lose access to their Google account? Options include backup codes issued at enrolment, enrolling a second device, guardian-based recovery for smart-contract wallets, or a time-delayed recovery process. Whatever you choose, test it with real users. Recovery flows that are only exercised in an emergency tend to fail in one.

Custody clarity

Be explicit about who holds key material: the user's device, distributed MPC shares, or a provider. Then explain it honestly in the UI. Phrases like "you own your wallet" should only appear if it is true. If the user can export a key or upgrade to full self-custody, show them where and how.

Phishing and session risk

TOTP codes are better than nothing, but a convincing fake site can capture a code and relay it in real time. Passkeys are more phishing-resistant because they are bound to the legitimate origin. Whichever factor you use:

  • Define clearly what can be signed without re-authentication, such as low-value actions within a session.
  • Require a fresh factor for transfers, approvals of token allowances and changes to security settings.
  • Show the destination, amount and contract in human-readable form before every signature.

Vendor and platform dependency

Relying on Google services or a third-party wallet infrastructure provider introduces dependencies outside your control. Policy changes, outages or pricing shifts can affect your users. Document what happens to user access if a dependency becomes unavailable, and avoid designs where a single provider can lock users out of their assets.

Testing priorities

Wallet onboarding has more edge cases than a typical login. Expired codes, clock drift on the user's phone, interrupted signing, network switches, pop-up blockers, and mobile browsers that handle redirects differently all need coverage. Prioritise signing flows, cross-browser behaviour and mobile testing. Our QA and Testing services focus on proactively identifying and addressing issues so that each release is reliable, secure and user-ready.

UX patterns for a 'connect wallet' flow mainstream users will finish

Progressive onboarding

Do not open with "connect wallet." Let users browse, explore and understand the product first. Create or connect the wallet at the first moment of real value, such as claiming an item, saving progress or making a first transaction.

Plain-language copy

Replace jargon on first screens. "Approve this app to view your account address" is clearer than "Connect account." Explain gas as a network fee, and say who pays it. If you sponsor gas for new users, say so; it removes a major source of anxiety.

Make security feel familiar

An authenticator step should look like the 2FA screen users already know from email or banking: a six-digit input, a clear countdown and a helpful error when a code expires. Wherever possible, provide a visible, optional path to export keys or upgrade to self-custody later. This lets experienced users grow into more control without forcing it on beginners.

Mobile-first, responsive layouts

Many users will first encounter your dApp on a phone. Use large touch targets, avoid pop-ups that mobile browsers block, and make sure switching to the authenticator app and back does not reset the flow. This is core UI/UX Design and frontend work. As general proof of our frontend capability (from non-Web3 work), Sonal Rathi, Client Solution Manager at VMLY&R, said: "Ranbanka Systems excels in frontend development, delivering responsive, user-friendly interfaces that elevate user experience."

Instrument every step

Track events for each stage: wallet prompt shown, method chosen, code entered, connection approved, first signature completed. Without this, you will only know that users left, not where or why. Step-level funnels let you fix the specific screen that is losing people.

Build vs. integrate: planning your onboarding SDK project

When to integrate an existing provider

If you need to launch quickly, your auth requirements are standard, and you are comfortable with the provider's custody model and pricing, integrating an established wallet-infrastructure provider is often the right call.

When to build a custom SDK

Building your own SDK is typically worth considering when you need one or more of the following:

  • Full control over the custody model and user data
  • Fully branded connection and signing experiences
  • An SDK you can offer to partner dApps or your own ecosystem
  • A specific authentication requirement that off-the-shelf providers do not cover the way you need

The last point is where Enclave fits as an example: its verified scope was a wallet-connection SDK that replaced traditional hardware wallets with Google Authenticator integration. If your requirement is similarly specific, such as authenticator-based authorisation in place of hardware wallets, a custom SDK lets you shape the flow around it.

Components to scope

  • Auth integration: authenticator enrolment, verification and recovery
  • Wallet connection layer: connection, session handling and signing
  • APIs: secure backend services for enrolment, verification and session management
  • Frontend SDK and documentation: components, examples and integration guides for developers
  • QA: signing flows, edge cases, cross-browser and mobile coverage
  • Ongoing maintenance: updates as chains, wallet standards and browser behaviour change

How Ranbanka can help

We can support this scope through our Web Development, API Development, UI/UX Design, QA and Testing, and Maintenance & Support services. We offer a free initial consultation, and our work is covered by NDA and confidentiality. We respond within 24 hours and serve clients worldwide.

For more on product and engineering topics, browse the blog.

Losing users at "connect wallet"? Book a free consultation to talk through your onboarding flow, your custody and recovery requirements, and whether to integrate or build.

Free Website Audit

See what's holding your website back

Performance, mobile, UX, SEO and code quality — reviewed by our team, free.

Get My Free Audit →