Placing orders

When constructing the order, quote prices in satoshis (1/100,000,000th BTC = 0.00000001 BTC = 1e-8 BTC = one satoshi) and times in seconds since the Unix epoch (see: Prices can be omitted, which signals a market order (when submitting market orders, order expiries should be omitted as well - a market order with an expiration date makes no sense).

A Market order fills your order by selling or buying into the book of open orders. When placing a market buy or sell, omit both the price and the expiration timestamp - neither make sense in the context of a market order and the latter is not supported.

A Limit order registers a user's intent to purchase or sell an asset at a specific price. For BUY orders, capital will be reserved from that which you have on deposit with the exchange and held in reserve until your order fills, expires, or you cancel it. For SELLs, the assets in question will be held in reserve until the trade clears.

Example: a market order to buy 4000 shares of S.NSA.


Example: a limit order to sell 5000 shares of S.MPOE at 0.001 BTC each, expiring at December 7th, 2014 (note the conversion of Bitcoins to Satoshis and date to epoch notation):


Tracking orders

You will not get back any kind of order ID ot this point, only confirmation it was received. To track a given order, request your statement (via account statement - STAT or STATJSON call). Assuming that your order hasn’t been filled in the intervening time between when you submitted the BUY/SELL call and your STAT call, look in the BOOK section of the exchange response for the order’s ID/reference number. If none or partial information appears in STAT/STATJSON, don't panic, it may take several seconds or in exceptional cases (such as ongoing attack on the exchange) longer time. Just reissue another STAT again after several seconds until the data is consistent.

There's advanced tracking of transactions possible, useful if you placed several similar orders at once. It is documented here and supported in pyMPEx.


You can use order reference number in a CANCEL call (like CANCEL|123456789). MPEx sometimes refuses cancellation of too fresh orders. Here, too, the results of the operation may not be shown in STAT output immediately.