It seems the data returned is correct but is not serialized correctly:
The BigInt is shifted because it's using a custom Deserilzer (SatoshiToBtc).
See class BTCMarketsTicker:
public class BTCMarketsTicker {
@JsonSerialize(using = BtcToSatoshi.class)
@JsonDeserialize(using = SatoshiToBtc.class)
private final BigDecimal bestBid;
...
}
Current returned result example:
{
"bestBid":3.88,
"bestAsk":3.89,
"lastPrice":3.89,
"currency":"AUD",
"instrument":"XRP",
"timestamp":1515245336,
"volume24h":1.1974446E7
}
I believe the code is expecting the following format (Maybe they changed the API response):
{
"bestBid": 13700000000,
"bestAsk": 14000000000,
"lastPrice": 14000000000,
"currency": "AUD",
"instrument": "BTC",
"timestamp": 1378878117
}