Manta Wallet Retroactive Funding

8mos ago
13 Comments

MantaWallet 7 Months Development

Proponent:

Date: Feb 2023 - Sept 2023

Requested Allocation: 310,000 USD - 45,588 DOT (EMA7 - $6.8)


1. Context of the Proposal


Slide 16_9 - 7.jpg

This proposal seeks funding from the Polkadot Treasury for Manta Wallet, covering the accomplished work of Manta Wallet Browser Extension during the period from Feb 2023 to Sept 2023.

For full details about our all progress and achivement, please refer to the links below:

2. What is MantaWallet**?**


Slide 16_9 - 18.jpg

MantaWallet is the leading comprehensive non-custodial wallet for the Polkadot and Kusama ecosystems. With the browser extension installed, Manta wallet allows you to engage with Web3 apps on the Manta blockchain.

Manta Wallet has been released for more than half a year. It is the wallet with the second largest number of users in the Polkadot ecosystem (the first is the official Polkadot.js).

3. What has MantaWallet achieved?


01.jpg

The MantaWallet team started building in Feb 2023. Since then, we have been highly focused on building fast and efficiently. Below are our achievements by the numbers:

Tractions:

Key features:

  • 🔐 Create wallet accounts with both public address and zkAddress with a single mnemonic.
  • ✅ Import, and persistently store the mnemonics and the derived private key.
  • ✅ View public assets and zkAssets in the wallet.
  • ✅ Connect to DApps and sign human-readable transactions from trusted DApps.
  • ✅ zkAssets public2Private, private2Private, private2Public
  • ✅ Show your recent public / private transactions

Slide 16_9 - 20.jpg

Framework Design(Kumi):

There has three parts in Chrome Extension V3 version.

  • Inject script (To web site)
  • Service work
  • Pop up

In order to better integrate the web3 ecosystem, a set of RPC communication protocol has been designed based on PostMessage.

framework.jpg

Service Work Part

In Service Work, we have many things to handle, such as:

  • Message listening
  • Business logic
  • Data storage
  • Scheduled Tasks
  • etc…

This looks a bit familiar, like a backend framework. Yes, we are designing a backend framework. I think everyone should be familiar with Koa.js. I borrowed Koa's ideas and designed an RPC version of the framework.

Kumi.js:

Slide 16_9 - 21.jpg

At the organizational code level, use the classic Controller & Service & Model.

Slide 16_9 - 17.jpg

Especially important, the ServiceWork will be restarted within 5 minutes at most, so there is no session in memory, and all users' data is persistence in IndexedDB/Chrome Storage.

Manta-SDK Design & Introduction:

Manta-SDK is implemented using TS/Rust and focuses primarily on zkAddress and zkAssets functionalities. It enables operations such as Public2Private for Assets, PrivatetoPublic for zkAssets, privateTransfer, and implements features like zkNFT.

The primary aim of Manta-SDK is to provide a set of functionalities including zkAddress, zkAssets, and asset transfer operations that any wallet can easily incorporate through simple configurations. By encapsulating complex logic and offering a user-friendly API, it aims to simplify integration for developers. Currently, it supports two environments: Node and Browser.

Functionality Overview of Manta-SDK:

  1. Feature List
    • Ledger Management: Includes downloading, parsing, assembling, etc., of the Ledger.
    • BaseWallet: The foundational instance for all wallets, responsible for handling common logic.
    • PrivateWallet: The base class for all wallets, managing common wallet functions.
    • MantaPayWallet: Inherits from PrivateWallet and implements functions related to MantaPay.
    • MantaSbtWallet: Inherits from PrivateWallet and implements functions related to MantaSBT.

Interface List: https://github.com/Manta-Network/sdk/blob/signer_extension/manta-js/package/src/interfaces.ts

For detailed introductions, refer to: https://github.com/Manta-Network/sdk/blob/signer_extension/manta-js/docs/how-to-use-manta-js-sdk.md#some-key-class-introductions

  1. Example List

  2. Documentation List

