Request for Funding @scilio (CoinSwap Implementation)

@scilio Any updates on the progress of the CoinSwap implementation?


The (very) long overdue pull request for milestone 2 is now ready for review.

The description of the PR lists some deviations from the original project plan. I included much of the milestone 3 work in milestones 1 & 2, but I haven’t yet added reorg support.

Unless there are objections, I would like to push basic reorg support to milestone 3 with the understanding that much of the more complex milestone 3 work was completed earlier. In its current form, the coinswap server should be fully operational, but if a malicious miner is able to reorg a swap transaction out, the server does not attempt to recreate it.


Are you planning to add tests to the code, right?

I plan to improve test coverage, but there are tests at the bottom of,,, and


Hi @scilio , can we have an update for informing the community ? We are curious and very excited about Coinswap ツ


so what happened to the coinswap implementation? Was anything of value created here or did scilio just pick up the easy parts first and ran a year later into the issue that the hard parts proofed to be impossible to solve for him?

The topic was not updated here on the forum, good that you bring it up since both @scilio and the CC forgot to post it here. The discussions were on KeyBase in the CC meetings and on github.

CoinSwap is going well actually. Milestone 1 & 2 were reviewed and approved. All that is left is milestone 3 and a part of the work for this milestone was already done for milestone 2.


Developments regularly took place in newsletters also, since May issue.

Github Tracking for Milestone #3.


Hey @scilio can we have an update or any comment, current situation of coinswap implementation for community ?


I didn’t mean to go dark on you all. I’m sorry for that. I will finish my remaining tasks this week.


Where is this up to?

At the 3rd final milestone, @scilio can give update.

@scilio made progress and is waiting for us to review it.


and this review is taking months why?


My reasons:

  • it’s a big change that takes a lot of time to review
  • it’s summer (Grin is just one of the things I help in my free time)
  • I have plenty of other things to do
  • I had issues with my wallet and planned waiting for it to get fixed

It should be reviewed sooner, but the situation is what it is. I will get back to it next week. There’s not many people around that are willing to put in the work to review it and it’s really not that easy to test it right now (there’s still no wallet code for generating and sending swaps). The easiest way to speed things up is to help review the code. It’s open source and anyone can leave a comment or two. I will try get back to it next week.


Never forget that most people are just doing their contributions to Grin in their free time. It is not like we have a team of developers that is paid for coding and reviewing. Also apply the question to yourself, why am I not reviewing, testing or developing XYZ? :wink:
In case you are just curious @unknownus3r , better to ask it in a neutral tone like “Is there any news or progress on Reviewing XYZ?”


IMO this is a bit outdated now, it started as experiment years ago, but overall crypto progress is not sitting at one place, I think solution should be serverless to stay competitive at this field e.g. with btc’s payjoin upcoming serverless solution. Time passed, we can accept this loss and move on as we have not so much time at our lifes to sit at one place for years while everything else is moving forward.

1 Like

is that btc solution interactive or non-interactive? also what does it actually do?

A wallet that creates a self-spend doesn’t have to run a server, they only do one “fire and forget” request to the first coinswap service in the noninteractive variant i.e. when you’re not a mixnode. While the coinswaps mixnodes are static servers, any group of people/friends could set up their own mwixnet if they wanted with the requirement of only one of them being honest. I don’t see it as outdated, it’s still a simple shuffle protocol that can run in noninteractive setting and it’s as good as it was when proposed which is better than anything else we have. The real question is who would run the noniteractive mwixnet, but that’s a question for any such service.


V2 is async: Serverless Payjoin - Receive surveillance-busting bitcoin transfers without hosting a secure endpoint · GitHub

More to come after this bounty: Bounty for payjoin development on Bitcoin

1 Like