CoW Swap Wallet Proposal

Author:

Ivan Bandaryk (ivan at protofire dot io)

About You:

Protofire has been collaborating with the CoW Protocol team for some time already, as well as we have been a partner of several Gnosis-related projects, since before the DAO was launched. We are proposing to the CoW Swap team and ecosystem the idea of developing a wallet that contains specific features that align with the project’s and users’ specific needs. Examples of projects that we have worked together on the previous years are:

  • CoW Swap DEX: Our team worked alongside the CoW Protocol team on the rebranding, development, and testing of a web trading interface built on top of the CoW Protocol. Protofire has assisted in the development of the SDK, the Explorer, the Batch Viewer integration, UI & UX improvements, and The Graph integration.

  • We have also developed wallets for other projects, such as the Ocean Marketplace wallet - which has been finalized, yet not published by their team. We are currently working on the DAA wallet, which is an app that allows investment advisors to manage the account of their investors by making multisig transactions through Gnosis Safe.

Whitelabel solution: We have developed a whitelabel wallet - ProtoWallet, which will be used in order to reduce the costs of the development of the CoW Swap wallet (‎Protofire Wallet on the App Store).

We will add CoW Swap functionalities to it and customize the UI. In the link below there is a video of the mobile prototype, in which it was recorded a swap made on the Goerli network, totally through CoW Swap functionality. So we are pretty confident in the estimations and feasibility for developing a fully-functional wallet for CoW Swap.

Team of specialists: We have a team of blockchain specialists that have been working only on wallet projects for a few years already, which also reduces the time that could be required on R&D, since we already have the necessary experience to make the development happen.

Grant Category:

Other/misc

Grant Description:

In a nutshell, this is a proposal to develop a mobile wallet for CoW Swap DEX. We aim to provide value for CoW Swap DEX by promoting greater accessibility for users, who will be able to easily use the decentralized exchange in their phones easily, anywhere and at any time. That may promote a greater usage of the CoW Swap DEX, which is expected to translate into a growth in the transaction volume within the DEX.

This proposal should be the first of several phases to develop a high-quality mobile wallet made up of all the features that the CoW Swap application may need.

The first phase is to focus on the Swap feature. Later we will add the profile and the affiliate program, then solvers and transactions information, and then we will implement new improvements based on the website version and maintenance.

We intend on adding new features based on the mobile possibilities such as:

  • User recognition.
  • Notifications connected with the website activities.
  • Website synchronization.

Grant Goals and impact:

Our motivation for the development of the CoW Swap wallet comes from knowing the needs of the CoW Swap DEX and believing that mobile wallet can provide value for the protocol by allowing users to access the DEX unique functionalities from their phones. We know the protocol needs since we have been working with the team for a long time on the development of several aspects of the CoW Swap DEX. We have been working with Gnosis Safe for several years - from development to deployment, upgrades and maintenance, as well as we have developed wallets such as the Ocean Protocol wallet, DAA wallet, etc.

The wallet can promote:

  • Convenience, since users will be able to access their funds and make transactions on the DEX from their wallets.
  • Accessibility, since users will be able to access their funds and information in just one place that they trust.
  • Security, since data is encrypted and the wallet will be developed in accordance with CoW Swap’s own features. Private keys will be stored on the user’s phone in the secure enclave.
  • Upgradability, since functionalities will be able to be extended, given CoW Swap’s users needs, and provided by us given our expertise on wallets.

The code will be open source and will be hosted on Cowswap GitHub.

Milestones:

  • Prototyping (Protofire investments) - already done.
  • Officially published iOS and Android applications in the Apple store and Play market, after the cycle of testing and bug fixing.

Grant Timeline:

Tasks Inital Estimate Current Estimate (with whitelabel solution)
[Project] Set up project (32 hrs): 32 done
- Create project (2x2 hrs) 4
- Set up packages (4x2 hrs) 8
- Resolve dependencies (4x2 hrs) 8
- Set up code signing (app id/certificates/provision) (4x2 hrs) 8
- Run & check correct launch on devices/simulators (2x2 hrs) 4
[Development] Base development (36 hrs): 36 done
- Add storage controller (2x2 hrs) 4
- Add wallet controller (key management) (2x2 hrs) 4
- Add biometrics (4x2 hrs) 8
- Add network (2x2 hrs) 4
- Add blockchain controller (4x2 hrs) 8
- Add multiple networks support (4x2 hrs) 8
[Development] UI/Storyboard (180 hrs): 180 48
- Set up UI structure, navigation (TabBar, switch from initial scene, etc) (16x2 hrs) 32
- Add initial scene (2x2 hrs) 4
- Add “Create account” scene (4x2 hrs) 8 8
- Add “Import account” scene (2x2 hrs) 4 4
- Add “Main wallet” scene (assets, transactions, QR, scan) (16x2 hrs) 32
- Add “Multiple wallets” option (24x2 hrs) 48
- Add “Send assets” + “Review fee” scene (4x2 hrs) 8 8
- Add “Transaction” scene (4x2 hrs) 8
- Add “Backup” scene (2x2 hrs) 4 4
- Add “Networks” scene (4x2 hrs) 8
- Dark mode support/fixes (8x2 hrs) 16 16
- Add “No internet connection” scene and trigger across the app (4x2 hrs) 8
- Add “Wallets management” scene (list of wallets like in ProtoWallet) (8 hrs) 8 8
[Development] Network controller (32 hrs): 32 16
- Implement CowSwap API calls (16x2 hrs) 32 16
[Development] Remote config + controller (48 hrs): 48 16
- Create remote config for CowSwap (8x2 hrs) 16 16
- Create remote config controller for CowSwap (16x2 hrs) 32
[Development] CowSwap functionality + UI (192 hrs): 192 96
- Add “Swap” scene + controller (32x2 hrs) 64 32
- Add “Orders” scene + controller (32x2 hrs) 64 32
- Add “Order details” + controller scene (32x2 hrs) 64 32
[Development] Firebase SDK integration (8 hrs): 8 done
- Add Firebase/Analytics (2x2 hrs) 4
- Add Crashlytics (2x2 hrs) 4
[Publishing] (~32 hrs): 32 32
- Documentation preparation. 8 8
- Legal research. 8 8
- Apple store & Googe play applications. 8 8
[QA Testing] (40 hrs): 40 40
[Marketing] (~16 hrs): 16 16
- Marketing material preparation for Cowswap and Protofire blogs. 8 8
- News distribution and announces. 8 8
Total hours 616 264
Total development hours 528 176
Total dev days (8 hrs/day/dev) 39 17
Dev weeks (5 working days / week) 10-12 4-5

