UNPKG

polygon.io

Version:

Isomorphic Javascript client for Polygon.io Stocks, Forex, and Crypto APIs

75 lines (68 loc) 2.04 kB
// Crypto QUOTE: import { w3cwebsocket as Websocket } from "websocket"; import { getWsClient } from "../transport"; export interface IQuoteCryptoEvent { ev: string; // Event Type pair: string; // Crypto Pair lp: number; // Last Trade Price ls: number; // Last Trade Size bp: number; // Bid Price bs: number; // Bid Size ap: number; // Ask Price as: number; // Ask Size t: number; // Exchange Timestamp Unix ( ms ) x: number; // Exchange ID r: number; // Received @ Polygon Timestamp } // Crypto TRADE: export interface ITradeCryptoEvent { ev: string; // Event Type pair: string; // Crypto Pair p: number; // Price t: number; // Timestamp Unix ( ms ) s: number; // Size c: number[]; // Condition i: string; // Trade ID ( Optional ) x: number; // Exchange ID r: number; // Received @ Polygon Timestamp } // Crypto AGGREGATE: export interface IAggregateCryptoEvent { ev: string; // Event Type pair: string; // Crypto Pair o: number; // Open Price ox: number; // Open Exchange h: number; // High Price hx: number; // High Exchange l: number; // Low Price lx: number; // Low Exchange c: number; // Close Price cx: number; // Close Exchange v: number; // Volume of Trades in Tick s: number; // Tick Start Timestamp e: number; // Tick End Timestamp } // Crypto SIP ( NBBO ): export interface ISIPCryptoEvent { ev: string; // Event Type pair: string; // Crypto Pair as: number; // Ask Size ap: number; // Ask Price ax: number; // Ask Exchange bs: number; // Bid Size bp: number; // Bid Price bx: number; // Bid Exchange t: number; // Tick Start Timestamp } // Crypto LEVEL2: export interface ILevel2CryptoEvent { ev: string; // Event Type pair: string; // Crypto Pair b: any[]; a: any[]; t: number; // Timestamp Unix ( ms ) x: number; // Exchange ID r: number; // Tick Received @ Polygon Timestamp } export const getCryptoWebsocket = (apiKey: string, apiBase = "wss://socket.polygon.io"): Websocket => getWsClient(`${apiBase}/crypto`, apiKey);