2021-03-23 23:40:02 +00:00
# XMR to BTC Atomic Swap
2020-10-07 22:12:17 +00:00
2021-03-05 04:47:16 +00:00
This repository hosts an MVP for atomically swapping BTC to XMR.
2021-03-15 23:28:51 +00:00
It implements the protocol described in section 3 of [this ](https://arxiv.org/abs/2101.12332 ) paper.
2020-10-07 22:12:17 +00:00
2021-03-23 08:42:25 +00:00
More information about the protocol in this [presentation ](https://youtu.be/Jj8rd4WOEy0 ) and this [blog post ](https://comit.network/blog/2020/10/06/monero-bitcoin ).
2020-10-08 22:46:44 +00:00
2021-03-23 08:42:25 +00:00
## Quick start - CLI
1. Download the [latest `swap` binary release ](https://github.com/comit-network/xmr-btc-swap/releases/latest ) for your operating system
2021-04-01 04:13:29 +00:00
2. Run the binary specifying the monero address where you wish to receive monero and the connection details of the seller:
2021-04-17 03:55:59 +00:00
`./swap buy-xmr --receive-address <YOUR MONERO ADDRESS> --seller-peer-id <SELLERS PEER ID> --seller-addr <SELLERS MULTIADDRESS>`
2021-04-01 04:13:29 +00:00
You can generate a receive address using your monero wallet.
The seller will provide you their peer id and multiaddress.
We are running an `asb` instance on testnet.
You can swap with to get familiar with the `swap` CLI.
2021-04-19 12:48:08 +00:00
Our peer id is `12D3KooWCdMKjesXMJz1SiZ7HgotrxuqhQJbP5sgBm2BwP1cqThi` and our multiaddress is `/dnsaddr/xmr-btc-asb.coblox.tech`
2021-03-05 04:47:16 +00:00
3. Follow the instructions printed to the terminal
2020-10-08 22:46:44 +00:00
2021-03-05 04:47:16 +00:00
## Limitations
2020-10-08 22:34:24 +00:00
2021-03-10 03:55:36 +00:00
For now, the MVP is limited to `testnet3` on Bitcoin and `stagenet` on Monero.
2020-10-08 22:34:24 +00:00
2021-03-05 04:47:16 +00:00
## How it works
2020-10-08 22:34:24 +00:00
2021-03-05 04:47:16 +00:00
This repository primarily hosts two components:
2020-10-07 22:12:17 +00:00
2021-03-05 04:47:16 +00:00
- the `swap` CLI
2021-03-23 08:42:25 +00:00
- the [`asb` service ](/docs/asb/README.md )
2020-10-07 22:12:17 +00:00
2021-03-05 04:47:16 +00:00
### swap CLI
2020-10-07 22:12:17 +00:00
2021-03-05 04:47:16 +00:00
The `swap` CLI acts in the role of Bob and swaps BTC for XMR.
See `./swap --help` for a description of all commands.
The main command is `buy-xmr` which automatically connects to an instance of `asb` .
2020-10-07 22:12:17 +00:00
2021-03-05 04:47:16 +00:00
### asb service
2020-10-07 22:12:17 +00:00
2021-03-05 04:47:16 +00:00
`asb` is short for **a**utomated **s**wap **b**ackend (we are open to suggestions for better names!).
The service acts as the counter-party for the `swap` CLI in the role of Alice.
It provides the CLI with a quote and the liquidity necessary for swapping BTC into XMR.
2020-10-07 22:12:17 +00:00
2021-03-23 08:42:25 +00:00
For details on how to run the ASB please refer to the [ASB docs ](/docs/asb/README.md ).
2021-03-05 04:47:16 +00:00
## Contact
2020-10-07 22:12:17 +00:00
2021-03-15 23:28:51 +00:00
Feel free to reach out to us in the [COMIT-Monero Matrix channel ](https://matrix.to/#/#comit-monero:matrix.org ).