Funding Request:

We are requesting a total of around U$30,760 (23,760 for development hours + 7000 reserve, which can be consumed in case of any significant issues or further updates) for the project.

Budget Breakdown:

The hourly rate of our team members is U$90.00.
So, since we require around 264 hours to complete the milestones - that have been thoroughly described above -, we request a total of around U$23,760 and an extra U$7,000.00 as reserve to cover all the expenses and potential risks.

Gnosis Chain Address (to receive the grant):

0x76A25Aa82eDC11E7A54232D74Cd140c05d0a6BDf

Referral:

Protofire works on Cowswap JS SDK, so we know the team pretty well.

Contact Details:

Ivan Bandaryk, Field CTO (ivan@protofire.io, TG: @ivand3v)

A mobile wallet that utilizes the CoW Swap decentralized exchange is a fantastic idea, as it is expected to boost the protocol’s usage. I support this proposal.

1 Like

Looks nice!!! Just from what I have seen so far, do you expect to spend the same time for Android than for IOS? What would happen if the app gets dennied by apple?

1 Like

Very interesting!

Do we have an idea or stats about which portion of current CowSwap users and new users would be interested/can be reached with a dedicated app?

I’m very curious to find out more… because in my own user experience, I would totally prefer to stick to the current mobile wallets (Metamask and Ledger in my case) which I trust, rather than downloading a dedicated app for a given dapp on my phone and having to use my private key in these dedicated apps… it’s not something I personally feel comfortable doing for example compared to using Metamask mobile and the integrated browser, who in my case works just fine with CowSwap mobile UI… Maybe what is missing in my very own use… is that CowSwap is not currently integrated in the list of dapps in Ledger Live. Maybe if your app is able to allow the use of a Ledger connected by USB or bluetooth that could be very interesting indeed…

That being said my question is strictly based on my own personal use (which might not be very representative of the average user), so yeah that’s why I’d be interested to see if you have an idea of the portion of users who could be interested/reached by this app, just to have a sense of if it is worth the cost of developing and maintaining it over time.

2 Likes

Hi, thanks for your question!
If this happens, don’t worry, we will help to handle this situation.
First, we’ll review the feedback from Apple and understand the reason for the denial. Based on this, we’ll work to address any issues or make any necessary changes to the app to ensure it meets Apple’s guidelines.
Next, we’ll resubmit the app for review and continue to work closely with Apple to ensure a successful approval. This may involve providing additional documentation or making further changes to the app.
Overall, our goal is to ensure that the CoW Swap app is published on the App Store and meets all the necessary requirements. We understand that the app approval process can be challenging, but we already have Protowallet published on App Store. We will take the functionality that was already approved by Apple/Play Stores, and cut off some of it, so the publishing process should be easier.

Thank you for your feedback on our proposal.
As outlined in the proposal, the initial development phase will focus on introducing the Swap feature. For added security, the private keys associated with your wallet will be stored in the secure enclave on your mobile device, ensuring that only you have access to them. This makes mobile wallets a safer option compared to browser-based ones.
Overall, we have 2 main reasons to suggest mobile app development:

  • First of all - it creates a lot of trust. There are hundreds of dapps, which were developed “yesterday” and have only metamask connectors. Obviously, there is a scam as well. Having a dedicated mobile application shows that it’s a serious company behind it. If this app is approved by Google and Apple, the risk is almost zero.
  • Second - for plenty of new users using MM with the mobile version of the website is still complex and not reliable enough. MM is an undisputable base wallet for crypto-native folks, but for those who just joined the crypto industry, the branded app makes more sense. It’s the same level of sensibility as banking apps, where you prefer to use the mobile app published by bank, rather than a mobile version of their web.

Regarding the suggested feature of connecting a Ledger via USB or Bluetooth, we appreciate your input and will consider it as a secondary development phase once we have established the core functionalities of the app.
We look forward to bringing you a safe and convenient mobile wallet experience.

For this project, what is the proposed technical stack?