One useful, provokative question that @phonebox put forward at the last meeting was 'where do the market rates come from?' that we are using in our app.
While this may seem like a minor point and is for sure not an issue for testing or using the system in the short term, I think this is definately something we need to consider for the future of mmt.
On most exchanges, trades are made by matching asking prices of buyers and sellers, and the 'current rate' is calculated as an average of recent successful trades. However our rails app pulls the market rate from an external exchange and uses that as a fixed trade rate, updated every half an hour. As @phonebox pointed out there is a big variation between the rates on different exchanges, which means the source of our rate might be quite important.
@kyphae answered that we are using Coinbase, bittrex and kraken for rates. Which seems like a good choice as all are well established exchanges with lots of users and bittrex lists a fairly wide range of currencies.
Of course it is impossible to find a 'neutral' source here, in the end things are worth what people are willing to pay for them.
However some things to consider:
- Generally, western exchanges tend to trade at lower rates than eastern ones.
- Rates are often greatly effected by local media in the country where the exchange is based.
- Coinbase has been heavily criticised for insider trading and market manipulation.
- Although we are requiring the 'kraken_ruby' gem, i can't see any calls to the the kraken api in the code.
Another option would be some averaging service, such as the very popular coinmarketcap.com, or bitcoinaverage.com. However these sites are by no means neutral. Understandably, Coinmarketcap removes exchanges when their rates deviate too much from the average (recently they removed several south korean exchanges). I dont know much about Bitcoinaverage.com other than that they've been going since ages, they have a free api and are used by the non-profit p2p exchange https://bisq.network/ which seems to me like a pretty right-on project.
Perhaps the most sensible option is to use exchanges which are most likely that our users would have access to. But this means making assumptions about what countries our users we live in...