Having Trouble with BTC/XMR Atomic Swaps

I’m really hoping someone can help me out with this issue regarding atomic swaps. So, yesterday evening I used [this]( guide (published by, which was recommended via [this]( reddit post for setting up atomic swaps in a linux terminal.

I followed the guide without any trouble and made my first trustless swap (awesome!) for a small amount of BTC to xmr. It took roughly 30 mins for all the tx confirmations to go through, but still worked great. Very excited for that.

I then initiated another swap with a larger amount of BTC with a vendor listing a swappable btc_maximum of 0.03 BTC. I sent 0.03 BTC (0.03000702 BTC with the network fee) to the provided address as I had in the swap I had just previously made before. After a minute or two the terminal spit back a result that said the amount of BTC deposited was too high for the vendor and the swap had been cancelled. I attempted to cancel the transaction (double spend) on my side from my electrum wallet, since I know the BTC can be refunded with an atomic swap that is cancelled, but was unable to since the tx already had a couple network confirmations.

So my question is, does the atomic swap protocol have a timeframe in which if the xmr is never swapped, the BTC is sent back to the original address? How long do I have to wait? Currently my 0.03 BTC is just sitting in this [address here](, and I do not have control over the funds. What the heck do I do?

Thank you so much to anyone who knows this process better than me, as I would very much appreciate any advice or explanation. Definitely would hate to lose 0.03 BTC at the current prices… geez.



EDIT: I have had a little luck with the “cancel” function as others have mentioned, but for some reason the terminal only seems to have logged the first swap that I made. Only one SWAP ID is logged below.


Here is my terminal output when I use “history” and “cancel” commands.


XXXXX@XXXXX:~/Downloads$ ./swap history




| 3a1407ee-19dd-4bdb-b79e-4c45e1b7f2ed | Done: XmrRedeemed |


XXXXX@XXXXX:~/Downloads$ ./swap refund –swap-id 3a1407ee-19dd-4bdb-b79e-4c45e1b7f2ed

Error: Cannot refund because swap 3a1407ee-19dd-4bdb-b79e-4c45e1b7f2ed was not cancelled yet. Make sure to cancel the swap before trying to refund.

XXXXX@XXXXX:~/Downloads$ ./swap cancel –swap-id 3a1407ee-19dd-4bdb-b79e-4c45e1b7f2ed

Error: Cannot cancel swap 3a1407ee-19dd-4bdb-b79e-4c45e1b7f2ed because it is in state xmr is redeemed which is not refundable.


What do you think?

10 Points
Upvote Downvote

Leave a Reply

Your email address will not be published. Required fields are marked *

GIPHY App Key not set. Please check settings


  1. COMITS back end(ASB) has max/min levels of .02-.0002 BTC

    You can change that setting if you run the backend asb.

    For market making the ASB offers the following parameters in the config:

    min_buy_btc = 0.0001
    max_buy_btc = 0.0001
    ask_spread = 0.02
    price_ticker_ws_url = “wss://ws.krake

    Unstoppables front end limits swaps to .01-.0005

    I dont reccomend anyone attempt to try to atomic swap more than .02 BTC at the moment. Nor attempt more than .01 on Unstopables front end.

    Please report back how this turns out for you-Id love to hear:)

  2. Your second swap has not been started. Therefore the 0.03 BTC are in the internal wallet of the swap tool and have never left your custody. You can initiate a swap with another swap provider and it will use the funds that are still in the control of the swap cli. Currently there is one swap provider with a max limit of 0.03. You can try to swap with that provider.

  3. Copied from another post about this atomic swap

    I read the website on the COMIT swap protocol, and I have concerns.

    The swap is as follows: Alice and Bob create refund transactions, both from a joint Bitcoin account. Bob puts his money into this Bitcoin account, then Alice puts her in a joint Moneo account. They do signature magic and set it up so that if Bob has a transaction out of the joint Bitcoin account, but executing that transaction reveals his private key on the Monero account to Alice, allowing Alice to spend the Monero at will.

    If this swap fails, then Bob has a return transaction that reclaims the Bitcoin and Alice gets Bob’s private key on the joint Monero account. If Bob does not execute this return transaction, **Alice can claim the Bitcoin and Bob gets nothing.** This is called a punishment transaction.

    **Because of that last point, I would feel nervous using this atomic swap as Bob**. What if my internet went down or my computer died or my power went out? Some power or internet outages can last for days in parts of the world. I remember the CenturyLink outage from a few years back that took out the internet to most of my city. If my hard drive died, it could take ages to get the information for TX_refund. I would consider the possibility that Bob is trying to honestly trying to execute TX_refund, but can’t due to any number of reasons.

    If there is enough on the line, Alice could sabotage Bob by conducting a DDoS attack if she knows where Bob is. If she could sabotage Bob until she can use the punishment transaction, then she can hold the Monero hostage.

    EDIT: While I understand that, from a technical sense, Bob is not behaving honestly when he fails to execute his return transaction, I believe that this event could happen honestly (or even due to malicious action from Alice), therefore Bob should have some form of protection here.

    You should use the other one eich is also new where both get their money back

Story time!

🍯 HONEYPAD 🍯 Starting Phase 2πŸ’ŽReal gemπŸ’Ž Presale on August 31th – Launch September 2 🀝 Huge marketing for buypression planned πŸš€