@arkane_absolute/sdk
Version:
Arkane SDK for interacting with Arkane API
104 lines (103 loc) • 2.2 kB
TypeScript
export type Bar = {
open: number;
high: number;
low: number;
close: number;
volume: number;
timestamp: number;
};
export type TxVolumeData = {
makers: {
buy: number;
sell: number;
};
txns: {
buy: number;
sell: number;
};
volume: {
buy: number;
sell: number;
};
};
export type ExternalTxVolume = {
"5m": TxVolumeData;
"1h": TxVolumeData;
"6h": TxVolumeData;
"1d": TxVolumeData;
};
export type ReserveInfo = {
amount: number;
usd: number;
};
export type TokenInfo = {
name: string;
symbol: string;
exp_link: string;
hld_link: string;
addr: string;
reserve: ReserveInfo;
};
export type ExchangeInfo = {
name: string;
};
export type NetworkInfo = {
chain_id: string;
name: string;
};
export type Stats24h = {
max_price: number;
min_price: number;
total_base_volume: number;
total_quote_volume: number;
max_price_time: string;
min_price_time: string;
};
export type LiquidityInfo = {
base_liquidity: number;
quote_liquidity: number;
total_liquidity_usd: number;
};
export type PairData = {
addr: string;
name: string;
symbol: string;
exchange: ExchangeInfo;
network: NetworkInfo;
pair_age: number;
price: number;
base: TokenInfo;
quote: TokenInfo;
stats_24h: Stats24h;
liquidity: LiquidityInfo;
};
export type PredictRequest = {
pair: PairData;
timeframe: string;
bars: Bar[];
external_tx_volume?: ExternalTxVolume;
};
export type PredictResponse = {
symbol: string;
timeframe: string;
signal: string;
strategyReason: string;
sma10?: number | null;
rsi14?: number | null;
macdLine?: number | null;
signalLine?: number | null;
histogram?: number | null;
fibonacciLevels: number[];
};
export interface ArkaneSDKOptions {
apiKey: string;
timeoutMs?: number;
apiUrl?: string;
}
export declare class ArkaneSDK {
private readonly apiUrl;
private readonly apiKey;
private readonly timeoutMs;
constructor(options: ArkaneSDKOptions);
predict(data: PredictRequest): Promise<PredictResponse>;
}