When building Voyager and architecting our trade routing technology, we knew the market needed a better solution that offered customers increased liquidity, reliability, and better pricing. We developed a smart order router that connects to multiple exchanges and market makers, unifying the fragmented crypto market in one place for the first time.
This technology enables us to offer our customers a wide range of benefits like commission-free trading and access to dozens of top crypto assets.
In this article, I further explain how Voyager’s order routing, pricing, and execution works to provide traders with a transparent look behind the revolutionary technology that powers our platform.
Voyager is a crypto-broker that acts as an agent between its customers and various market destinations to execute digital asset trades in their Voyager accounts commission-free. What that means is Voyager is not an exchange, but instead accesses liquidity from exchanges and liquidity providers, aggregates that liquidity and provides its clients with a consolidated quote against which they may execute orders. Voyager does not let clients post orders directly on the exchanges to which it connects or with the market makers that provide liquidity, but instead its Smart Order Router accepts customer orders and fills them in the market for the customer using its proprietary order routing algorithm.
Voyager supports the trading of a wide variety of crypto assets vs USD, streams a price and a bid and ask for each, allows for market and limit orders and has an app / API that provides other market information, such as price history, charts, asset meta-data and news. Voyager provides custody, clearing and digital asset transfer services on behalf of its clients, with all clients holding their positions with Voyager in its proprietary custody and treasury management system that leverages a mix of hot, warm and cold wallet storage services to store its client’s assets securely in omnibus accounts. Voyager also offers interest on some digital assets as part of its suite of services.
Voyager is commission-free – the price quoted in the app / API is the all-in price for users’ orders. There are no per-trade or percentage-based commissions or fees added to the net amount of users’ orders, and orders to buy digital assets may be placed for as little as $10. Orders are more often than not filled at prices even better than those quoted when Voyager’s Smart Order Router is able to beat the quoted price when filling the order in the market.
Supported Assets & Pairs
Voyager supports 30 crypto assets quoted and traded against USD. Voyager routinely evaluates the addition of new assets to its platform based upon the demand for an asset, its legal status, the available liquidity pools and other business factors. Voyager plans to expand its list of supported digital assets in 2020, with the goal of being the leading provider of digital assets tradeable directly against USD.
The currently supported assets are: Bitcoin (BTC), Ethereum (ETH), Ripple (XRP), Litecoin (LTC), Bitcoin Cash (BCH), Ethereum Classic (ETC), Voyager Token (VGX), Dash (DASH), Cardano (ADA), Bitcoin Satoshi Vision (BSV), Basic Attention Token (BAT), DogeCoin (DOGE), EOS (EOS), ICON (ICX), Cosmos (ATOM), NEO (NEO), BitTorrent (BTT), IOTA (IOT), OmiseGO (OMG), Qtum (QTUM), Tron (TRX), Ontology (ONT), VeChain (VET), Stellar Lumens (XLM), Monero (XMR), Verge (XVG), Zcash (ZEC), Tezos (XTZ), 0x (ZRX), and DigiByte (DGB).
Voyager quotes a price and a bid & ask vs. USD for all assets it supports, and users can send market and limit orders (functionality discussed below) for each asset up to its supported maximum order size (also discussed below).
Voyager Pricing Engine
For every asset pair in the Voyager app / API, the Voyager Pricing Engine streams a price, bid and ask. Although these values operate similarly to how a price, bid and ask do on an exchange or in traditional markets, there are key differences necessitated by the unique structure of the global crypto marketplace.
The “price” in the app / API, rather than being the value at which the asset last traded, is Voyager’s calculation of the then-current global fair market price, which is extrapolated by the Voyager Pricing Engine from its analysis of all available markets to which Voyager has access (exchange order books & market maker quotes).
The crypto markets are fragmented – there is no concept of a “National Best Bid and Offer” (NBBO) as exists in the equities markets. The best bid on any one of our liquidity providers is often a higher price than the lowest ask price found among the rest of them, with the global market almost always being “crossed” in this manner for nearly all assets. As such, displaying a price that represented the streaming aggregate of all of the executions from these combined platforms would produce a disjointed, fragmented price stream.
Instead, the Voyager Pricing Engine calculates the fair market price while constantly analyzing the order books, executions, depth of liquidity, commissions and other proprietary factors across our liquidity sources and streams this price to its users. Voyager also monitors the age of quotes from exchanges and latency factors in their respective APIs to remove or de-emphasize the quotes from exchanges that appear to be experiencing lags or other technical issues.
The “bid” and “ask” in the app / API similarly does not represent a quote to buy or sell an asset placed either by Voyager users or by any user on any one of our market destinations. Instead, the bid and ask are produced by the Voyager Pricing Engine and represent the price at which Voyager feels it can execute a customer order (up to the maximum order size for that asset) without paying more than that price with its router to fill the entire order. Voyager honors these bid and ask quotes up to the maximum order size for each asset, so the bid and ask generally represent what Voyager has determined to be the fair market price plus or minus the price in the typical combined orderbook through which an order of the maximum size would sweep.
By example, if the Voyager Pricing Engine determined the fair market value was $10,000 for BTC, and Voyager had a maximum order size of $250,000 for BTC, the ask price might be $10,040, which would represent the price at or below which Voyager felt comfortable it could execute an order for $250,000. Voyager honors this ask price - meaning it will fill a customer buy order for any amount up to and including $250,000 for $10,040 or better. Voyager also price improves user orders when the router is able to beat this quoted price (discussed below), which it often can when orders are placed for below the maximum amount.
Pricing - Competitive Analysis
Many Voyager competitors in the retail space quote a price in their app that is not executable, and choose to obscure the actual bid x ask prices that are paid by their users when they place orders. Voyager believes in transparency and trusts its users to understand the value the Voyager product, including its pricing engine, delivers to its users. Because of this belief in its product and its users, Voyager chooses to stream its bid x ask prices for all assets rather than trying to build in a hidden spread the way some competitors do by making the true price you pay only available on the order ticket or by doing the math after an order is executed. Many charge a commission as well on top of this hidden inflated price!
Voyager has done the hard work of opening accounts at each exchange and with market makers, funding those accounts, integrating their APIs with its Smart Order Router and building a system to manage treasury across all venues so there is always fiat or crypto available to fill customer orders so its customers don’t have to do so. And while it is true that when comparing the best price available on any one exchange for any particular asset at a given moment to the price quoted in Voyager for that asset you may see a more favorable price at the exchange, it must be considered that Voyager is honoring its quoted price for typically a much larger quantity than is available at the exchange and is also honoring it for all users, even if they were to simultaneously submit orders to take advantage of the same quote. Voyager is confident that its pricing by and large is the most competitive offering on the market when all factors are considered, and we’ve done the analysis to back it up!
When you factor in the commissions charged by each exchange, the liquidity / depth of book available at each exchange (how far the market will be moved by large orders), the cost of transferring USD or Crypto between various exchange accounts to be able to execute orders, the opportunity cost of time spent waiting for assets to reach each destination before being able to take advantage of these temporary shifts in pricing between them and/or the cost of capital required to maintain treasury balances at each liquidity destination, there is no better or cheaper comprehensive solution than Voyager. Voyager delivers a world-class combination of speed, access, liquidity, convenience and transparency to the crypto markets.
Supported Order Types
Voyager customers may place market & limit orders to buy and sell all assets listed on Voyager (excluding stablecoins) against USD in cash accounts. Voyager does not currently support margin trading or shorting digital assets, but both features are in discussion for the 2020 roadmap.
All order types are limited for each digital asset to the then-current “maximum order size” supported for that asset. This maximum is defined in USD equivalent terms. If an order is placed for greater than this value, the order will be rejected and the user notified of the then-current max order size for that asset. These values change from time to time based on Voyager’s available liquidity and the depth of the order book for each asset, and they will also be published on Voyager’s FAQ under the “Trading” section (https://support.voyager.com). This maximum is a single order maximum – users can place multiple orders consecutively for the maximum amount without issue. Breaking these extremely large orders into multiple submissions gives the Voyager Pricing Engine time to adjust its quotation between them, as large orders have a tendency to move the markets, especially for less liquid digital assets.
Market orders to buy crypto are currently defined in the amount of USD you wish to purchase of that digital asset. Market orders to sell crypto are currently defined in the quantity of the digital asset you wish to sell.
These rules are in place to prevent the following circumstance:
- User has $10,000 USD
- User enters order to buy 1 BTC when BTC ask price is $10,000
- By the time order is submitted, BTC ask price ticks up to $10,001
- User no longer has the buying power to buy 1 BTC, so order is rejected
The opposite can happen if you are attempting to sell a specified USD value of an asset:
- User has 1 BTC
- User enters order to sell $10,000 of BTC when BTC bid price is $10,000
- By the time order is submitted, BTC bid price ticks down to $9,999
- User no longer has the coins available to fulfill the order to sell $10,000 of BTC, so order is rejected
Voyager is working on updating the buying power / fill logic to account for these circumstances and to allow for buy orders defined in digital asset quantity and sell orders defined in USD value of the asset, but currently this is not supported.
Market orders are filled at a price that is equal to or better than the quoted bid or ask price at the time the order is placed, up to the maximum order size. Market orders are generally filled in milliseconds, with nearly all orders filled within 2 seconds.
Limit orders to buy or sell crypto are defined by specifying the quantity and price for the trade, the same way limit orders are defined in traditional markets. These orders are not, however, posted to an order book as added liquidity in the way limit orders are typically handled in the equities markets (unless the limit orders cross the relevant Voyager bid x ask, in which case they are essentially market orders with a limit price).
Instead, because of how asset prices & bid x ask quotes are determined (see above), the orders are held in our internal limit order book until the ask price (for buy orders) or the bid price (for sell orders) reaches the limit price. Once the ask price, for buy orders, or the bid price, for sell orders of a digital asset is reached, the order is executed at the user’s specified limit price.
If a user places a limit buy order at a price greater than or equal to the current ask price in the app, or a limit sell order at a price less than or equal to the current bid price in the app, the user’s order will be immediately executed at the ask price (buy orders) or bid price (sell orders) once placed. These orders are referred to as “through the market limit orders.” These orders operate exactly the way market orders operate, with the added protection that if by the time the user’s order is submitted to our system the price has moved, the order will not be immediately executed but instead added to our limit order book until the bid or ask price once again reaches the user’s limit price or the order is canceled, whichever happens first.
As explained above, Voyager honors the price it quotes in the app at the time a user places a buy or sell market order up to our maximum order size (which varies by digital asset pair), whether it is able to fill the order at one of its liquidity sources at that price or not. If for instance, Voyager quoted $10,040 as the ask price for 1 BTC when a user placed their order, and the market moves such that Voyager can only fill the order for 1 BTC at $10,050 with its router, Voyager will honor the quoted price and absorb the difference.
More often than not, though, especially for orders smaller than the maximum order size for an asset, Voyager is able to fill a user’s order at a price better than that quoted in the app. This is because its Smart Order Router is programmed to fill orders at the best possible price even if it requires splitting the order among various pools of liquidity to achieve the best average fill price.
When the router is able to fill the user’s order at a price better than that which was quoted to the user, the Voyager system will “price improve” the user’s order. This means that Voyager will share the difference between the quoted price and the fill price achieved by the router with the user. By example, if the user is quoted $10,040 and the router is able to fill at $10,030, Voyager may price improve the user’s order to $10,035 (note: share of price improvement is variable and is determined by Voyager’s proprietary fills algorithm).
Voyager is constantly working on the Voyager Pricing Engine, its Smart Order Router, connections to additional liquidity sources, improving the user experience and other proprietary systems and algorithms with the goal of providing its users access to the most coins, in the most convenient fashion, at fair, transparent and competitive prices. Transparency, trust and convenience are essential to Voyager’s mission to deliver crypto asset trading and investing to the mainstream user.