The order type specified by the user.
enum UserOrderType {BUY = 'BUY',SELL = 'SELL'}
The order type used by Radar on the backend.
enum RadarOrderType {BID = 'BID',ASK = 'ASK'}
Various order states used by Radar.
enum RadarOrderState {OPEN = 'OPEN',FILLED = 'FILLED',CANCELED = 'CANCELLED',EXPIRED = 'EXPIRED',UNFUNDED = 'UNFUNDED'}
The order book WebSocket action.
enum WebsocketAction {FILL = 'FILL',NEW = 'NEW',CANCEL = 'CANCEL',REMOVE = 'REMOVE'}
The WebSocket request topic.
enum WebsocketRequestTopic {BOOK = 'BOOK',TICKER = 'TICKER',CANDLE = 'CANDLE'}
The type of WebSocket request.
enum WebsocketRequestType {SUBSCRIBE = 'SUBSCRIBE',UNSUBSCRIBE = 'UNSUBSCRIBE'}
Information specific to a single token.
interface RadarToken {address: string;symbol: string;name: string;decimals: number;zeroex_official: boolean;active: boolean;createdDate: string;quote: boolean;}
Top-Level information about the most recent trade and best bid/ask for a given market.
interface RadarTicker {transactionHash: string; // Last trade tx hashprice: BigNumber; // Last trade pricesize: BigNumber; // Last trade size (in quote)timestamp: number; // Timestamp of last tradebestBid: BigNumber; // Best bid on the bookbestAsk: BigNumber; // Best ask on the bookspreadPercentage: BigNumber; // The bid-ask spread percentage}
Order book depth information and 24 hour volume statistics for a given market.
interface RadarStats {numBidsWithinRange: number; // Number of bids within a defined range (Example: Within 20% of the best bid)numAsksWithinRange: number; // Number of asks within a defined range (Example: Within 20% of the best ask)baseTokenAvailable: BigNumber; // Amount of base token available on the bookquoteTokenAvailable: BigNumber; // Amount of quote token available on the bookvolume24Hour: BigNumber; // 24 hour volumepercentChange24Hour: BigNumber; // 24 hour price change percentage}
Historial information for a given market.
interface RadarHistory {price24Hour: BigNumber[]; // The 24 hour price history}
General Market Information
interface RadarMarketBase {displayName: string; // Example: ZRX/WETHbaseTokenAddress: string;quoteTokenAddress: string;baseTokenDecimals: number;quoteTokenDecimals: number;quoteIncrement: number; // Maximum precision allowed for the market. Example: 7 (decimal places)minOrderSize: BigNumber; // Calculated min base token size based on last trade pricemaxOrderSize: BigNumber; // Calculated max base token sizescore: number; // A score used to rank most active markets}
Market information for a base/quote token pair.
interface RadarMarket extends Partial<RadarMarketBase> {id: string; // Example: ZRX-WETH. (Mandatory)ticker?: RadarTicker; // (Optional)stats?: RadarStats; // (Optional)history?: RadarHistory; // (Optional)}
ZeroEx Order
interface Order {chainId: number;exchangeAddress: string;makerAddress: string;takerAddress: string;feeRecipientAddress: string;senderAddress: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerFee: BigNumber;takerFee: BigNumber;expirationTimeSeconds: BigNumber;salt: BigNumber;makerAssetData: string;takerAssetData: string;makerFeeAssetData: string;takerFeeAssetData: string;}
ZeroEx Signed Order
interface SignedOrder extends Order {signature: string;}
ZRX Signed Order with included order state.
interface RadarSignedOrder {orderHash: string;type: RadarOrderType;state: RadarOrderState;baseTokenAddress: string;quoteTokenAddress: string;remainingBaseTokenAmount: BigNumber, // converted amountremainingQuoteTokenAmount: BigNumber // converted amountprice: BigNumber;createdDate: BigNumber; // unixsignedOrder: SignedOrder;}
A request for an unsigned order at the specified quantity and price, which can then be signed and POSTed back.
interface RadarLimitOrder {type: UserOrderType;quantity: BigNumber;price: BigNumber;expiration: BigNumber;}
An unsigned order at the specified quantity and price.
interface UnsignedOrder {chainId: number;senderAddress: string;makerAddress: 'SET';takerAddress: string;makerFee: BigNumber;takerFee: BigNumber;makerFeeAssetData: string;takerFeeAssetData: string;makerAssetAmount: BigNumber;takerAssetAmount: BigNumber;makerAssetData: string;takerAssetData: string;salt: BigNumber;exchangeAddress: string;feeRecipientAddress: string;expirationTimeSeconds: BigNumber;signature: 'SET';}
A request for fillable orders, up to the specified quantity, at the best price.
interface RadarMarketOrder {type: UserOrderType;quantity : BigNumber;}
A response with price information and fillable orders at the best price.
interface RadarMarketOrderResponse {averagePrice: BigNumber;bestPrice: BigNumber;worstPrice: BigNumber;spread: BigNumber;orders: SignedOrder[];}
Fee information for a given market.
interface RadarOrderFeeResponse {makerFee: BigNumber;takerFee: BigNumber;makerFeeAssetData: string;takerFeeAssetData: string;feeRecipientAddress: string;gasEstimate?: BigNumber;}
The order book for a given market.
interface RadarBook {baseTokenAddress: string;quoteTokenAddress: string;bids: RadarSignedOrder[];asks: RadarSignedOrder[];}
Open-high-low-close chart data.
interface Ohlc {open: BigNumber;high: BigNumber;low: BigNumber;close: BigNumber;}interface RadarCandle extends Ohlc {startBlock: number;startBlockTimestamp: number;endBlock: number; // the last block included in this candle (inclusive)endBlockTimestamp: number;baseTokenVolume: BigNumber;quoteTokenVolume: BigNumber;}
A fill without the RadarSignedOrder information.
interface RadarFill extends MarketEvent, OnChainEvent {type: UserOrderType;blockNumber: number;makerAddress: string;takerAddress: string;feeRecipientAddress: string;makerFeePaid: BigNumber; // convertedtakerFeePaid: BigNumber; // convertedmakerFeeTokenAddress: string;takerFeeTokenAddress: string;filledBaseTokenAmount: BigNumber; // convertedfilledQuoteTokenAmount: BigNumber; // convertedorderHash: string;timestamp: number;outlier: boolean; // Whether or not the fill is an outlier}
An event tied to a market (base/quote).
interface MarketEvent {baseTokenAddress: string;quoteTokenAddress: string;}
An event containing a RadarSignedOrder.
interface OrderEvent {order: RadarSignedOrder;}
An on-chain event (transaction).
interface OnChainEvent {transactionHash: string;}
interface RadarNewOrder extends MarketEvent, OrderEvent { }interface RadarRemoveOrder extends MarketEvent {reason: string;orderType: RadarOrderType;orderHash: string;}interface RadarCancelOrder extends MarketEvent, OnChainEvent {orderType: RadarOrderType;orderHash: string;}interface RadarFillOrder extends RadarFill, OrderEvent {}
interface WebsocketEvent {action: WebsocketAction;event: RadarFillOrder | RadarNewOrder | RadarCancelOrder | RadarRemoveOrder;}
Radar Request Types utilized by the WebSocket Endpoint.
interface RadarWebsocketRequest {type: WebsocketRequestType;requestId?: number;}
interface RadarSubscribeRequest extends RadarWebsocketRequest {type: WebsocketRequestType.SUBSCRIBE;topic: WebsocketRequestTopic;market: string;}
interface RadarUnsubscribeRequest extends RadarWebsocketRequest {type: WebsocketRequestType.UNSUBSCRIBE;topic: WebsocketRequestTopic;market: string;}
Radar Response Types utilized by the WebSocket Endpoint.
interface RadarWebsocketResponse {type: WebsocketRequestType | 'ERROR';requestId?: number;}