I see Ripple now has 2 Gateways, WeExchange and Bitstamp. I sent 1 BTC to WeExchange, and got in return 1 "WeExchange BTC in Ripple".

How do I exchange it directly for 1 "Bitstsamp BTC in Ripple"?

The Trade page in the client doesn't seem to allow me to select BTC as both ends of a trade. I don't want to go through another intermediate currency, I think I'll lose a lot because of the margins - I expect that trading BTC issued by different exchanges should be relatively without spread.


1 Answer 1


It will happen automatically when you pay someone who only accepts Bitcoins from the other gateway. There are several different ways you could form transactions to do this, but I think the client doesn't currently give you an easy way to get to any of them.

In the Ripple system internals, people can create offers whose sides are the same currency but different issuers. However, you can also achieve the same effect without having to go through an offer (and likely at a lower cost) by using a circular payment path with no exchanges.

Again, you can't do this with the client currently, but here's how it works on the server side:

  1. You have 1 WeExchange BTC. You want 1 Bitstamp BTC.

  2. You form a payment path like this:
    You/BTC -> WeEx/BTC -> ??? -> Bitstamp/BTC -> You/BTC

  3. You hand this payment path to the server, telling it you want to get 1 Bitcoin out.

  4. The server finds the cheapest way to do it. Most likely, it will find one or more people who have extended trust to WeEx/BTC and hold Bitstamp/BTC. You can use any of those people. (For safety, you can pick three to make sure your transaction goes through.)

  5. With the three payment paths the server found you, you form a "Payment" transaction. Assuming all three of those people don't change their trust or balance settings before your transaction applies, the exchange is complete. Someone in the middle has your WeEx/BTC and you have their Bitstamp/BTC.

Note that if there's an exchange offer that gives you better than 1-to-1, the pathfinding scheme will use that instead. So you could wind up with more bitcoins out than in. (Though it's not likely.)

This actually will not allow you to get 1 Bitcoin out because you would have to pay two transfer fees to transfer the Bitstamp and WeEx IOUs. The total of the transfer fees is something like .7%, so you'd only get .993 Bitcoins out.

Instead, if you're not in a hurry, you could drop your credit limit to WeExchange to zero. This signals that you want to get rid of your WeExchange IOUs. Anyone picking a payment path like above in the other direction will try to accommodate you. Then they'd pay the transfer fees. (The current pathfinding algorithm doesn't always do this, but the new one scheduled to replace it shortly will be better at this.)

  • 1
    Thanks. Can you extend your (already complicated) answer here bitcoin.stackexchange.com/questions/7590/… to explain why would you pay a proportional fee here? How does it work? Perhaps your answer already explains it, but it's rather complicated and might need a TL;DR
    – ripper234
    Feb 23, 2013 at 8:20
  • Just noting to people - I'll of course have to give some credit limit to BitStamp for David's suggestion to work, or for me to get any BitStampBTC in the first place.
    – ripper234
    Feb 23, 2013 at 8:24
  • Opened an issue on github: github.com/rippleFoundation/ripple-client/issues/230
    – ripper234
    Feb 23, 2013 at 8:27
  • FYI, I dropped my credit limit for WeExchange to zero on Feb23-24 ... and I believe I still the system hasn't yet converted any of me WeeBTC to BitstampBTC. I think this issue should get a decent priority ... people should be able to think in terms of the abstract currency, and not have to think about the different issuers (as long as issuers are not defaulting).
    – ripper234
    Mar 1, 2013 at 12:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.