Achievements of Manta-SDK:

  1. Integration with Wallets:

Currently, integration with wallets is confirmed through the dependents listed on npm. However, there are also some undisclosed projects utilizing Manta-SDK.

  1. dApp Integration Data:

After integrating Manta-SDK, wallets inject some core methods into browsers, enabling interaction with dApps.

  1. Manta-SDK Version Records:
  2. Future Plans for Manta-SDK:
    • Optimize logic to reduce ledger synchronization time. Currently, ledger data is extensive, requiring time for synchronization. Future optimization plans aim to save time for users and developers.
    • Enhance wallet integration solutions to facilitate more wallets adopting Manta-SDK. This involves adding detailed tutorials and streamlining integration steps.
    • Introduce CLI support, enabling developers to operate SDK via CLI for easier debugging and development.

4. Why should MantaWallet be supported?


  1. The wallet plays a crucial role in a blockchain ecosystem
    A blockchain wallet serves as a cornerstone for any thriving ecosystem, comparable to a browser in the realm of the internet. Without a functional blockchain wallet, users have no access to ecosystem features and applications, which hinders the ecosystem's potential for growth. Therefore, the wallet is an important infrastructure for the ecosystem that should receive support for its development.
    Money inherently loses value, and the same holds for DOT, which experiences an annual inflation rate of over 7%. When left static, it progressively loses value. Similar to the economic development of a country, funds need to be circulated and invested wisely, particularly in building essential infrastructure.
  2. Wallet development is resource-intensive
    Contrary to common assumptions, our treasury allocation does not equate to substantial funding. A comparative analysis with leading wallets in other ecosystems reveals the substantial investments required for wallet development.
    • Solana's Phantom raised $118 million for development, serving over 3 million users. That is around $39 per user.

    • Consensys (MetaMask) raised $726 million for development, serving over 25 million users. That is around $29 per user.

    • Polkadot’s SubWallet received funding exceeding $1 million and is now serving over 250,000 users. That is only around $5 per user.

      Funding \ Wallet MetaMask (ETH) SubWallet (DOT) MantaWallet
      Total Funding $726,000,000 $1,286,717 $310,000
      Total users 25,000,000 270,000 215,000
      Cost per user $29 $5 $1.44
  3. MantaWallet team is committed to and focused on building
    We have been highly focused and committed to building products and shipping new features. We consistently prioritize product delivery and gaining traction, ensuring that what we build contributes tangible value to the ecosystem before seeking any funding.
  4. MantaWallet team makes a comprehensive contribution to Polkadot ecosystem growth
    In addition to our proficiency in product development, we possess robust marketing and sales capabilities. We are capable of effectively bringing our products to market and expanding our user base, rather than building a product with very few users. We firmly believe that we have actively contributed to the growth of the ecosystem, making it more vibrant and robust.

5. What is the budget allocation?


Team members

  • Victor Ji, Co-Founder.
  • Kenny Li, Product Lead.
  • Chloe Wang, Project Manager.
  • Ye Han, Product Designer.
  • Joly Cao, Quality Assurance Engineer.
  • Can Jin, Frontend Engineer.
  • Daniel Zhang, Full-stack Engineer.
  • Vern Zhang, Full-stack Engineer.

Payment Details

  • Proposal Execution:
    • 7 months: from Feb 2023 to Sept 2023
    • Full-Time Equivalent (FTE): 5
    • Product updates: Every 1 - 2 weeks
  • Payment Details:
    • Total amount: 310,000 USD
    • Hourly Rate: 90 USD
    • Address:
    • Budget details: ✅ All tasks have been completed

Milestone 1 — Basic functionality

  • Estimated duration: 3 months
  • FTE: 5
  • Costs: 150,000 USD
