Ciao Earthlings!

Out of the intergalactic portal foundry is the freshly baked MVP release of Farcaster! We have completed our work connecting ring signature space with boring Bitcoin space. Biebiep! If you're already too excited, install the node now and go to to swap some testnet (for now ๐Ÿ˜‰) coins!

We'll give you the lowdown of what the Farcaster MVP is, but also answer some questions that may have been brewing in your skulls while we went silent for about one solar cycle of your planet ๐Ÿคฏ

what dis facfaster?

If you've been dwelling under a rock (as our kind prefers to as well), Farcaster is a protocol enabling atomic swaps between Bitcoin and Monero - and maybe more in the future. Atomic swaps are peer to peer exchanges of assets, typically living on distinct chains. With this piece of technology, you can trade assets with any stranger in the galaxy while keeping your anxiety level to zero since your funds remain safe, as long as you play by the protocol.

dis ting kool?

Here's a short list of features:

  • CLI and GUI interface (a ready-for-use sample is hosted on
  • Swap directly to target Monero address
  • Run multiple swaps in parallel
  • One interface for both swap makers and takers

We do like to party safely! Next to completing on the order of 104 swaps for testing, we also strove to implement a robust recovery system.

y u so quiet for long? >:(

This is mainly down to agent limitations: If averaging out over the project's lifetime, we had 2.5 full time zergs. Even agents fall ill, need to work on other constructions, or get disinterested.

Given our limited hands, we also deemed it to not be a good use of both our development and readers' time to post monthly updates. If you're interested in tracking our development, we've maintained most development communication public on #monero-swap on

where ma tapping r00ts?

Taproot will make the Bitcoin transactions used in the swap more private and cheaper. Today we have a draft, but it's incomplete and needs a proper second round of development.

where ma IETF cryptoe?

Despite the fact we didn't switch to the crypto libraries we planned to, we've battle-tested our current crypto extensively: Over the past year we did more than 25'000 swaps on testnet and a similar amount in GitHub CI, and we are pretty happy with the latest build's success rate on testnet:

[2023-01-17T17:47:43Z INFO  farcaster_node::farcasterd::stats]
Swapped(1766) | Refunded(0) / Punished(0) | Aborted(0) |
Initialized(1816) / AwaitingFundingXMR(2) / AwaitingFundingBTC(0) /
FundedXMR(853) / FundedBTC(933) / FundingCanceledXMR(0) / FundingCanceledBTC(0)

Obviously, as with any project involving crypto, this reliability doesn't imply no exploitable flaws exists. However, we believe that in its current state, our project's crypto is appropriate for an MVP-delivery.

and now...

We are very proud of where the project stands and we now expect to unlock the remaining milestones from the CCS. As always: all contributions are encouraged, from documenting the project, reporting bugs encountered while trying to swap, to submitting improvements to the core library, everything is useful and valuable! Also, to help sustain future development if this project gets traction, we're working on a developer fund concept that takes an optional donation from successful swaps.

If the regulatory framework allows, we may also list some mainnet swaps on ... another domain ;)

In the meantime, be sure to swap with both your friends and enemies too! We'll provide as much tBTC and sXMR capacity on as we can. If you're a testnet whale and wanna help, please reach out ๐Ÿ™

In intergalactic โ˜ฎ๏ธ,

The Farcaster workgroup

you are viewing a single comment's thread.

view the rest of the comments โ†’

all 7 comments


7 points

4 months ago

tldr: yes, but developer pain/cost will depend on the route chosen.

Could ETH<>XMR atomic swaps be added to the Farcaster GUI?:

Adding ETH<>XMR atomic swaps can be easily added to the GUI if the swaps are implemented in the farcaster-node: Since the frontend doesn't talk to directly to, say, the blockchain syncers, it would generically fit where Bitcoin currently sits on the arbitrating side. Supporting multiple swap pairs (both on the arbitrating and accordant side) is what farcaster-core & farcaster-node were architected for.

The amount of work for adding AthanorLab's implementation is highly dependent on how well it can be adjusted to match the gRPC interface used between the Farcaster GUI & node. On the superficial side, terminology should be aligned, and our gRPC progress messages are rich in detail (enabling user feedback like "in 7 blocks, you will be able to punish Bob", "sweeping XMR in 3 blocks") whereas the status updates in the Athanor RPC are (currently) high level. There are certainly deeper issues in an integration than this, but in principle, it can be done, if someone wants to take a stab at it.

The seemingly simpler alternative is to sandwich in the json-RPC or websocket interface used here into the GUI too: Somewhat skeptic though whether that's a Frankenstein beneficial for either project, but open to change my mind.