not approved
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
Current Project Status
Unfunded
Amount
Received
₳0
Amount
Requested
₳323,285
Percentage
Received
0.00%
Solution

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

Image file

Problem

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

Impact / Alignment
Feasibility
Value for money

Nufi

2 members

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

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).

Image file

Image file

Image file

<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:

Image file

<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.

Image file

<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:

Image file

  • 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.

Image file

<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?

Image file

Image file

<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

What is your capability to deliver your project with high levels of trust and accountability?

The NuFi wallet team has a long track record of delivering high quality development work:

  • Created NuFi wallet (a Cardano-first Web3 wallet with support for 6 chains)
  • Created the Cardano wallet integration with web3auth’s protocol (as the first team in Cardano’s ecosystem to use this provider)
  • Successfully delivered a Project Catalyst Fund9 proposal, which added Ethereum and Milkomeda C1 support to NuFi wallet
  • We created a simple experimental walletless solution for Flow hackathon, winning the 2nd place prize (see it at <https://walletless.nu.fi>)

What are the main goals for the project and how will you validate if your approach is feasible?

<u>Goal 1</u>: to provide dApps with a plug-n-play solution for onboarding Web2 users that:

  • is easier to integrate than a custom integration of a service provider like web3auth
  • is cheaper to integrate than a custom solution (because NuFi will cover the monthly cost of using web3auth)
  • the effectiveness of this solution and ease of integration can be measured through adoption by dApps and the feedback they share

<u>Goal 2</u>: to provider users with a walletless onboarding experience that:

  • resembles a familiar Web2 experience
  • connects the user to a dApp with no installation, setup, seed phrase storage or technical knowhow required
  • allows a user to re-use the same social account wallet across multiple dApps (any dApp that uses this proposed solution)
  • the ease of onboarding and effectiveness of this solution can be measured through adoption and feedback from users

<u>Goal 3</u>: to provide users with the functionality they may need after connecting to a dApp:

  • non-custodial wallet functionality
  • fiat on-ramp (to purchase ADA with bank card, Google/Apply pay, bank transfer and more)
  • seed backup functionality (to be able to restore the social account wallet into any non-custodial Cardano wallet)
  • feedback from users will indicate whether the wallet functionality provided is sufficient and easy to use

Please provide a detailed breakdown of your project’s milestones and each of the main tasks or activities to reach the milestone plus the expected timeline for the delivery.

<u>Milestone 1</u>: develop custom dApp connector window (30 days)

  • Task: Integrate walletless/Web2 onboarding tools into a customized dApp connector window
  • Task: Add functionality that will allow a user to access wallet functionality/launch a fiat on-ramp
  • Task: Create streamlined UI and UX
  • Cost: 142,857 ADA

<u>Milestone 2</u>: develop the plug-n-play ‘Log In’ button/library for dApps to integrate (30 days)

  • Task: develop lightweight library
  • Task: develop mechanism for the dApp to signal desire for the plug-n-play experience that, via WalletConnect, launches NuFi’s dApp connector window
  • Task: develop mechanism that can pass additional flags to adjust UX accordingly (e.g. choice of login provider, e.g. Google, Facebook, Twitter, email address and so on)
  • Cost: 113,571 ADA

<u>Milestone 3</u>: integrate the solution into at least one popular Cardano dApp (14 days)

  • Task: give technical support to at least one dApp for the integration of the solution's SDK
  • Task: fix possible bugs which can occur during the integration process (and update SDK)
  • Cost: 28,571 ADA

<u>Milestone 4</u>: create and launch a promotional campaign around onboarding Web2 users into the participating dApp (14 days)

  • Task: create video and graphic resources
  • Task: create blog posts and a Twitter campaign around onboarding into the dApp
  • Task: create how-to articles for NuFi's and participating dApp's knowledge bases
  • Cost: 13,429 ADA

<u>Milestone 5</u>: collect feedback from Web2 users and dApps, then implement improvements (14 days)

  • Task: create a Google Form and collect Web2 users' feedback regarding the ease of onboarding and connecting to the dApp; user feedback will also be collected via NuFi's social media channels (Twitter/Discord) and from support tickets (submitted via <https://support.nu.fi>)
  • Task: correspond with dApps to collect feedback on the ease of integration and effectiveness of the solution
  • Task: analyze the feedback collected, design improvements, and implement changes
  • Cost: 24,857 ADA

Please describe the deliverables, outputs and intended outcomes of each milestone.

Milestone 1 deliverable: customized dApp connector window

<u>Output</u>: Customized dApp connector window with Web2 login options powered by web3auth

<u>Output</u>: 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

<u>Output</u>: Lightweight library

<u>Output</u>: ‘Log In’ button which initiates WalletConnect, connects NuFi automatically, and launches dApp connector window

<u>Output</u>: Mechanism to pass additional flags for customization of UX (e.g. login options)

<u>Output</u>: Developer guides for integrating the SDK

Milestone 3 deliverable: working integration of the solution in a Cardano dApp

<u>Output</u>: Full integration of the SDK by a Cardano dApp

Milestone 4 deliverable: promotional campaign to onboard Web2 users

<u>Output</u>: Promotional campaign targeting Web2 users, which includes promotional videos, Twitter campaign, and Medium blog articles (with professionally designed videos/graphics)

<u>Output</u>: help guides (for NuFi's and the participating dApp's knowledge base)

Milestone 5 deliverable: improvements to the solution

<u>Output</u>: 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

<u>Output</u>: Further develop help guides (for users and for developers) that address any issues raised in the feedback

Please provide a detailed budget breakdown of the proposed work and resources.

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

Who is in the project team and what are their roles?

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/

How does the cost of the project represent value for money for the Cardano ecosystem?

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).

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00