If a Web2 user wants to start using a Cardano dApp, they need to overcome difficulties such as downloading and setting up a wallet, storing a seed phrase, and connecting the wallet to the dApp
NuFi will create a plug-n-play walletless experience that dApps can integrate to onboard Web2 users into Cardano; users can connect to dApps simply by logging in with a social account/email address
This is the total amount allocated to Onboarding Cardano’s next 1 million Web2 users: Connect to dApps by logging in with a social account or email address, via a non-custodial plug-n-play invisible wallet solution for dApps.
Michal Petro
Partially open source: The integration library for dApps will be open source, but NuFi wallet’s custom dApp connector window/wallet functionality is not open source. NuFi wallet utilizes a range of internal security measures and ongoing auditing by its development team and Vacuumlabs personnel.
Background: 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.
Problems with existing solutions:
The solution: 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.
How this solves the problems: 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).
How it works:
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:
Implementation: 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.
Security: The proposed solution is fully non-custodial and utilizes state-of-the-art technology:
Wallet recovery:
The risk: 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.
To mitigate this risk: 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.
Cost of using the relay: 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.
Who will benefit from this solution?
Web2 users can:
Cardano dApps can:
The Cardano ecosystem will benefit through the onboarding of new Web2 users and the liquidity they bring to the ecosystem. Cardano’s existing user base will be able to share dApps with non-crypto friends, family and colleagues without needing to explain how to set up a crypto wallet.
Milkomeda C1 dApps and multi-chain dApps: 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.
Which challenge aims does this proposal address?
“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).
These are our quantitative and qualitative measures for success:
Number of new wallets created via this solution;
Target: 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;
Target: 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.
We will share ongoing progress and completed milestones via:
The NuFi wallet team has a long track record of delivering high quality development work:
Goal 1: to provide dApps with a plug-n-play solution for onboarding Web2 users that:
Goal 2: to provider users with a walletless onboarding experience that:
Goal 3: to provide users with the functionality they may need after connecting to a dApp:
Milestone 1: develop custom dApp connector window (30 days)
Milestone 2: develop the plug-n-play ‘Log In’ button/library for dApps to integrate (30 days)
Milestone 3: integrate the solution into at least one popular Cardano dApp (14 days)
Milestone 4: create and launch a promotional campaign around onboarding Web2 users into the participating dApp (14 days)
Milestone 5: collect feedback from Web2 users and dApps, then implement improvements (14 days)
Milestone 1 deliverable: customized dApp connector window
Output: Customized dApp connector window with Web2 login options powered by web3auth
Output: Streamlined UI/UX that launches wallet functionality and fiat on-ramp after the user is connected to the dApp
Milestone 2 deliverable: plug-n-play SDK for dApps to integrate
Output: Lightweight library
Output: ‘Log In’ button which initiates WalletConnect, connects NuFi automatically, and launches dApp connector window
Output: Mechanism to pass additional flags for customization of UX (e.g. login options)
Output: Developer guides for integrating the SDK
Milestone 3 deliverable: working integration of the solution in a Cardano dApp
Output: Full integration of the SDK by a Cardano dApp
Milestone 4 deliverable: promotional campaign to onboard Web2 users
Output: Promotional campaign targeting Web2 users, which includes promotional videos, Twitter campaign, and Medium blog articles (with professionally designed videos/graphics)
Output: help guides (for NuFi's and the participating dApp's knowledge base)
Milestone 5 deliverable: improvements to the solution
Output: Improvements made to the solution based on feedback from the users/dApp; these will be documented and shared (via NuFi's and the dApp's social media channels) in an improvements log/release notes
Output: Further develop help guides (for users and for developers) that address any issues raised in the feedback
Milestone 1 (Develop dApp connector)
Research - 60 hours @ 357 ADA/hr = 21429 ADA
Implementation - 210 hours @ 357 ADA/hr = 75000 ADA
Testing/Reviewing - 60 hours @ 357 ADA/hr = 21429 ADA
Project/Product management - 70 hours @ 357 ADA/hr = 25000 ADA
= 142,857 ADA
Milestone 2 (Develop SDK)
Research - 50 hours @ 357 ADA/hr = 17857 ADA
Implementation - 170 hours @ 357 ADA/hr = 60714 ADA
Testing/Reviewing - 50 hours @ 357 ADA/hr = 17857 ADA
Project/Product management - 40 hours @ 357 ADA/hr = 14286 ADA
Developer document creation - 8 hours @ 357 ADA/hr = 2857 ADA
= 113,571 ADA
Milestone 3 (Integration of SDK into dApp)
Research - 30 hours @ 357 ADA/hr = 10714 ADA
Consultation/Review/Changes - 30 hours @ 357 ADA/hr = 10714 ADA
Project/Product management - 20 hours @ 357 ADA/hr = 7143 ADA
= 28,571 ADA
Milestone 4 (Promotion campaign)
Create videos and graphics - 40 hours @ 143 ADA/hr = 5714 ADA
Blog articles/how-to guides - 24 hours @ 143 ADA/hr = 3429 ADA
Marketing outreach - 30 hours @ 143 ADA/hr = 4286 ADA
= 13,429 ADA
Milestone 5 (Feedback and improvements)
Collect/review feedback from users/dApps - 24 hours @ 143 ADA/hr = 3429 ADA
Implement changes - 30 hours @ 357 ADA/hr = 10714 ADA
Testing/Reviewing - 20 hours @ 357 ADA/hr = 7143 ADA
Project/Product management - 10 hours @ 357 ADA/hr = 3571 ADA
= 24,857 ADA
The hourly rates listed above are average industry rates for developers and project staff with the necessary experience to deliver the projects in this proposal.
In terms of why this proposal is value for money for Cardano’s ecosystem, we believe that the one-time cost of building this solution will be offset by the increased adoption of Cardano dApps among Web2 users and the liquidity that this can bring into the ecosystem. Once created, this solution will be available to all current and future Cardano dApps, and we hope that the plug-n-play nature and ease of onboarding provided by our solution can also encourage new projects to build on Cardano.
This solution also saves development time and money for dApps because it is much easier to integrate WalletConnect and this solution’s SDK than it is to directly integrate a Web2 onboarding provider like web3auth (plus NuFi will cover the monthly costs charged by web3auth, which dApps would ordinarily incur themselves).
Michal Petro - Project Lead
https://www.linkedin.com/in/michalpetro/
Lubos Svolik - Project Manager
https://www.linkedin.com/in/lubossvolik/
Rafael Korbaš - CTO
https://www.linkedin.com/in/rafael-korba%C5%A1-4b2a31b7/
Richard Izip - FE Lead
https://www.linkedin.com/in/richard-izip-253622112/
Kamil Džurman - Software Developer
https://www.linkedin.com/in/kamil-d%C5%BEurman-0b18b6149/
Andrej Želonka - Software Developer
https://www.linkedin.com/in/andrej-%C5%BEelonka-0563681a9/
Gabriel Kerekeš - Software Developer
https://www.linkedin.com/in/gabriel-kerekes/
Ben Goldie - Community Manager
https://www.linkedin.com/in/goldieben/