# ZEC/BTC interoperability

**URL:** <https://forum.zcashcommunity.com/t/zec-btc-interoperability/35004>\
**Category:** protocol\
**Created:** [September 19, 2019, 9:45pm UTC](https://forum.zcashcommunity.com/t/zec-btc-interoperability/35004 "2019-09-19T21:45:34Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![Shawn](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/shawn/32/187_2.png) [@Shawn](https://forum.zcashcommunity.com/u/Shawn)\
**Post date:** [September 19, 2019, 11:40pm UTC](https://forum.zcashcommunity.com/t/zec-btc-interoperability/35004/4 "2019-09-19T23:40:43Z")

</div>

This reminds me, what ever happened with BTC XCAT?

Seemed like a promising project that got left behind. Maybe a good idea for a new grant? Did @jasondavies drop the ball on this? 🙁

> <https://github.com/ZcashFoundation/GrantProposals-2017Q4/issues/29>
>
> \*\*Motivation and overview\*\*
> 
> Building on the \[excellent work\](https://z.cash/b…log/atomic-trades.html) by @arielgabizon, @arcalinea, and others, I propose to make their work more accessible by providing a simple web-based tool that facilitates:
> 
> \* \*\*Easy setup of an XCAT trade\*\*. This includes optional generation of the random secret in-browser. Once the trade parameters have been agreed between the parties (secret hash, 4 addresses, 2 amounts), a URL can be generated for easy (and optional) sharing/bookmarking. The page would provide instructions for creating and sending the relevant transactions. The page \*may\* also allow the transactions to be broadcast, in the case where users cannot easily do so themselves.
> \* \*\*Optional monitoring of a trade\*\*. The XCAT mechanism will be illustrated visually, and progress of the requisite transactions can be optionally monitored. The visual aspect helps educate users and developers about how XCAT works, and if monitoring is enabled, it allows users to see which parts of the trade have completed, and easily see what to do next to complete the trade (or revoke it if something goes wrong).
> 
> The purpose of the tool is to facilitate easy trading \*and\* educate users about how XCAT works.
> 
> \*\*Technical approach\*\*
> 
> \* The majority of the work involves designing a nice user interface written in JavaScript, HTML and CSS, and intuitive visualisations for the trade and its progress along the two selected blockchains.
> \* Initially only ZEC and BTC will be supported.
> \* The optional monitoring of trade progress will require a server running both Zcash and Bitcoin nodes ideally with \`txindex=1\`.
> 
> \*\*Background and qualifications\*\*
> 
> MA (Cantab) CompSci, Univ. of Cambridge, contributor to various open-source projects; most relevant to this proposal is my work on \[D3.js\](https://d3js.org), and you can see various visualisations on my \[personal website\](https://www.jasondavies.com/).
> 
> I've been following Zcash since its inception and have made some minor contributions so far:
> \* \[zcash-sprout-verifier\](https://github.com/plutomonkey/zcash-sprout-verifier) - verifier for Zcash zk-SNARK proofs in Rust.
> \* \[zcash-vanity\](https://github.com/plutomonkey/zcash-vanity) - vanity z-addr generator in Rust and OpenCL.
> 
> I also helped @arielgabizon test the first ever XCAT trade with ZEC/BTC on their respective testnets.
> 
> \*\*Evaluation plan\*\*
> 
> The following deliverables are required:
> 
> \* A web page that allows the main XCAT parameters to be entered and agreed upon between two parties.
> \* The web page should provide instructions for generation and broadcast of the appropriate transactions.
> \* A visualisation of the progress of the trade, with optional monitoring which requires some information to be sent to the server.
> 
> \*\*Security considerations\*\*
> 
> As this page is intended to be used to exchange money, \*extreme\* caution will be required in terms of ensuring the page and its code are not tampered with. I would welcome suggestions on this front. Of course, I would serve the page over HTTPS but additional protections would be helpful.
> 
> Aside from the above, I also want to ensure that the parties to the trade are able to select the level of privacy with respect to leaking information to the server, ranging from \*no information\* to \*I am one of the parties involved in this XCAT trade\* (the latter is required to monitor how far along the trade has progressed).
> 
> Furthermore, care should be taken when suggesting \`redeemblocknum\` parameters to the users, such that sufficient margins are in place for the cases where the counterparty does not follow through, and the trade needs to be aborted.
> 
> \*\*Budget and justification\*\*
> 
> I have spent some time thinking about how the UI and visualisations might look, so I'm already part-way along in the process. As I mentioned above, I have also helped Ariel test their XCAT code so I also already have an understanding of how it fits together.
> 
> I estimate that around $15k would be sufficient to fund the development of this tool, with a turnaround time of around 1-2 months. I'm happy to take on hosting costs etc. myself.

---

_[View the full topic](https://forum.zcashcommunity.com/t/zec-btc-interoperability/35004)._
