“NuFi Widget” is a service used by Cardano teams to onboard MetaMask users and Web2 users into Cardano Dapps; for the best UX, a range of improvements and performance upgrades are needed
This is the total amount allocated to MetaMask Cardano Wallet Snap and Social Login Widget: Power-Packed Enhancements.
Upgrade “NuFi Widget” to improve the user experience with faster loading times, new transaction-related functionality, language options, support for music NFTs, and easy staking setup
No dependencies
Partially open-source.
Cardano Wallet Snap (and any development done to it) is open-source, as is the SDK through which NuFi widget is integrated into a DApp. However, NuFi wallet’s codebase is not open-source. NuFi wallet utilizes a range of internal security measures and ongoing auditing by its own development team and Vacuumlabs audit team.
Background:
What is NuFi Widget?
NuFi Widget is an embedded wallet integrated by many Cardano projects to onboard MetaMask wallet users and Web2 users into Cardano DApps. The Widget can be integrated easily into any Cardano DApp via SDK.
What does NuFi Widget do?
1) Onboards MetaMask users into a Cardano Dapp by acting as a bridge between a Cardano DApp and MetaMask wallet. The Widget interacts with Cardano Wallet Snap (an open-source Snap for MetaMask that enables Cardano support) and connects a MetaMask user’s Cardano account to a DApp. This allows MetaMask users to connect quickly and easily to a Cardano DApp with their MetaMask wallet, nothing else required. See developer docs here.
2) Onboards Web2 users into a Cardano DApp by providing social account login options, meaning that a Web2 or beginner user can connect to a DApp simply by logging in with Google, X or Discord – no wallet needed. To do this, NuFi Widget uses Web3Auth’s walletless technology to create a non-custodial Cardano wallet for the user invisibly behind the scenes. See developer docs here.
3) Provides Cardano wallet functionality for MetaMask and social account wallet users while they are connected to a DApp (so that a user can interact with a DApp, manage assets, swap tokens, buy ADA, and view their TX history, all inside the widget).
Who uses NuFi Widget?
At present, NuFi Widget is used by DexHunter, WingRiders, VyFi, GeniusYield, Jam on Bread, WayUp, Enigmi, Cardano Crypto Casino, Cardano Casino, Coinecta, FluidTokens, Anvil, Axo, Mesh, Ada Markets, Levvy and Crashr, and more projects are integrating the Widget at the time of writing.
What is this proposal for?
This proposal is to upgrade the Widget (specifically the Cardano wallet functionality displayed inside the widget) in the following ways:
Result: much faster loading times and login, smoother user experience; this will have a significant effect for users who load up the Widget for the first time but also a very noticeable effect for returning users
i) Send multiple TXs at the same time
Result: a user will be able to submit multiple TXs in parallel (unlike at present, where a user can have only 1 TX pending at any given time)
ii) ‘Send all’ functionality and improved UTXO management
Result: a user will be able to send all assets in a single transaction, which is a feature used to easily migrate assets to a new wallet and a way to optimize a Cardano account through UTXO un-fracking (read more about un-fracking here)
Result: a user will be able to Exchange assets across chains (e.g. swap ETH to ADA) and buy/sell ADA easily on their mobile device
Result: more users will be able to onboard and use wallet functionality in their native language
Result: a user will be able to play their music NFTs inside their wallet
Result: a user will be able to stake their ADA quickly and easily from the Widget
Result: a user will better-understand for how long their TX will remain valid
Result: a user will see more information in their transaction history
Result: a user can choose to display their wallet’s balance and their assets’ values in either fiat currency or another cryptocurrency (e.g. show all asset values in ADA but eventually also ETH, BTC, etc)
By improving NuFi Widget through these developments, the following benefits can be achieved:
To measure the impact of this, we can collect user data related to Widget performance (e.g. loading time compared to present), frequency of use of the new transaction functionality and display options, volume of ADA staking initiated through the Widget, and qualitative data obtained by collecting feedback from users who use the Widget. This data, along with updates, will be shared on our X channel here, as well as on Cardano news sites and the Twitter channels of Cardano ambassadors and influencers, as well as Project Catalyst-related town halls and events
The NuFi wallet team has a long track record of delivering high-quality development work:
Our experience of building the Widget and the feedback we received from Cardano teams using the Widget helped us to design/validate this proposal, and makes us best suited to deliver this project to the highest standards. In terms of our team’s ability to manage funds properly, we demonstrated our ability to do this in Fund9 and Fund11, where we received Project Catalyst funding and handled funds effectively so as to complete the projects on time and in full.
Performance Improvements, Mobile Optimization, ADA Staking, Cardano Wallet Snap Improvements and Display Currency Customization - 1 month
Outputs
Acceptance criteria: the Widget's loading time is faster than at present; cross-chain Exchange and fiat on-ramp flows are optimized for use on mobile devices; a Widget user can stake ADA through the Widget; transaction details are improved in MetaMask's interface (while signing TXs with MetaMask Cardano Wallet Snap); and a wallet's balance and asset values can be displayed inside the Widget in cryptocurrency as well as in fiat currency
Evidence of milestone completion: we will provide videos showing loading times with and without improvements, and provide video evidence of the above functionality working correctly inside NuFi Widget + wallet (and inside MetaMask wallet for Cardano Wallet Snap-related development), and invite reviewers and community members to try the new functionality first-hand
TX and TX History Improvements, and NFT Gallery Improvements - 1 month
Outputs
Acceptance criteria: all of a wallet's assets can be sent in one TX, with UTXO unfracking occurring automatically; transaction history will include more TX information, and music NFTs will be playable inside the NFT gallery
Evidence of milestone completion: we will provide video evidence of this functionality working correctly inside NuFi Widget + wallet, and invite reviewers and community members to try the new functionality first-hand
Performance and TX Improvements - 1 month
Outputs
Acceptance criteria: the Widget's loading time is faster than that measured after completing Milestone 1's performance improvements, and multiple transactions can be submitted in parallel
Evidence of milestone completion: we will provide videos showing loading times with and without improvements, and provide video evidence of TX functionality working correctly inside NuFi Widget + wallet, and invite reviewers and community members to try the new functionality first-hand
Language Options, Marketing, and User Documentation - 1 month
Outputs
Acceptance criteria: the display language can be changed into Japanese, Portuguese and Spanish; a marketing plan with marketing materials has been created; and user documentation has been published in NuFi's knowledge base
Evidence of milestone completion: we will provide video evidence of display language selection working correctly inside NuFi Widget + wallet, and invite reviewers and community members to try the new functionality first-hand; for the marketing plan, a link to a document outlining the plan and materials will be provided, as well as a link to the user documentation published in NuFi's knowledge base
Outputs
Acceptance criteria: the closeout video and closeout report is approved by Catalyst reviewers and the Catalyst team
Evidence of milestone completion: a link to the closeout video and closeout report will be submitted
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, UX/UI design
https://www.linkedin.com/in/richard-izip-253622112/
Kamil Džurman - Full-Stack Developer
https://www.linkedin.com/in/kamil-d%C5%BEurman-0b18b6149/
Andrej Želonka - FE Developer, UX/UI design
https://www.linkedin.com/in/andrej-%C5%BEelonka-0563681a9/
Gabriel Kerekeš - Full-Stack Developer
https://www.linkedin.com/in/gabriel-kerekes/
Peter Benc - Full-Stack Developer
https://www.linkedin.com/in/peter-benc-290b76142/
Ben Goldie - Community Manager
https://www.linkedin.com/in/goldieben/
Milestone 1: Performance Improvements, Mobile Optimization, ADA Staking, Cardano Wallet Snap Improvements and Display Currency Customization - 1 month
Improve widget performance step 1 (quick fix for loading time)
Research, implementation, testing = 5 days @ $700/day = 10,000 ADA
Optimize cross-chain exchange and buy/sell for mobile devices
Research, implementation, testing = 12 days @ $700/day = 24,000 ADA
Make ADA staking available through widget
Research, implementation, testing = 5 days @ $700/day = 10,000 ADA
Improvements to Cardano Wallet Snap
Research, implementation, testing = 5 days @ $700/day = 10,000 ADA
Implement ability to set ADA, ETH or BTC as default currency (instead of fiat)
Research, implementation, testing = 3 days @ $700/day = 6,000 ADA
Milestone 2: TX and TX History Improvements, and NFT Gallery Improvements - 1 month
‘Send all’ functionality + improved utxo unfracking
Research, implementation, testing = 15 days @ $700/day = 30,000 ADA
Improve transaction history
Research, translation, implementation, testing = 5 days @ $700/day = 10,000 ADA
Add support for music NFTs
Research, implementation, testing = 4 days @ $700/day = 8,000 ADA
Milestone 3: Performance and TX Improvements - 1 month
Parallel transaction execution
Research, implementation, testing = 20 days @ $700/day = 40,000 ADA
Improve widget performance step 2 (refactor to improve the login time)
Research, implementation, testing = 20 days @ $700/day = 40,000 ADA
Milestone 4: Language Options, Marketing, and User Documentation - 1 month
Language packs/translations implementations
Research, implementation, testing = 25 days @ $700/day = 50,000 ADA
Translating, creating the language set, testing and proofreading = 15 days @ $320/day = 13,714 ADA
Create marketing materials and user documentation = 5 days @ $320/day = 4,571 ADA
In terms of why this proposal is value for money for Cardano’s ecosystem, we believe that the one-time cost of improving the Widget will be offset by the development time and money saved for Cardano DApps who can integrate Web2 user and MetaMask user onboarding services without incurring any research or development cost.
The Widget is much easier for Cardano DApps to integrate than any other social account login/SSO service, and the Widget enables Cardano teams to add MetaMask wallet compatibility to their DApp quickly and easily, without needing to work directly with MetaMask’s complex ‘Snap’ technology.