Number Specification
0a. MIT
0b. Early technology and product research, wallet UI and basic functions, ZK related SDK design
1. Run Singer SDK in Extension
2. Store and encrypt/decrypt seed from storage
3. Design lock and unlock logic
4. Sync UTXO data to IndexedDB
5. Token structure design
6. Transaction structure design
7. Wallet structure design
8. Provider Inject
9. Create/import workflow - Choose create/import
10. Create/import workflow - Create password
11. Create/import workflow - Wallet import input
12. Create/import workflow - Wallet create seed/mask
13. Create/import workflow - Account details
14. Home page - Menu bar
15. Home page - Total Balance
16. Home page - Token Balance List
17. Home page - Network Choose
18. Home page - Private/Public Choose
19. Home page - Address Display
20. Home page - Account Details Link
21. Account Setting - Rename account
22. Account Setting - View recovery phrase
23. Account Setting - Delete Account
24. Account Setting - Unlock wallet
25. Dapp - DApp connected list
26. Dapp - DApp connection request
27. Dapp - DApp Signature request
28. Dapp - DApp disconnect action

Milestone 2 — SDK features & Wallet features

  • Estimated Duration: 2 month
  • FTE: 5
  • Costs: 100,000 USD
Number Specification
0a. MIT
0b. SDK features & Wallet features
1. Sync page
2. Sync loading page
3. Initialization page
4. Home page balance sync
5. Ledger data checkpoint sync
6. New users sync the UTXO data. Improve initialization performance
7. Implacement parsed data save
8. PR Check CI
9. Build private-related transactions on DApp, https://github.com/Manta-Network/sdk/tree/signer_extension/manta-js#if-you-want-to-connect-manta-wallet-in-your-dapp-build-private-related-transactions
10. Integrate the SDK into your wallet, https://github.com/Manta-Network/sdk/tree/signer_extension/manta-js#if-you-want-to-test-the-sdk-or-integrate-the-sdk-into-your-wallet
11. zkSBT related features, https://github.com/Manta-Network/sdk/tree/signer_extension/manta-js#if-you-want-to-test-zksbt-related-functions
12. Transfer assets from Public to Private
13. Transfer zkAssets from Private to Private
14. Transfer zkAssets from Private to Public

Milestone 3 — Audit and Release

  • Estimated Duration: 1 month
  • FTE: 3
  • Costs: 30,000 USD
Number Specification
0a. MIT
0b. Chrome Web Store & Security audit
1. Google developer account apply / Group Account
2. Banner & cover & description document
3. Privacy policy links
4. Code organization before audit
5. Handle audited issues and confirm audit reports

Milestone 4 — Optimize Wallet

  • Estimated Duration: 1 month
  • FTE: 3
  • Costs: 30,000 USD
Number Specification
0a. MIT
0b. Optimize Wallet
1. Integration Manta Network
2. Sync Transaction State from chain
3. Sync Transaction history from chain
4. Sync balance when tx successful
5. Transaction detail and lists
6. Auto clean ledger data
7. Update Total Balance when change network
8. Sync token list from github configuration url
9. Save Network data to indexedDB
10. Disconnect dApp
11. UTXO consolidation
12. Add a retry mechanism to the initial_sync
13. Add caching to the getMetadata interface that takes up too much bandwidth
14. Add sdk node example
15. Add Api estimateTransferPostsCount and consolidateTransferSend
16. Add ledger sync progress, total ledger count and synced ledger count api

6. Q&As


6.1. How is MantaWallet’s community and social engagement?

We have a community of 719,000+ organic followers on Twitter and 50,000+ members on Telegram and Discord. No paid marketing activities are implemented – all users are organic.

6.2. How does MantaWallet team engage with projects & communities in the ecosystem?

We are very active in engaging with our partners & communities. We have done 40 AMAs, Twitter Space and online & offline presentations with communities & partners in the ecosystem.

7. Additional Information


Up
Comments
No comments here