Zcash Thorchain Integration Grant
Zcash faces challenges with centralized exchanges changing their stance on ZEC support. Zcash users need 24x7 access to liquidity for their holdings. Hence, having the ability for a native ZEC swap via a decentralized exchange would be crucial for growth in adoption.
Thorchain enables decentralized native ZEC swaps with popular cryptocurrencies, ERC20 tokens and stablecoins. Zcash being the digital money focussed on privacy; adding support on a dex with native ZEC functionality instead of wrapping the ZEC with a custodian opens up tremendous opportunity for existing and new Zcash users to acquire ZEC via simplified UX. Additionally, Thorchain incentivizes wallets, node runners and liquidity providers to integrate ZEC support to all their existing users by getting a fraction of the fees. e.g. ShapeShift uses Thorchain as a backend to swap native cryptocurrencies and a ZEC integration will expose Zcash to their existing user base. The low Zcash network transaction fees combined with defined swap fees & slippage % from liquidity pools will give Zcash users an exact quote for each Zcash swap that needs to be performed. See: Asgard Exchange & https://app.thorswap.finance for various native coins performance on Thorchain.
Thorchain integration beneficiaries
There are multiple users & stakeholders that benefit from this proposal:
- The users of Zcash bridge and thin client would be Thorchain node runners & native swap wallets like ASGARDEX/https://app.thorswap.finance
- The end users will be users who can easily swap their ZEC holdings between BTC, ETH, BCH, LTC, BNB, BUSD, USDT and many ERC20 tokens.
- The end deliverable would also bring an understanding to possible Nighthawk Wallet integration in the future where the users would be able to swap between ZEC and the supported list of coins within Nighthawk. Additionally, all developers from the Zcash community can investigate & integrate the native swap functionality once the solution is delivered.
Solution Format
- The deliverables would be Pull Request Merges to add Zcash support to Thorchain wallet and node integration code to their repositories.
- Work with Thorchain core team to deploy Zcash nodes and onboard a large Zcash liquidity provider.
- Test, verify the Zcash native swaps with one of the existing thin clients.
- Provide additional support post deployment with minor hotfixes if required. Any medium-large sized issue would not be covered in the extended support.
Technical approach
There are 4 software deliverables for this proposal:
- Bitfrost chain client integration - this piece observes the new chain and passes information to Thorchain.
- Zcash node daemon - the actual node daemon to run a Zcash node thatāll be required by the node operators.
- Unit Tests for ZEC.
- xchainjs wrapper for the wallet - the cross-chain JS library that serves as the UI/application integration point for all Thorchain products in the ecosystem (basically wraps the new chain w/ a uniform API in JS)
Native ZEC swaps from/to T-addresses will be guaranteed to be supported, with possible support for Z-addresses after testing/evaluating a Z-addr based setup.
How big of a problem would it be to not solve this problem?
- Zcash being limited to centralized exchanges and up to the whims of local regulations which keep flip flopping support for Zcash is a risk and uncertainty for ZEC holders.
- This proposal will aim to provide Zcash liquidity via our partner NineRealms, and take part in the Thorchain protocol which also opens up APY earning opportunities for existing Zcash holders.
- Accomplishing this task via a decentralized codebase will be instrumental in more parties holding Zcash.
Execution risks
- Delays due to unforeseen challenges and setbacks would need to be worked through with Thorchain core team.
- Support of our liquidity provider partner will be crucial to see a successful launch of Zcash on Thorchain.
Unintended Consequences Downsides
- Adding support for Unified Addresses after NU5 for interoperability when it becomes available.
- The need for ongoing automation & maintenance of Zcashd nodes within Thorchain framework, this responsibility will be handed to Thorchain core team after the Zcash bridge software is merged.
Evaluation plan
- Monitor Zcash pool size and ZEC liquidity deployment by partners.
- Monitor daily ZEC transaction volume (the existing coins are between $100k & $3M as of July 2021).
- Monitor number of Thorchain DEX clients integrating Zcash support.
Schedule and Milestones
- 45 days: Setup testnet & sync all Thorchain supported blockchains in Kubernetes and hire a team with expertise in Golang, JavaScript client & Helm/Kubernetes. Write Bifrost chain client integration software, add Zcash daemon, write unit tests and xchainjs wrapper to enable Zcash swaps.
- 30 days: Sync with Thorchain team & liquidity partner to deploy Zcash swaps on main-net.
- 15 days: Deliver integration of xhainjs wrapper and help front ends to implement it to enable ZEC swaps.
Budget and Payout Timeline
- $228,260: Software development, planning, evaluation, testing & deployment. (includes 1 year of support till Dec 2022).
Task Total Resources Cost
Development 120,000 4 $197.37/hr x 608 hrs
Testing + Integration 60,000 3 $98.69/hr x 608 hrs
Planning + Deployment 22,000 2 $36.18/hr x 608 hrs
202,000 + 26,260(13% tax) = $228,260
- $10,000: $2,500 x 4 Thorchain core developers consultation, reviewing Pull Requests and deploying to prod.
- $20,000: $5,000 x 4 months of multiple large AWS instances to run Thorchain test-net environment.
Total: $258,260 incl. taxes
Note: 1) The pull request review and main-net integration timeline depends on the Thorchain core team side and such delays will affect milestones planned grant. 2) Unused cloud credits will be returned at end of 1yr support.
Applicant background
Nighthawk Apps has more than 30 years of combined experience in developing, deploying & supporting scalable applications for start-ups and Fortune 500 companies. We have been building applications within the cryptocurrency eco-system since 2014 and recently focussed our efforts towards making financial privacy accessible to everyone in the world via Zcash.