Quick engine allows to use upstream liquidity market source to create market pairs, which are not present on upstream exchange.
For example, if upstream exchange has BTC/ABC pair listed, and does not have desired BTC/XYZ pair, but there is a service to provide live ABC/XYZ conversion prices, quick engine can be used to list BTC/XYZ on your platform.
Quick orders are the only order type available for quick engine. Under the hood, when a quick order is submitted, f.e, BTC/XYZ, engine will recalculate it's value in intermediate currency ABC and submit BTC/ABC FOK (fill or kill) order to upstream engine.
API for creating QE orders is almost the same as regular trading API, except it does not accept 'type' for order. To get valid price for submitting an order, use quick exchange price (/api/v2/qe/prices) endpoint.
Running quick engine also allows to access to additional API:
API for creating "quick" orders. This the only order type available for quick engine. Quick orders act as a market orders. Quick engine does not support limit orders.
param | type | desc |
---|---|---|
market | string | market id |
side | string | buy or sell |
amount | decimal | valid decimal value |
price | decimal | valid decimal value |
API for estimating current conversion price.
param | type | desc |
---|---|---|
market | string | market id |
side | string | buy or sell |
Forex is a service providing live updates of prices. It unifies several price providers under same API:
Finex uses openware/pkg implementation of forex client for integration.
Environment variables:
Name | Description |
---|---|
FINEX_FOREX_HOST | Host of Forex service |
FINEX_QE_CURRENCY | Intermediate currency for conversion |
FINEX_QE_MAX_AMOUNT | Maximum value per one order (in intermediate currency) |
FINEX_QE_MIN_AMOUNT | Minimum value per one order (in intermediate currency) |
FINEX_QE_LIQUIDITY_ACCOUNT | Account used by engine to reflect "other side" of trades |
Database:
To create a quick market, set market type
to "qe" (default is "spot").
Also next options can be set in market's data:
Name | Description |
---|---|
buy_spread | Spread adjustment for buy orders |
sell_spread | Spread adjustment for sell orders |
pair | (Required) Upstream market pair to use, should be separated by '/', BTC/USD |
max_slippage | Maximum price slippage (for submitted price and current forex price) |
upstream_price_precision | Upstream market price precision |
upstream_amount_precision | Upstream market amount precision |