Manta Wallet Retroactive Funding
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
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:
- https://github.com/Manta-Network/manta-extension/blob/develop/CHANGELOG.md
- https://github.com/Manta-Network/sdk
- https://chromewebstore.google.com/detail/manta-wallet/enabgbdfcbaehmbigakijjabdpdnimlg
2. What is MantaWallet**?**
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?
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:
- Total Chrome Store users 215K+ https://chrome.google.com/webstore/detail/enabgbdfcbaehmbigakijjabdpdnimlg
- Manta Wallet has developed a total of 28 versions. https://github.com/Manta-Network/manta-extension/releases
- 702,373 transactions related to zk on Manta Wallet. (source: https://calamari.subscan.io/event?page=1&time_dimension=date&module=mantapay)
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
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.
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.
At the organizational code level, use the classic Controller & Service & Model.
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:
- 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
-
Example List
- Manta SDK Node Example
https://github.com/Manta-Network/sdk/tree/signer_extension/manta-js/examples/sdk-node-example - Manta SDK Example
https://github.com/Manta-Network/sdk/tree/signer_extension/manta-js/examples/sdk-example - Manta Extension Example
https://github.com/Manta-Network/sdk/tree/signer_extension/manta-js/examples/extension-example
- Manta SDK Node Example
-
Documentation List
- How to use Manta-SDK
https://github.com/Manta-Network/sdk/blob/signer_extension/manta-js/docs/how-to-use-manta-js-sdk.md - How to use Manta Wallet in dApp
https://github.com/Manta-Network/sdk/blob/signer_extension/manta-js/docs/how-to-use-manta-private-wallet-in-dapp.md - How to mint zkSBT
https://github.com/Manta-Network/sdk/blob/sbt_doc/manta-js/docs/how-to-mint-zk-sbt.md - Quick Start
https://github.com/Manta-Network/sdk/tree/signer_extension/manta-js
- How to use Manta-SDK
Achievements of Manta-SDK:
- 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.
- Manta Wallet Downloads: 208K
Link to Manta Wallet - SubWallet Downloads: 100K
Link to SubWallet - SoulWallet - iOS App
Link to SoulWallet
- dApp Integration Data:
After integrating Manta-SDK, wallets inject some core methods into browsers, enabling interaction with dApps.
- NPO: Total zkNFT Minted (611,600), Activated Addresses (300,543), Project Count (16)
Link to NPO - POMP: Total Minted (154,940)
Link to POMP - MantaPay: Total Txs (702,071)
Link to MantaPay
- Manta-SDK Version Records:
- A total of 56 versions have been released.
Link to Manta-SDK on npm - ChangeLog: Link to ChangeLog
- A total of 56 versions have been released.
- 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?
- 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. - 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
-
- 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. - 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
- Website: https://manta.network/
- User guide: https://docs.manta.network/
- Telegram group: t.me/mantanetworkofficial
- Twitter: https://twitter.com/MantaNetwork
- Discord: https://discord.com/invite/mantanetwork
Comments (12)
Confirmation Period
3
of 3Decision Period
28 / 28 days
Confirmation Period
0 / 4 days
Summary
0%
Aye
0%
Nay
Aye (15)0.0 DOT
Support0.0 DOT
Nay (75)0.0 DOT
Voting Data
Approval%
Support%
Threshold0.00%
Threshold0.00%
Why should the treasury found a wallet named "Manta wallet"? That sounds like a wallet specific for Manta parachain. Maybe consider renaming your product to Polka wallet if you need funding.
You have left Polkadot, please do not ask money from us, and you have made a lot of money recently, why do we pay you?