ETH/ZIL/BTC Atomic Swaps - Kauri
Write Article
Create Collection
Import from medium
Sign in
POSTED 17 Feb 2019 10:06

ETH/ZIL/BTC Atomic Swaps

Tony Cai

Project Name

ETH/ZIL/BTC Atomic Swaps

Project Tagline/Description (140 Characters Max. Will be used on table card for judging)

Peer-to-peer exchange of ETH, ZIL, and BTC on their native chains, utilizing hashed timelock contracts. No wrapping required!

Team Members. First and Last Names

  • Matthew Black
  • Tony Cai ID for Each Team Member (we will use this to contact you and your team)

  • Tricky Familiar Widowspider 0x04eac6ad3adfde5f86308bd3269e989ddbe14536f2e106d0dde2fa6cd7a51c64e0c7cad45e8b60fec70aa41a52dfacfd31618dd9ec49dada95eb4811839e151042
  • Deepskyblue Crazy Harrierhawk 0x0474c02b0eb1bfd388c62b4a63c652b2b52202fb290a7f924d9f45b1702fff8a79e2f238f885e2e1fd56ccb491387af27cf5c4e63519be0f3c63b5114ab575bfb7

Detailed Project Description (no more than 3-4 sentences)

The ETH/ZIL/BTC Atomic Swaps project enables trustless swapping of ZIL, ETH, and BTC (using BIP 199 for BTC, ERC 1630 for ETH, and the first ZIL Hashed Timelock Contract (HTLC) written in Scilla ( We did this by forking the Chain Abstraction Layer, and adding Zilliqa as an asset, enabling the trustless swapping of any of the three pairs (ETH-ZIL, BTC-ZIL, BTC-ETH). We use the typical HTLC method of locking funds using a secret hash, where the counterparty is able to claim once they receive the secret. We ran into a limitation of not being able to use timestamps for the timelocks in Scilla, and resorted to using blocktimes instead, but once is implemented, this can be done with timestamps.

Describe your tech stack (e.g., protocols, languages, API’s, etc.)

Track for which you’re submitting (Open or Impact)


All Bounties Completed/Incorporated

  • Zilliqa Bounty 1: Cross-chain atomic swap between Zilliqa and Ethereum blockchains
  • Zerion Bounty 1: The best financial product for DeFi

A link to all your source code on a public repo (i.e. Github)

Tony Cai