Apparently cover orders work different from what I expected. My assumption was that cover orders will match any existing BID with a price greater than 90% of the feed price if
a) the order has expired, or
b) the feed price falls below the cover's limit.
But that's not what happened to CNY this morning. Several minutes after 09:00 GMT, "blockchain_market_list_covers CNY" returned (among others) this one:
{
"type": "cover_order",
"market_index": {
"order_price": {
"ratio": "0.005138307650792427",
"quote_asset_id": 14,
"base_asset_id": 0
},
"owner": "BTSPjk23hDW6vSjhUcn5Q3ariUoz5mGs6iqa"
},
"state": {
"balance": 432219090,
"limit_price": null,
"last_update": "1970-01-01T00:00:00"
},
"collateral": 153654206553,
"interest_rate": {
"ratio": "0.0002",
"quote_asset_id": 14,
"base_asset_id": 0
},
"expiration": "2015-01-26T08:55:10"
}
The feed price at that time was around .078 CNY/BTS, and "blockchain_market_order_book CNY BTS" listed more than a dozen BID offers in the price range. It took almost half an hour until the cover was filled completely.
Why?
(NB: the GUI displays the market differently. It swaps base and quote currency and inverts the price and BID/ASK offers.)