1.0.0-beta.1 • Published 2 years ago

@coinset/ascendex v1.0.0-beta.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

@coinset/ascendex

Universal AscendEX API client

:children_crossing: This is not official

Public API

A request for an entry point that does not require authentication.

fetchAssets

You can obtain a list of all assets listed on the exchange through this API. Docs

example:

import { fetchAssets } from "https://deno.land/x/ascendex@$VERSION/mod.ts";

await fetchAssets();

returns:

type AssetsResponse = {
  code: 0;
  data: {
    assetCode: string;
    assetName: string;
    precisionScale: number;
    nativeScale: number;
    blockChain: {
      chainName: string;
      withdrawFee: number;
      allowDeposit: boolean;
      allowWithdraw: boolean;
      minDepositAmt: number;
      minWithdrawal: number;
      numConfirmations: number;
    }[];
  }[];
};

fetchProducts

You can obtain a list of all products traded on the exchange through this API. Docs

example:

import { fetchProducts } from "https://deno.land/x/ascendex@$VERSION/mod.ts";

await fetchProducts();

returns:

type ProductsResponse = {
  code: 0;
  data: {
    symbol: string;
    displayName: string;
    baseAsset: string;
    quoteAsset: string;
    status: "Normal" | "NoTrading" | "InternalTrading";
    minNotional: number;
    maxNotional: number;
    marginTradable: boolean;
    commissionType: "Base" | "Quote" | "Received";
    commissionReserveRate: number;
    tickSize: number;
    lotSize: number;
  }[];
};

fetchTicker

Get summary statistics of one symbol (spot market). Docs

example:

import { fetchTicker } from "https://deno.land/x/ascendex@$VERSION/mod.ts";
await fetchTicker({ symbol: "ASD/USDT" });

parameters:

type TickerOptions = {
  symbol: `${string}/${string}`;
};

returns:

type TickerResponse = {
  code: 0;
  data: {
    symbol: `${string}/${string}`;
    open: number;
    close: number;
    high: number;
    low: number;
    volume: number;
    ask: [number, number];
    bid: [
      number,
      number,
    ];
    type: string;
  };
};

fetchTickers

Get summary statistics of multi symbols (spot market). Docs

example:

import { fetchTickers } from "https://deno.land/x/ascendex@$VERSION/mod.ts";
await fetchTickers();

parameters:

type TickersOptions = {
  symbols: `${string}/${string}`[];
};

returns:

type TickersResponse = {
  code: 0;
  data: {
    symbol: `${string}/${string}`;
    open: number;
    close: number;
    high: number;
    low: number;
    volume: number;
    ask: [number, number];
    bid: [
      number,
      number,
    ];
    type: string;
  }[];
};

fetchBarInfo

Returns a list of all bar intervals supported by the server. Docs

example:

import { fetchBarInfo } from "https://deno.land/x/ascendex@$VERSION/mod.ts";
await fetchBarInfo();

returns:

type BarInfoResponse = {
  code: 0;
  data: {
    name: string;
    intervalInMillis: number;
  }[];
};

fetchOrderBook

Returns a list of order book. Docs

example:

import { fetchOrderBook } from "https://deno.land/x/ascendex@$VERSION/mod.ts";
await fetchOrderBook({ symbol: "BTC/USDT" });

parameters:

type OrderBookOptions = {
  symbol: `${string}/${string}`;
};

returns:

type OrderBookResponse = {
  code: 0;
  data: {
    m: "depth-snapshot";
    symbol: `${string}/${string}`;
    data: {
      seqnum: number;
      ts: number;
      asks: [number, number][];
      bids: [number, number][];
    };
  };
};

fetchTrades

Returns a list of trade history. Docs

example:

import { fetchTrades } from "https://deno.land/x/ascendex@$VERSION/mod.ts";
await fetchTrades({ symbol: "BTC/USDT" });

parameters:

type TradesOptions = {
  symbol: `${string}/${string}`;
  n?: number | undefined;
};

returns:

type TradesResponse = {
  code: 0;
  data: {
    m: "trades";
    symbol: `${string}/${string}`;
    data: {
      seqnum: number;
      p: number;
      q: number;
      ts: number;
      bm: boolean;
    }[];
  };
};

fetchCandlestick

Returns a list of bars, with each contains the open/close/high/low prices of a symbol for a specific time range. Docs

example:

import { fetchCandlestick } from "https://deno.land/x/ascendex@$VERSION/mod.ts";
await fetchBarInfo({ symbol: "BTC/USDT", interval: "1" });

parameters:

type CandlestickOptions = {
  symbol: `${string}/${string}`;
  interval: string;
  to?: number | undefined;
  from?: number | undefined;
  n?: number | undefined;
};

returns:

type CandlestickResponse = {
  code: 0;
  data: {
    data: {
      c: number;
      h: number;
      i: string;
      l: number;
      o: number;
      ts: number;
      v: number;
    };
    m: "bar";
    s: `${string}/${string}`;
  }[];
};