The biggest challenge I face as Head of Product Management for Voyager is not which features to add to our app / API, but in what order to develop and release them. The list of "to be developed" features grows much faster than the list of completed features; our team has no shortage of ideas as to how to make the world of cryptocurrency trading / investing more feature-rich and user-friendly. And if I were to poll our customers, staff (most of whom are customers, as well) or management team / board members (also all customers), I would certainly get many different answers as to priority.

The analysis we undertake internally weighs such things as the usefulness of the feature, the difficulty of development, the price users would be willing to pay for it, whether our competitors have the feature, how it fits into our UX and how it furthers our company vision and mission of delivering the world of crypto to the masses. Each feature is piled up next to all other possible features and compared from all angles. At the end of the analysis, though, often we are left with as many questions as answers because of the subjective nature of these factors.

That being said, decisions have to be made and priorities set, so I often rely on my experience as an active crypto-investor and trader to make the call when the analysis doesn't yield a clear winner. I put myself in the place of our users, and add the feature that I'd most want, all else being equal. That was the case with deciding the prioritization of the feature we just rolled out, Limit Orders.

Why Limit Orders?

2013 was a crazy year for crypto, despite the intense moves up and down barely appearing as a blip on a long-term chart of Bitcoin given the new all-time high of just under $20,000 made in December, 2017. My attention was first drawn to crypto in 2013 when Bitcoin made the first of its two parabolic up moves that year from around $13 in January to a high of around $260 in April. I frantically tried to figure out how to buy some, and settled on getting some money ($500) over to the Mt. Gox exchange via a Western Union transfer. I bought 4.5 BTC after the pull back from $260 to around $100, and have watched the market pretty much every day since.

I still held those BTC in November/December 2013, when it made its second parabolic run of that year from about $100 to around $1,300. At the top, my initial investment was now worth nearly $6,000, and there was real money at stake. As you know, and as we here at Voyager know all too well, the Crypto markets operate on a 24 hours-a-day, 7 days-a-week schedule. When there is real money at stake and the markets are moving around at the pace of Crypto, that doesn't bode well for sleep if you are trying to pay attention and trade at set target prices.  

In 2013, the venues on which I was trading did not support advanced order types, like limit or stop orders (some did, but not in a convenient way in the apps on which I was trading). What that meant is that I could not determine a price at which I wanted to sell, enter the order(s), and stop watching the markets because I knew if one of my prices was reached, my order would be executed.

I distinctly remember when the retraction from the first $1,300 high started I woke up in the middle of the night on one occasion, and after seeing that the price had fallen very quickly from $700+ to around $400, I panic-sold my entire position. Waking up the next morning, I realized this was a mistake, as it had recovered to over $600, and it was back to $800 within a few days. I re-established my position over the next few days, but at a much higher price than the roughly $400 price at which I had sold the coins.

If I had the comfort of stop or limit orders at that time, I would have had many more restful nights towards the end of 2013, and that is the type of comfort Voyager is seeking to give its users who want to actively trade but avoid the perils of middle of the night price moves.

Limit Order Feature

In version 1.2.0 of our App, just delivered to the App Store, we now have the ability for users to enter limit orders for the larger, more liquid cryptocurrencies supported on our platform such as BTC, ETH, BCH and LTC. We will soon be expanding this feature to the other assets on our platform, after ensuring the feature is working as expected for the more liquid ones.

A limit order, for those of you who may be unfamiliar with the term (a standard term used in all trading markets), allows users to place an order at a defined price and for a defined quantity, where the order will not be executed except at that price or better (from the user's perspective). We give our users the ability to define the order price and then either set the amount of coins they wish to purchase or the amount of USD they wish to spend on the purchase for buy orders (with the opposite available for sells).

Limit Order Entry Screen for Bitcoin Buy Limit Order in Voyager app.

For limit buy orders, the price is typically set below the current price of the asset and for limit sell orders, the price is typically set above its current price. The order will remain open until the price of the asset reaches the user's price and can be executed, unless the order is cancelled by the user or the order expires (our limit orders will have a defined timeout period of 60 days). We have added to our portfolio page an icon indicating your quantity of open orders, which will reflect how many limit orders you have pending (since market orders fill immediately and we don't support other advanced order types as of yet).

Portfolio Screen with "1" Icon to Indicate the User has One Open Order in Voyager app.

One thing to note is that a limit order can also be used to send the equivalent of a market order with a max/min price. To do this, the user sets a limit price “through” the market (a buy above the current ask price or a sell below the current bid price). When doing this, the order will be filled either at the market price or limit price, whichever is better for the user, given the market conditions at that time. If the order cannot be filled at the limit price or better, it will remain as an open limit order at the limit price until canceled or filled.

For example, if LTC had a bid x ask spread of $130.40 x $131.00, a user might enter a limit buy order at a price of $131.15. The purpose of this would be to ensure the order was filled at the price of $131.15 or better, if possible. In a fast moving market, sending the order in this fashion instead of sending a market order will ensure the user doesn’t get filled at a price higher than they were anticipating based on the information they had at the time of the order. The order will be filled at the better of the market price at that time or the limit price, and if neither is possible, will sit as an open limit order to buy at $131.15 until filled or canceled.

Order Detail Screen for an Open Limit Buy Order in Voyager app.

Future Improvements / Enhancements

I'm very excited about the addition of Limit Order functionality to our trading app. In future iterations we will allow users to set a timeout period for their order such as "good for day" or "good until canceled." We will also be offering more advanced order types, such as stop orders and stop-limit orders.

Stop orders also very much help the active crypto trader sleep at night should they have a large position they are looking to close if a certain price is reached. Like limit orders, the trader defines a quantity and a price, but in the case of stop orders, the price is above the current trading price for buy orders and below it for sell orders. Another difference is the order price doesn't define a "fill the order at this price or better" target, but instead acts as a trigger that causes the order to be sent as a market order should the asset trade at the defined price. The order will usually be filled with a price at or close to the user's stop price, but it may be higher or lower as market conditions dictate.

A stop-limit order combines the functionality of stop and limit orders. The trade is triggered / entered when the "stop" price is reached, but the order is entered as a limit order at the "limit" price defined by the user (which may be the same price or different from the stop price). These orders allow for more certainty as to the price at which the order gets executed, but these orders often go unfilled in a fast moving market as the trigger price might be reached and bypassed very quickly without the limit order being executable along the way. But alas, these features are not yet developed so we'll get into more details once they are :)

We are very excited here at Voyager about the release of this feature and hope to deliver more and more useful functionality to our users in the coming months. Other features in the short-term product roadmap include crypto transfers into and out of your Voyager account and more advanced funding mechanisms. We're here working hard to deliver value to our customers, and hope you enjoy the app! If you have any questions or want to discuss any feature or the prioritization of our roadmap, feel free to message me directly on twitter @cryptolymath.