Please describe your proposed solution.
<u>Background</u>: dApps want to onboard Web2 users through a walletless experience that lets users connect by signing in with a social account or email address; the user doesn’t need to install or set up a wallet nor write down a seed phrase, and the user experience resembles the familiar Web2 world.
<u>Problems with existing solutions</u>:
-
<u>Problem 1</u>: if a dApp directly integrates walletless/Web2 onboarding tools (using a service like web3auth), the wallet created is usable only with that dApp (due to security measures imposed by service providers); as a result, a Web2 user cannot use the same wallet across multiple dApps, and must have a different wallet for each dApp.
-
<u>Problem 2</u>: if a dApp integrates walletless/Web2 onboarding tools directly, the dApp must also integrate wallet functionality, meaning extra work and ongoing wallet maintenance.
<u>The solution</u>: NuFi will create a non-custodial plug-n-play solution for dApps to onboard Web2 users; users will be able to connect by logging in with a social account or email address.
- NuFi will create a crypto wallet for the user in the background (meaning the user won’t even know that they have a wallet), and the dApp can abstract away any crypto wallet terminology.
- The user will be able to re-use this same social login wallet across all dApps that implement NuFi's proposed solution, which includes an easily-accessible fiat-on ramp (though dApps can still use their own fiat on ramps or sell digital assets to the user via credit card).
<u>How this solves the problems</u>: In this solution, NuFi acts as a non-custodial relay (or middleman) that provides the Web2 onboarding options on behalf of the dApp, meaning a user’s wallet is not restricted to one dApp only, thus solving Problem 1 (above). This solution also solves Problem 2 because NuFi (and not the dApp) provides non-custodial wallet functionality for the user (private key won’t be shared with the dApp).
<u>How it works</u>:
STEP ONE: The Web2 user clicks the ‘Log In’ button integrated in the dApp.
This initiates WalletConnect in the background and launches NuFi’s customized dApp connector window containing Web2 login options.
STEP TWO: The user logs in using a social account or email address.
Logging in authenticates and fetches a sharded private key from Torus’ decentralized network nodes; the shards are reassembled into a complete private key on the user’s device and then injected into NuFi’s dApp connector window.
STEP THREE: NuFi passes the user’s public key to the dApp and the user is connected.
Once connected, the user can access wallet functionality (including a fiat on/off-ramp) from NuFi’s dApp connector window or by logging at wallet.nu.fi:
<u>Implementation</u>: Any dApp can implement this solution by first integrating WalletConnect (approx. 8 development hours), and then – with a few lines of code and a very light library – adding a ‘Log In’ button.
<u>Security</u>: The proposed solution is fully non-custodial and utilizes state-of-the-art technology:
- Web3auth is a non-custodial service that provides walletless/Web2 login options and manages authentication.
- Torus Network: The user’s sharded private key is stored securely by Torus’ decentralized network nodes. When the user authenticates by logging in, the private key shards are fetched to the user’s device, where they are re-assembled into a complete private key which never leaves the user’s device. Members of the Torus Network are validator nodes that operate the Distributed Key Generation, Proactive Secret Sharing and Key Assignment protocol, and consist of geographically distributed and diverse businesses institutions:
- 2FA: The user can enable Two-Factor Authentication (2FA) to add an extra layer of security to their wallet.
<u>Wallet recovery</u>:
<u>The risk</u>: If a user loses access to the social or email account associated with their wallet, they must follow the account provider’s recovery process to restore access to the account, else they may lose access to the wallet and any funds inside it.
<u>To mitigate this risk</u>: NuFi has developed functionality that extracts the seed phrase of a wallet created using the proposed solution, and gives users the option to download an encrypted backup file or write down the seed phrase to store offline. With this, a user can restore their wallet in the event that they lose access to the social/email account associated with it.
Furthermore, the seed phrase can be used to restore the wallet into a non-custodial Cardano wallet when the user is ready to use a conventional mnemonic wallet.
<u>Cost of using the relay</u>: web3auth (the provider used for Web2 login options and authentication) charges for use of its onboarding services if there are more than 1000 monthly active wallets (MAWs). Above this number, the price ranges from $0.04 to $0.025 per MAW, but NuFi will cover the Web3Auth costs on behalf of the dApps.
How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?
<u>Who will benefit from this solution</u>?
<u>Web2 users</u> can:
- onboard into Cardano dApps simply by logging in with a social account, email address or other Web2 login option, without needing to install or set up a wallet nor manage a seed phrase, and with no technical knowledge needed
- connect the same social account wallet to any dApp that uses this proposed solution
- connect to dApps on any device (e.g. while away from home), since the user needs only to log in with a web2 account to connect to a dApp; optional 2FA adds another layer of security and ensures that the user’s wallet is protected from unauthorized use
- purchase ADA using NuFi’s fiat onramp without needing a CEX account
- manage assets in a fully non-custodial way using NuFi’s wallet functionality
- create a mnemonic seed backup and restore their wallet if they lose access to the Web2 account associated with the wallet, or if they want to transition to a mnemonic wallet at a later date
<u>Cardano dApps</u> can:
- quickly onboard Web2 users by allowing them to connect using a social account, email address or other Web2 login option, meaning no obstacles to onboarding (such as wallet installation and setup, seed phrase management or technical ability)
- connect to the same user’s wallet as other dApps do (especially useful for projects whose token or NFT items are used on one dApp but minted or traded on another)
- advertise their project to Web2 users without needing to provide instructions on how to set up a crypto wallet
<u>The Cardano ecosystem</u> will benefit through the onboarding of new Web2 users and the liquidity they bring to the ecosystem. <u>Cardano’s existing user base</u> will be able to share dApps with non-crypto friends, family and colleagues without needing to explain how to set up a crypto wallet.
<u>Milkomeda C1 dApps</u> and <u>multi-chain dApps</u>: NuFi is a multi-chain wallet and currently supports Cardano, Milkomeda C1, Ethereum, Polygon, Solana and Flow accounts (with support for BNB Chain, Arbitrum and Optimism coming Q3). dApps built on Milkomeda C1 or Cardano dApps that want to expand to one of the chains listed can use NuFi’s proposed solution because, in the future, we would like to expand this solution for all chains that NuFi supports, and a user will be able to connect to different chains using the same social account/email address.
<u>Which challenge aims does this proposal address</u>?
“Integrations with other existing services, products and protocols that improve the end user experience. This could mean giving the user more options or making something easier to use that benefits the wider ecosystem.”
→ NuFi’s solution allows a Web2 user to connect to dApps by logging in with a social account or email address, which greatly simplifies and speeds up the onboarding process; furthermore, with this solution, a user has a single wallet for all dApps, as opposed to the multiple wallets created if dApps directly integrate a walletless/Web2 onboarding solution.
“The more interesting and useful the products and integrations are in the ecosystem the more reasons people have to interact with the Cardano blockchain that can help further drive more adoption, feedback and further innovation.”
→ Through blog articles and crypto influencer reviews, this solution can raise awareness of Cardano and its ease of onboarding, encouraging new users to try Cardano dApp and new projects to build on Cardano.
“What products or integrations already exist in the ecosystem? What are the core differences between the proposal being presented and those existing ones and why will that provide impact to the ecosystem?”
→ At present, it’s possible to offer walletless/Web2 onboarding via a direct integration in a dApp using a service provider like web3auth; however, this approach isn’t convenient from a user’s perspective because a user’s wallet is restricted to use with one dApp only, meaning that for a single social account, a different wallet is created for each dApp. Also, the dApps need to implement wallet functionality and create an account with web3auth (and pay for it).
“Technical requirements - Does the Cardano ecosystem have the right tools, libraries and SDKs for the idea to be feasible? What needs to be introduced or improved for the proposal to fully reach its potential?”
→ The Cardano library for WalletConnect has already been developed, as has the Cardano library for webauth. Nothing else needs to be developed for us to be able to implement the proposed solution.
“Ecosystem maturity requirements - Why is this product or integration suitable for execution right now? Are there enough pieces of infrastructure, applications or other integrations available that would be needed for this suggested proposal to have a strong chance of gaining adoption?”
→ Several Cardano dApps have already expressed interest in this proposed solution, and we are confident that the solution will appeal to/be adopted by a wide range of Cardano projects.
“An increasing number of products and integrations that offer new solutions for people to interact with and benefit from using Cardano.”
→ This solution can help to engage and onboard Web2 users, especially those interested in gaming, finance, art and digital collectibles (as there are many Cardano dApps that cater to these interests).
“Increase the number of integrations that bring existing solutions together for a more seamless and connected experience between different products.”
→ With this solution, a user can use a single wallet across multiple dApps, so assets contained in the wallet can be used across inter-related dApps (e.g. NFT items used by a game that are acquired on a separate/secondary marketplace, or tokens used by a DeFi protocol that must be acquired on a 3rd-party DEX).
How do you intend to measure the success of your project?
These are our quantitative and qualitative measures for success:
Number of new wallets created via this solution;
<u>Target</u>: 50,000 new wallets created in the first 12 months
Achieving this will indicate to us that the solution makes it easy for Web2 users to onboard into Cardano dApps.
We will track this data using Google Analytics and share it via NuFi's social media channels on a quarterly basis (see the section below for links).
Number of dApps (including widgets such as NMKR’s NFT minting widget or Anvil’s wallet connection widget) that use this solution;
<u>Target</u>: 10 dApps implement the solution within the first 12 months
Achieving the targets will indicate that our proposed solution not only satisfies dApps' requirements for a Web2 onboarding solution, but is simple enough to integrate.
We will announce each new dApp/widget integration on our social media channels (and the social media channels listed in the section below), and provide quarterly updates regarding adoption via NuFi's social media channels.
Qualitative feedback from users;
Feedback from users will tell us how easy it is to connect to dApps as a Web2 user; we hope to hear that the familiar Web2 experience encourages users to connect to Cardano dApps, and that the onboarding process is frictionless.
We will collect this data using Google Forms and from feedback posted on our Twitter and Discord channels and from support tickets (submitted through our helpdesk at support.nu.fi), and share this via NuFi's social media channels. This data will be used to improve the solution and the improvements will be shared via NuFi's social media channels on a quarterly basis.
Qualitative feedback from dApps;
Feedback from dApps will indicate whether or not our solution is easy to integrate and whether or not it provides an effective onboarding solution.
We will collect this data by corresponding directly with the dApps and this data will be used to improve the solution; improvements will be shared via NuFi's social media channels on a quarterly basis.
Please describe your plans to share the outputs and results of your project?
We will share ongoing progress and completed milestones via:
- NuFi’s social media channels and newsletters (Twitter | Discord | Medium)
- Cardano-specific news sites/blogs/Twitter channels
- Web3 and general crypto news sites/blogs/Twitter channels
- Cardano ambassadors/influencers’ social media channels
- Cardano-related podcasts
- Project Catalyst-related town halls and related online meetups
- Relevant Web3/crypto podcasts and Twitter/Discord spaces or AMAs
- The social media channels of dApps that use the relay solution