okx-api
Version:
Complete & robust Node.js SDK for OKX's REST APIs and WebSockets, with TypeScript & end-to-end tests
1,161 lines (1,160 loc) • 47.5 kB
TypeScript
import { AxiosRequestConfig } from 'axios';
import { ASSET_BILL_TYPE } from './constants';
import { AccountAssetValuation, AccountBalance, AccountBill, AccountChangeMarginResult, AccountConfiguration, AccountFeeRate, AccountHistoryBill, AccountInstrument, AccountIsolatedMode, AccountLevel, AccountLeverage, AccountLeverageResult, AccountMaxLoan, AccountMaxOrderAmount, AccountMaxTradableAmount, AccountModeResult, AccountPosition, AccountPositionModeResult, AccountPositionRisk, AccountRiskState, AdjustLeverageInfo, AdjustMarginBalanceRequest, AlgoLongHistoryRequest, AlgoOrderDetailsRequest, AlgoOrderDetailsResult, AlgoOrderListItem, AlgoOrderRequest, AlgoOrderResult, AlgoRecentHistoryRequest, AmendAlgoOrderRequest, AmendAlgoOrderResult, AmendedOrder, AmendOrderRequest, AmendRecurringBuyOrderRequest, AmendTPSLRequest, Announcement, APICredentials, APIMarket, APIResponse, AssetBillDetails, AutoLoanResult, BlockCounterParty, BlockMakerInstrumentSettings, BlockMMPConfig, BlockRFQResult, BorrowRepayHistoryItem, CancelAlgoOrderRequest, CancelAllAfterResponse, CancelBlockQuoteRequest, CancelBlockQuoteResult, CancelBlockRFQRequest, CancelBlockRFQResult, CancelledOrderResult, CancelMultipleBlockQuoteRequest, CancelMultipleBlockRFQRequest, CancelSignalBotsResult, CancelSpreadOrderResponse, CancelSubOrderRequest, Candle, CandleNoVolume, CandleRequest, ChangePositionMarginRequest, CloseContractGridPositionRequest, ClosedPositions, ClosePositionRequest, CloseSubpositionRequest, ContractGridDirection, ConvertQuoteEstimateRequest, ConvertTradeRequest, CopySettingsRequest, CreateBlockQuoteRequest, CreateBlockQuoteResult, CreateBlockRFQRequest, CreateRFQResult, CreateSignalBotRequest, CreateSignalBotResult, CreateSignalRequest, CreateSignalResult, CurrentSubposition, EconomicCalendarData, EconomicCalendarRequest, ExecuteBlockQuoteRequest, ExecuteBlockQuoteResult, FillsHistoryRequest, FixedLoanBorrowingLimit, FixedLoanBorrowQuote, FundingBalance, FundingCurrency, FundingRateRequest, FundsTransferRequest, FundTransferResult, FundTransferState, GetAccountConfigurationResult, GetActiveSpreadOrdersRequest, GetBlockQuoteParams, GetBlockQuoteResult, GetBlockRFQSParams, GetBorrowRepayHistoryRequest, GetContractOpenInterestHistoryRequest, GetContractTakerVolumeRequest, GetCopySettingsResult, GetCopyTradersRequest, GetCopyTradersResult, GetCopyTradingConfigResult, GetCTBatchLeverageInfoRequest, GetCTBatchLeverageInfoResult, GetCTHistoryLeadTradersRequest, GetCTHistoryLeadTradersResult, GetCTMyLeadTradersResult, GetCTProfitDetailsRequest, GetCTProfitDetailsResult, GetCTTotalProfitResult, GetCTUnrealizedProfitResult, GetCurrentSubpositionsRequest, GetDepositWithdrawStatusRequest, GetFixedLoanBorrowingOrdersListRequest, GetFixedLoanBorrowQuoteRequest, GetGridAlgoOrdersRequest, GetHistoricPositionParams, GetInstrumentsRequest, GetLeadTraderPositionsRequest, GetLeadTraderRanksRequest, GetLeadTraderRanksResult, GetLeadTraderStatsRequest, GetLendingOrderListRequest, GetLendingSubOrderListRequest, GetManagedSubAccountTransferHistoryRequest, GetOptionTradesRequest, GetPositionsParams, GetPremiumHistoryRequest, GetPrivateLeadTraderRanksRequest, GetPrivateLeadTraderRanksResult, GetQuickMarginBorrowRepayHistoryRequest, GetRecurringBuyOrderListRequest, GetRSIBackTestingRequest, GetSignalBotEventHistoryRequest, GetSignalBotPositionHistoryRequest, GetSignalBotRequest, GetSignalBotSubOrdersRequest, GetSignalsRequest, GetSignalsResult, GetSpreadCandlesRequest, GetSpreadOrderHistoryArchiveRequest, GetSpreadOrderHistoryRequest, GetSpreadsRequest, GetSpreadTradesRequest, GetSubAccountMaxWithdrawalsRequest, GetSubpositionsHistoryRequest, GetTopTradersContractLongShortRatioRequest, GetVIPInterestRequest, GetVIPLoanOrderDetailRequest, GetVIPLoanOrderListRequest, Greeks, GridAlgoOrderRequest, GridAlgoOrderType, GridAlgoSubOrderType, HistoricAccountPosition, HistoricAlgoOrder, HistoricOrder, IndexTicker, Instrument, InstrumentType, InterestAccrued, InterestRate, LeadTraderCurrentPosition, LeadTraderPnl, LeadTraderPositionHistory, LeadTraderPreference, LeadTraderStats, LendingOrder, ManagedSubAccountTransfer, MarginMode, MaxGridQuantityRequest, MaxWithdrawal, MMPConfig, NonTradableAsset, numberInString, OptionTrade, OptionTrades, OrderBook, OrderDetails, OrderFill, OrderHistoryRequest, OrderIdRequest, OrderListItem, OrderPrecheckRequest, OrderRequest, OrderResult, PaginatedSymbolRequest, Pagination, PlaceCTAlgoOrderRequest, PlaceCTAlgoOrderResult, PlaceRecurringBuyOrderRequest, PlaceSpreadOrderRequest, PlaceSpreadOrderResponse, PlaceSubOrderRequest, PositionBuilderRequest, PositionSide, PosMode, PublicBlockTrade, PublicSpreadTrade, QuickMarginBorrowRepayRecord, QuickMarginBorrowRepayRequest, QuickMarginBorrowRepayResult, RecurringBuyOrder, RecurringBuyOrderResult, RecurringBuySubOrder, RestClientOptions, SetCTBatchLeverageRequest, SetCTBatchLeverageResult, SetLeverageRequest, SetMMPConfigRequest, SetMmpConfigRequest, SetMMPConfigResult, SetMmpConfigResult, SetQuoteProductsRequest, SetSignalInstrumentsRequest, SetSubAccountLoanAllocationRequest, SpreadCandle, SpreadDetails, SpreadOrder, SpreadOrderBook, SpreadTicker, SpreadTrade, StopGridAlgoOrderRequest, SubAccount, SubAccountAPIReset, SubAccountBalances, SubAccountMaxWithdrawal, SubAccountTransferRequest, SubAccountTransferResult, SubmitFixedLoanBorrowingOrderRequest, SubpositionsHistory, SystemTime, Ticker, TimestampObject, Trade, UnitConvertData, UnitConvertRequest, UpdateFixedLoanBorrowingOrderRequest, UpdateSpreadOrderRequest, UpdateSpreadOrderResponse, VIPInterest, VIPLoanOrder, VIPLoanOrderDetail, WithdrawalHistoryRequest, WithdrawRequest, WithdrawResponse } from './types';
import { AccruedInterestItem, AccruedInterestRequest, AdjustCollateralRequest, CollateralAssetsResponse, LoanHistoryItem, LoanHistoryRequest, LoanInfo, MaxLoanRequest, MaxLoanResponse } from './types/rest/response/private-flexible-loan';
import BaseRestClient from './util/BaseRestClient';
export declare class RestClient extends BaseRestClient {
/**
* @public Creates an instance of the REST API client.
*
* @param credentials - Note: This parameter will be removed! Pass `null` here and use the restClientOptions parameter (3rd one) instead!
* @param environment - Note: This parameter will be removed! Pass `prod` here and use the restClientOptions parameter (3rd one) instead!
* @param restClientOptions
* @param requestOptions
* @returns
*/
constructor(credentials?: APICredentials | null, environment?: APIMarket, restClientOptions?: RestClientOptions, requestOptions?: AxiosRequestConfig);
/**
*
* Custom SDK functions
*
*/
/**
* This method is used to get the latency and time sync between the client and the server.
* This is not official API endpoint and is only used for internal testing purposes.
* Use this method to check the latency and time sync between the client and the server.
* Final values might vary slightly, but it should be within few ms difference.
* If you have any suggestions or improvements to this measurement, please create an issue or pull request on GitHub.
*/
fetchLatencySummary(): Promise<any>;
/**
*
* OKX misc endpoints
*
*/
getServerTime(): Promise<number>;
/**
*
* Trading account endpoints
*
*/
getAccountInstruments(params: GetInstrumentsRequest): Promise<AccountInstrument[]>;
getBalance(params?: {
ccy?: string;
}): Promise<AccountBalance[]>;
getPositions(params?: GetPositionsParams): Promise<AccountPosition[]>;
getPositionsHistory(params?: GetHistoricPositionParams): Promise<HistoricAccountPosition[]>;
getAccountPositionRisk(params?: {
instType?: Omit<'SPOT', InstrumentType>;
}): Promise<AccountPositionRisk[]>;
/** Up to last 7 days */
getBills(params?: any): Promise<AccountBill[]>;
/** Last 3 months */
getBillsArchive(params?: any): Promise<AccountBill[]>;
/**
* Apply for bill data since 1 February, 2021 except for the current quarter.
* Check the file link from the "Get bills details (since 2021)" endpoint in 30 hours to allow for data generation.
* During peak demand, data generation may take longer. If the file link is still unavailable after 48 hours, reach out to customer support for assistance.
* It is only applicable to the data from the unified account.
*
* This endpoint submits a request for bill data. You can then use getRequestedBillsHistoryLink to get the link to the bill data.
* It may take some time to generate the data.
*/
requestBillsHistoryDownloadLink(params: {
year: string;
quarter: 'Q1' | 'Q2' | 'Q3' | 'Q4';
}): Promise<AccountHistoryBill[]>;
/**
* This endpoint returns the link to the bill data which you can request using requestBillsHistoryDownloadLink.
*/
getRequestedBillsHistoryLink(params: {
year: string;
quarter: 'Q1' | 'Q2' | 'Q3' | 'Q4';
}): Promise<AccountHistoryBill[]>;
getAccountConfiguration(): Promise<AccountConfiguration[]>;
setPositionMode(params: {
posMode: PosMode;
}): Promise<AccountPositionModeResult[]>;
setLeverage(params: SetLeverageRequest): Promise<AccountLeverageResult[]>;
/** Max buy/sell amount or open amount */
getMaxBuySellAmount(params: {
instId: string;
tdMode: 'cross' | 'isolated' | 'cash';
ccy?: string;
px?: string;
leverage?: string;
unSpotOffset?: boolean;
}): Promise<AccountMaxOrderAmount[]>;
getMaxAvailableTradableAmount(params: {
instId: string;
ccy?: string;
tdMode: 'cross' | 'isolated' | 'cash';
reduceOnly?: boolean;
unSpotOffset?: boolean;
}): Promise<AccountMaxTradableAmount[]>;
changePositionMargin(params: ChangePositionMarginRequest): Promise<AccountChangeMarginResult[]>;
getLeverage(params: {
instId?: string;
ccy?: string;
mgnMode: MarginMode;
}): Promise<AccountLeverage[]>;
/**
* @deprecated - will be removed in next major release
* Use getLeverage() instead
*/
getLeverageV2(params: {
instId?: string;
ccy?: string;
mgnMode: MarginMode;
}): Promise<AccountLeverage[]>;
getLeverageEstimatedInfo(params: {
instType: string;
mgnMode: MarginMode;
lever: string;
instId?: string;
ccy?: string;
posSide: PositionSide;
}): Promise<AdjustLeverageInfo[]>;
getMaxLoan(params: {
instId: string;
mgnMode: MarginMode;
mgnCcy?: string;
ccy?: string;
}): Promise<AccountMaxLoan[]>;
getFeeRates(params: {
instType: InstrumentType;
instId?: string;
uly?: string;
instFamily?: string;
ruleType?: string;
}): Promise<AccountFeeRate[]>;
getInterestAccrued(params?: {
type?: '1' | '2';
ccy?: string;
instId?: string;
mgnMode?: MarginMode;
after?: string;
before?: string;
limit?: string;
}): Promise<InterestAccrued[]>;
getInterestRate(params?: {
ccy?: string;
}): Promise<InterestRate[]>;
setGreeksDisplayType(params: {
greeksType: 'PA' | 'BS';
}): Promise<Greeks[]>;
setIsolatedMode(params: {
isoMode: 'automatic' | 'autonomy';
type: 'MARGIN' | 'CONTRACTS';
}): Promise<AccountIsolatedMode[]>;
getMaxWithdrawals(params?: {
ccy?: string;
}): Promise<MaxWithdrawal[]>;
getAccountRiskState(): Promise<AccountRiskState[]>;
setAccountCollateralAssets(params: {
type: 'all' | 'custom';
collateralEnabled: boolean;
ccyList?: string[];
}): Promise<{
type: string;
ccyList: string[];
collateralEnabled: boolean;
}[]>;
getAccountCollateralAssets(params?: {
ccy?: string;
collateralEnabled?: boolean;
}): Promise<{
ccy: string;
collateralEnabled: boolean;
}[]>;
submitQuickMarginBorrowRepay(params: QuickMarginBorrowRepayRequest): Promise<QuickMarginBorrowRepayResult[]>;
getQuickMarginBorrowRepayHistory(params: GetQuickMarginBorrowRepayHistoryRequest): Promise<QuickMarginBorrowRepayRecord[]>;
borrowRepayVIPLoan(params: {
ccy: string;
side: 'borrow' | 'repay';
amt: numberInString;
ordId?: string;
}): Promise<any[]>;
getVIPLoanBorrowRepayHistory(params?: any): Promise<any[]>;
getVIPInterestAccrued(params: GetVIPInterestRequest): Promise<VIPInterest[]>;
getVIPInterestDeducted(params: GetVIPInterestRequest): Promise<VIPInterest[]>;
getVIPLoanOrders(params: GetVIPLoanOrderListRequest): Promise<VIPLoanOrder[]>;
getVIPLoanOrder(params: GetVIPLoanOrderDetailRequest): Promise<VIPLoanOrderDetail[]>;
getBorrowInterestLimits(params?: {
type?: '1' | '2';
ccy?: string;
}): Promise<any[]>;
getFixedLoanBorrowLimit(): Promise<FixedLoanBorrowingLimit[]>;
getFixedLoanBorrowQuote(params: GetFixedLoanBorrowQuoteRequest): Promise<FixedLoanBorrowQuote[]>;
submitFixedLoanBorrowOrder(params: SubmitFixedLoanBorrowingOrderRequest): Promise<{
ordId: string;
}[]>;
updateFixedLoanBorrowOrder(params: UpdateFixedLoanBorrowingOrderRequest): Promise<{
ordId: string;
}[]>;
manualRenewFixedLoanBorrowOrder(params: {
ordId: string;
maxRate: string;
}): Promise<{
ordId: string;
}[]>;
repayFixedLoanBorrowOrder(params: {
ordId: string;
}): Promise<{
ordId: string;
}[]>;
convertFixedLoanToMarketLoan(params: {
ordId: string;
}): Promise<{
ordId: string;
}[]>;
reduceFixedLoanLiabilities(params: {
ordId: string;
pendingRepay: boolean;
}): Promise<{
ordId: string;
pendingRepay: boolean;
}[]>;
getFixedLoanBorrowOrders(params: GetFixedLoanBorrowingOrdersListRequest): Promise<any[]>;
manualBorrowRepay(params: {
ccy: string;
side: 'borrow' | 'repay';
amt: string;
}): Promise<{
ccy: string;
side: 'borrow' | 'repay';
amt: string;
}[]>;
setAutoRepay(params: {
autoRepay: boolean;
}): Promise<{
autoRepay: boolean;
}[]>;
getBorrowRepayHistory(params?: GetBorrowRepayHistoryRequest): Promise<BorrowRepayHistoryItem[]>;
positionBuilder(params: PositionBuilderRequest): Promise<any[]>;
updateRiskOffsetAmount(params: {
ccy: string;
clSpotInUseAmt: string;
}): Promise<{
ccy: string;
clSpotInUseAmt: string;
}[]>;
getGreeks(params?: {
ccy?: string;
}): Promise<any[]>;
getPMLimitation(params: {
instType: 'SWAP' | 'FUTURES' | 'OPTION';
uly?: string;
instFamily?: string;
}): Promise<any[]>;
updateRiskOffsetType(params: {
type: '1' | '2' | '3' | '4';
}): Promise<{
type: '1' | '2' | '3' | '4';
}[]>;
activateOption(): Promise<{
ts: string;
}[]>;
setAutoLoan(params: {
autoLoan: boolean;
}): Promise<AutoLoanResult[]>;
presetAccountLevelSwitch(params: {
acctLv: '2' | '3' | '4';
lever?: string;
riskOffsetType?: '1' | '2' | '3' | '4';
}): Promise<any[]>;
getAccountSwitchPrecheck(params: {
acctLv: '1' | '2' | '3' | '4';
}): Promise<any[]>;
setAccountMode(params: {
acctLv: AccountLevel;
}): Promise<AccountModeResult[]>;
resetMMPStatus(params: {
instType?: 'OPTION';
instFamily: string;
}): Promise<{
result: boolean;
}[]>;
setMMPConfig(params: SetMMPConfigRequest): Promise<SetMMPConfigResult[]>;
getMMPConfig(params?: {
instFamily?: string;
}): Promise<MMPConfig[]>;
/**
*
* Orderbook trading - trade endpoints
*
*/
submitOrder(params: OrderRequest): Promise<OrderResult[]>;
submitMultipleOrders(params: OrderRequest[]): Promise<OrderResult[]>;
cancelOrder(params: OrderIdRequest): Promise<CancelledOrderResult[]>;
cancelMultipleOrders(params: OrderIdRequest[]): Promise<CancelledOrderResult[]>;
amendOrder(params: AmendOrderRequest): Promise<AmendedOrder[]>;
amendMultipleOrders(params: AmendOrderRequest[]): Promise<AmendedOrder[]>;
closePositions(params: ClosePositionRequest): Promise<ClosedPositions[]>;
getOrderDetails(params: OrderIdRequest): Promise<OrderDetails[]>;
getOrderList(params?: OrderHistoryRequest): Promise<OrderListItem[]>;
/**
* Get history for last 7 days
*/
getOrderHistory(params: OrderHistoryRequest): Promise<HistoricOrder[]>;
/**
* Get history for last 3 months
*/
getOrderHistoryArchive(params: OrderHistoryRequest): Promise<HistoricOrder[]>;
/**
* Get history for last 7 days
*/
getFills(params?: FillsHistoryRequest): Promise<OrderFill[]>;
/**
* Get history for last 3 months
*/
getFillsHistory(params: FillsHistoryRequest): Promise<OrderFill[]>;
/** Get easy convert currency list */
getEasyConvertCurrencies(params?: {
source?: string;
}): Promise<any>;
/**
*
* Place easy convert : Convert small currencies to mainstream currencies.
* Only applicable to the crypto balance less than $10.
*
* Maximum 5 currencies can be selected in one order.
* If there are multiple currencies, separate them with commas in the "from" field.
*
*/
submitEasyConvert(params: {
fromCcys: string[];
toCcy: string;
source?: string;
}): Promise<APIResponse<any>>;
/** Get easy convert history : Get the history and status of easy convert trades. */
getEasyConvertHistory(params?: Pagination): Promise<APIResponse<any>>;
/**
*
* Get one-click repay currency list : Get list of debt currency data and repay currencies.
* Debt currencies include both cross and isolated debts.
*/
getOneClickRepayCurrencyList(params?: {
debtType?: 'cross' | 'isolated';
}): Promise<APIResponse<any>>;
/**
* Trade one-click repay to repay cross debts.
* Isolated debts are not applicable.
* The maximum repayment amount is based on the remaining available balance of funding and trading accounts.
*/
submitOneClickRepay(params: {
debtCcys: string[];
repayCcy: string;
}): Promise<APIResponse<any>>;
/** Get the history and status of one-click repay trades. */
getOneClickRepayHistory(params?: Pagination): Promise<APIResponse<any>>;
cancelMassOrder(params: {
instType: string;
instFamily: string;
lockInterval?: string;
}): Promise<{
result: boolean;
}[]>;
cancelAllAfter(params: {
timeOut: string;
tag?: string;
}): Promise<CancelAllAfterResponse[]>;
getAccountRateLimit(): Promise<any[]>;
submitOrderPrecheck(params: OrderPrecheckRequest): Promise<any[]>;
/**
*
* Orderbook trading - Algo trading endpoints
*
*/
placeAlgoOrder(params: AlgoOrderRequest): Promise<AlgoOrderResult[]>;
cancelAlgoOrder(params: CancelAlgoOrderRequest[]): Promise<AlgoOrderResult[]>;
amendAlgoOrder(params: AmendAlgoOrderRequest): Promise<AmendAlgoOrderResult[]>;
cancelAdvanceAlgoOrder(params: CancelAlgoOrderRequest[]): Promise<AlgoOrderResult[]>;
getAlgoOrderDetails(params: AlgoOrderDetailsRequest): Promise<AlgoOrderDetailsResult[]>;
getAlgoOrderList(params: AlgoRecentHistoryRequest): Promise<AlgoOrderListItem[]>;
getAlgoOrderHistory(params: AlgoLongHistoryRequest): Promise<HistoricAlgoOrder[]>;
/**
*
* Orderbook trading - Grid trading endpoints
*
*/
placeGridAlgoOrder(params: GridAlgoOrderRequest): Promise<any[]>;
amendGridAlgoOrder(params: {
algoId: string;
instId: string;
slTriggerPx?: string;
tpTriggerPx?: string;
tpRatio?: string;
slRatio?: string;
triggerParams?: {
triggerAction?: string;
triggerStrategy?: string;
triggerPx?: string;
stopType?: string;
}[];
}): Promise<any[]>;
stopGridAlgoOrder(orders: StopGridAlgoOrderRequest[]): Promise<any[]>;
closeGridContractPosition(params: CloseContractGridPositionRequest): Promise<any[]>;
cancelGridContractCloseOrder(params: {
algoId: string;
ordId: string;
}): Promise<any[]>;
instantTriggerGridAlgoOrder(params: {
algoId: string;
}): Promise<{
algoId: string;
algoClOrdId: string;
}[]>;
getGridAlgoOrderList(params: GetGridAlgoOrdersRequest): Promise<any[]>;
getGridAlgoOrderHistory(params: GetGridAlgoOrdersRequest): Promise<any[]>;
getGridAlgoOrderDetails(params: {
algoOrdType: GridAlgoOrderType;
algoId: string;
}): Promise<any[]>;
getGridAlgoSubOrders(params: {
algoOrdType: GridAlgoOrderType;
algoId: string;
type: GridAlgoSubOrderType;
groupId?: string;
after?: numberInString;
before?: numberInString;
limit?: number;
}): Promise<any[]>;
getGridAlgoOrderPositions(params: {
algoOrdType: 'contract_grid';
algoId: string;
}): Promise<any[]>;
spotGridWithdrawIncome(params: {
algoId: string;
}): Promise<any[]>;
computeGridMarginBalance(params: {
algoId: string;
type: 'add' | 'reduce';
amt?: numberInString;
}): Promise<any[]>;
adjustGridMarginBalance(params: {
algoId: string;
type: 'add' | 'reduce';
amt?: numberInString;
percent?: numberInString;
}): Promise<any[]>;
adjustGridInvestment(params: {
algoId: string;
amt: string;
}): Promise<{
algoId: string;
}[]>;
getGridAIParameter(params: {
algoOrdType: GridAlgoOrderType;
instId: string;
direction: ContractGridDirection;
duration?: '7D' | '30D' | '180D';
}): Promise<any[]>;
computeGridMinInvestment(params: {
amt: string;
ccy: string;
}): Promise<any[]>;
getRSIBackTesting(params: GetRSIBackTestingRequest): Promise<{
triggerNum: string;
}[]>;
getMaxGridQuantity(params: MaxGridQuantityRequest): Promise<{
maxGridQty: string;
}[]>;
/**
*
* Orderbook trading - Signal bot trading endpoints
*
*/
createSignal(params: CreateSignalRequest): Promise<CreateSignalResult[]>;
getSignals(params: GetSignalsRequest): Promise<GetSignalsResult[]>;
createSignalBot(params: CreateSignalBotRequest): Promise<CreateSignalBotResult[]>;
cancelSignalBots(params: {
algoId: string;
}): Promise<CancelSignalBotsResult[]>;
updateSignalMargin(params: AdjustMarginBalanceRequest): Promise<{
algoId: string;
}[]>;
updateSignalTPSL(params: AmendTPSLRequest): Promise<{
algoId: string;
}[]>;
setSignalInstruments(params: SetSignalInstrumentsRequest): Promise<{
algoId: string;
}[]>;
getSignalBotOrder(params: {
algoOrdType: string;
algoId: string;
}): Promise<any[]>;
getActiveSignalBot(params: GetSignalBotRequest): Promise<any[]>;
getSignalBotHistory(params: GetSignalBotRequest): Promise<any[]>;
getSignalBotPositions(params: {
algoOrdType: string;
algoId: string;
}): Promise<any[]>;
getSignalBotPositionHistory(params: GetSignalBotPositionHistoryRequest): Promise<any[]>;
closeSignalBotPosition(params: {
algoId: string;
instId: string;
}): Promise<{
algoId: string;
}[]>;
placeSignalBotSubOrder(params: PlaceSubOrderRequest): Promise<any[]>;
cancelSubOrder(params: CancelSubOrderRequest): Promise<any[]>;
getSignalBotSubOrders(params: GetSignalBotSubOrdersRequest): Promise<any[]>;
getSignalBotEventHistory(params: GetSignalBotEventHistoryRequest): Promise<any[]>;
/**
*
* Orderbook trading - Recurring buy endpoints
*
*/
submitRecurringBuyOrder(params: PlaceRecurringBuyOrderRequest): Promise<RecurringBuyOrderResult[]>;
amendRecurringBuyOrder(params: AmendRecurringBuyOrderRequest): Promise<RecurringBuyOrderResult[]>;
stopRecurringBuyOrder(params: {
algoId: string;
}): Promise<RecurringBuyOrderResult[]>;
getRecurringBuyOrders(params: GetRecurringBuyOrderListRequest): Promise<RecurringBuyOrder[]>;
getRecurringBuyOrderHistory(params: GetRecurringBuyOrderListRequest): Promise<RecurringBuyOrder[]>;
getRecurringBuyOrderDetails(params: {
algoId: string;
}): Promise<RecurringBuyOrder[]>;
getRecurringBuySubOrders(params: GetRecurringBuyOrderListRequest): Promise<RecurringBuySubOrder[]>;
/**
*
* Orderbook trading - Copy trading endpoints
*
*/
getCopytradingSubpositions(params?: GetCurrentSubpositionsRequest): Promise<CurrentSubposition[]>;
getCopytradingSubpositionsHistory(params?: GetSubpositionsHistoryRequest): Promise<SubpositionsHistory[]>;
submitCopytradingAlgoOrder(params: PlaceCTAlgoOrderRequest): Promise<PlaceCTAlgoOrderResult[]>;
closeCopytradingSubposition(params: CloseSubpositionRequest): Promise<{
subPosId: string;
tag: string;
}[]>;
getCopytradingInstruments(params?: {
instType?: 'SPOT' | 'SWAP';
}): Promise<{
instId: string;
enabled: boolean;
}[]>;
setCopytradingInstruments(params: {
instType?: 'SPOT' | 'SWAP';
instId: string;
}): Promise<{
instId: string;
enabled: boolean;
}[]>;
getCopytradingProfitDetails(params?: GetCTProfitDetailsRequest): Promise<GetCTProfitDetailsResult[]>;
getCopytradingTotalProfit(params?: {
instType?: 'SPOT' | 'SWAP';
}): Promise<GetCTTotalProfitResult[]>;
getCopytradingUnrealizedProfit(params?: {
instType?: 'SPOT' | 'SWAP';
}): Promise<GetCTUnrealizedProfitResult[]>;
getCopytradingTotalUnrealizedProfit(params?: {
instType?: 'SWAP';
}): Promise<{
instType?: 'SWAP';
instId: string;
}[]>;
applyCopytradingLeadTrading(params: {
profitSharingTs: string;
totalUnrealizedProfitSharingAmt: string;
}): Promise<{
result: boolean;
}[]>;
stopCopytradingLeadTrading(params?: {
instType?: 'SWAP';
}): Promise<{
result: boolean;
}[]>;
updateCopytradingProfitSharing(params: {
instType?: 'SWAP';
profitSharingRatio: string;
}): Promise<{
result: boolean;
}[]>;
getCopytradingAccount(): Promise<GetAccountConfigurationResult[]>;
setCopytradingFirstCopy(params: CopySettingsRequest): Promise<{
result: boolean;
}[]>;
updateCopytradingCopySettings(params: CopySettingsRequest): Promise<{
result: boolean;
}[]>;
stopCopytradingCopy(params: {
instType?: 'SWAP';
uniqueCode: string;
subPosCloseType: 'market_close' | 'copy_close' | 'manual_close';
}): Promise<{
result: boolean;
}[]>;
getCopytradingCopySettings(params: {
instType?: 'SWAP';
uniqueCode: string;
}): Promise<GetCopySettingsResult[]>;
getCopytradingBatchLeverageInfo(params: GetCTBatchLeverageInfoRequest): Promise<GetCTBatchLeverageInfoResult[]>;
setCopytradingBatchLeverage(params: SetCTBatchLeverageRequest): Promise<SetCTBatchLeverageResult[]>;
getCopytradingMyLeadTraders(params?: {
instType?: 'SWAP';
}): Promise<GetCTMyLeadTradersResult[]>;
getCopytradingLeadTradersHistory(params?: GetCTHistoryLeadTradersRequest): Promise<GetCTHistoryLeadTradersResult[]>;
getCopytradingConfig(params?: {
instType?: 'SWAP';
}): Promise<GetCopyTradingConfigResult[]>;
getCopytradingLeadRanks(params?: GetLeadTraderRanksRequest): Promise<GetLeadTraderRanksResult[]>;
getCopytradingLeadWeeklyPnl(params: {
instType?: 'SWAP';
uniqueCode: string;
}): Promise<LeadTraderPnl[]>;
getCopytradingLeadDailyPnl(params: GetLeadTraderStatsRequest): Promise<LeadTraderPnl[]>;
getCopytradingLeadStats(params: GetLeadTraderStatsRequest): Promise<LeadTraderStats[]>;
getCopytradingLeadPreferences(params: {
instType?: 'SWAP';
uniqueCode: string;
}): Promise<LeadTraderPreference[]>;
getCopytradingLeadOpenPositions(params: GetLeadTraderPositionsRequest): Promise<LeadTraderCurrentPosition[]>;
getCopytradingLeadPositionHistory(params: GetLeadTraderPositionsRequest): Promise<LeadTraderPositionHistory[]>;
getCopyTraders(params: GetCopyTradersRequest): Promise<GetCopyTradersResult[]>;
getCopytradingLeadPrivateRanks(params?: GetPrivateLeadTraderRanksRequest): Promise<GetPrivateLeadTraderRanksResult[]>;
getCopytradingLeadPrivateWeeklyPnl(params: {
instType?: 'SWAP';
uniqueCode: string;
}): Promise<LeadTraderPnl[]>;
getCopytradingPLeadPrivateDailyPnl(params: GetLeadTraderStatsRequest): Promise<LeadTraderPnl[]>;
geCopytradingLeadPrivateStats(params: GetLeadTraderStatsRequest): Promise<LeadTraderStats[]>;
getCopytradingLeadPrivatePreferences(params: {
instType?: 'SWAP';
uniqueCode: string;
}): Promise<LeadTraderPreference[]>;
getCopytradingLeadPrivateOpenPositions(params: GetLeadTraderPositionsRequest): Promise<LeadTraderCurrentPosition[]>;
getCopytradingLeadPrivatePositionHistory(params: GetLeadTraderPositionsRequest): Promise<LeadTraderPositionHistory[]>;
getCopyTradersPrivate(params: GetCopyTradersRequest): Promise<GetCopyTradersResult[]>;
/**
*
* Orderbook trading - Market data endpoints
*
*/
getTickers(params: {
instType: InstrumentType;
uly?: string;
instFamily?: string;
}): Promise<Ticker[]>;
getTicker(params: {
instId: string;
}): Promise<Ticker[]>;
getOrderBook(params: {
instId: string;
sz?: numberInString;
}): Promise<OrderBook[]>;
getFullOrderBook(params: {
instId: string;
sz?: string;
}): Promise<OrderBook[]>;
getCandles(params: CandleRequest): Promise<Candle[]>;
getHistoricCandles(params: CandleRequest): Promise<Candle[]>;
getTrades(params: {
instId: string;
limit?: number;
}): Promise<Trade[]>;
getHistoricTrades(params: {
instId: string;
after?: numberInString;
before?: numberInString;
limit?: numberInString;
type?: '1' | '2';
}): Promise<Trade[]>;
getOptionTradesByInstrument(params: {
instFamily: string;
}): Promise<OptionTrade[]>;
getOptionTrades(params: GetOptionTradesRequest): Promise<OptionTrades[]>;
get24hrTotalVolume(): Promise<any[]>;
/**
*
* Block trading - REST endpoints
*
*/
getBlockCounterParties(): Promise<BlockCounterParty[]>;
createBlockRFQ(params: CreateBlockRFQRequest): Promise<CreateRFQResult[]>;
cancelBlockRFQ(params: CancelBlockRFQRequest): Promise<CancelBlockRFQResult[]>;
cancelMultipleBlockRFQs(params: CancelMultipleBlockRFQRequest): Promise<CancelBlockRFQResult[]>;
cancelAllRFQs(): Promise<TimestampObject[]>;
executeBlockQuote(params: ExecuteBlockQuoteRequest): Promise<ExecuteBlockQuoteResult[]>;
getQuoteProducts(): Promise<BlockMakerInstrumentSettings[]>;
updateBlockQuoteProducts(params: SetQuoteProductsRequest): Promise<{
result: boolean;
}[]>;
resetBlockMmp(): Promise<{
ts: string;
}[]>;
updateBlockMmpConfig(params: SetMmpConfigRequest): Promise<SetMmpConfigResult[]>;
getBlockMmpConfig(): Promise<BlockMMPConfig[]>;
createBlockQuote(params: CreateBlockQuoteRequest): Promise<CreateBlockQuoteResult[]>;
cancelBlockQuote(params: CancelBlockQuoteRequest): Promise<CancelBlockQuoteResult[]>;
cancelMultipleBlockQuotes(params: CancelMultipleBlockQuoteRequest): Promise<CancelBlockQuoteResult[]>;
cancelAllBlockQuotes(): Promise<TimestampObject[]>;
cancelAllBlockAfter(params: {
timeOut: string;
}): Promise<{
triggerTime: string;
ts: string;
}[]>;
getBlockRFQs(params?: GetBlockRFQSParams): Promise<BlockRFQResult[]>;
getBlockQuotes(params?: GetBlockQuoteParams): Promise<GetBlockQuoteResult[]>;
getBlockTrades(params?: any): Promise<any[]>;
getPublicRFQBlockTrades(params?: any): Promise<any[]>;
getBlockTickers(params: {
instType: InstrumentType;
uly?: string;
}): Promise<any[]>;
getBlockTicker(params: {
instId: string;
}): Promise<any[]>;
getBlockPublicTrades(params: {
instId: string;
}): Promise<PublicBlockTrade[]>;
/**
*
* Spread trading - REST endpoints
*
*/
submitSpreadOrder(params: PlaceSpreadOrderRequest): Promise<PlaceSpreadOrderResponse[]>;
cancelSpreadOrder(params?: {
ordId?: string;
clOrdId?: string;
}): Promise<CancelSpreadOrderResponse[]>;
cancelAllSpreadOrders(params?: {
sprdId?: string;
}): Promise<{
result: boolean;
}[]>;
updateSpreadOrder(params: UpdateSpreadOrderRequest): Promise<UpdateSpreadOrderResponse[]>;
getSpreadOrder(params: {
ordId?: string;
clOrdId?: string;
}): Promise<SpreadOrder[]>;
getSpreadActiveOrders(params?: GetActiveSpreadOrdersRequest): Promise<SpreadOrder[]>;
getSpreadOrdersRecent(params?: GetSpreadOrderHistoryRequest): Promise<SpreadOrder[]>;
getSpreadOrdersArchive(params?: GetSpreadOrderHistoryArchiveRequest): Promise<SpreadOrder[]>;
getSpreadTrades(params?: GetSpreadTradesRequest): Promise<SpreadTrade[]>;
getSpreads(params?: GetSpreadsRequest): Promise<SpreadDetails[]>;
getSpreadOrderBook(params: {
sprdId: string;
sz?: string;
}): Promise<SpreadOrderBook[]>;
getSpreadTicker(params: {
sprdId: string;
}): Promise<SpreadTicker[]>;
getSpreadPublicTrades(params?: {
sprdId?: string;
}): Promise<PublicSpreadTrade[]>;
getSpreadCandles(params: GetSpreadCandlesRequest): Promise<SpreadCandle[]>;
getSpreadHistoryCandles(params: GetSpreadCandlesRequest): Promise<SpreadCandle[]>;
cancelSpreadAllAfter(params: {
timeOut: string;
}): Promise<{
triggerTime: string;
ts: string;
}[]>;
/**
*
* Public data - rest endpoints
*
*/
getInstruments(params: {
instType: InstrumentType;
uly?: string;
instFamily?: string;
instId?: string;
}): Promise<Instrument[]>;
getDeliveryExerciseHistory(params: any): Promise<any[]>;
getOpenInterest(params: any): Promise<any[]>;
getFundingRate(params: any): Promise<any[]>;
getFundingRateHistory(params: FundingRateRequest): Promise<any[]>;
getMinMaxLimitPrice(params: any): Promise<any[]>;
getOptionMarketData(params: any): Promise<any[]>;
getEstimatedDeliveryExercisePrice(params: any): Promise<any[]>;
getDiscountRateAndInterestFreeQuota(params: any): Promise<any[]>;
getSystemTime(params: any): Promise<SystemTime[]>;
getMarkPrice(params: any): Promise<any[]>;
getPositionTiers(params: any): Promise<any[]>;
getInterestRateAndLoanQuota(params: any): Promise<any[]>;
getVIPInterestRateAndLoanQuota(params: any): Promise<any[]>;
getUnderlying(params: any): Promise<any[]>;
getInsuranceFund(params: any): Promise<any[]>;
getUnitConvert(params: UnitConvertRequest): Promise<UnitConvertData[]>;
getOptionTickBands(params: {
instType: string;
instFamily?: string;
}): Promise<any[]>;
getPremiumHistory(params: GetPremiumHistoryRequest): Promise<any[]>;
getIndexTickers(params?: {
quoteCcy?: string;
instId?: string;
}): Promise<IndexTicker[]>;
getIndexCandles(params: CandleRequest): Promise<CandleNoVolume[]>;
getHistoricIndexCandles(params: CandleRequest): Promise<CandleNoVolume[]>;
getMarkPriceCandles(params: CandleRequest): Promise<CandleNoVolume[]>;
getHistoricMarkPriceCandles(params: CandleRequest): Promise<CandleNoVolume[]>;
getOracle(): Promise<any[]>;
getExchangeRate(): Promise<any[]>;
getIndexComponents(params: {
index: string;
}): Promise<any[]>;
getEconomicCalendar(params: EconomicCalendarRequest): Promise<EconomicCalendarData[]>;
getPublicBlockTrades(params: {
instId: string;
}): Promise<any[]>;
/**
*
* Trading statistics - REST endpoints
*
*/
getSupportCoin(): Promise<any[]>;
getOpenInterestHistory(params: GetContractOpenInterestHistoryRequest): Promise<any[]>;
getTakerVolume(params: {
instType: string;
ccy: string;
period?: string;
end?: string;
begin?: string;
}): Promise<any[]>;
getContractTakerVolume(params: GetContractTakerVolumeRequest): Promise<any[]>;
getMarginLendingRatio(params: {
ccy: string;
begin?: numberInString;
end?: numberInString;
period: '5m' | '1H' | '1D';
}): Promise<any[]>;
getTopTradersAccountRatio(params: GetTopTradersContractLongShortRatioRequest): Promise<any[]>;
getTopTradersContractPositionRatio(params: GetTopTradersContractLongShortRatioRequest): Promise<any[]>;
getLongShortContractRatio(params: GetTopTradersContractLongShortRatioRequest): Promise<any[]>;
getLongShortRatio(params: {
ccy: string;
begin?: numberInString;
end?: numberInString;
period: '5m' | '1H' | '1D';
}): Promise<any[]>;
getContractsOpenInterestAndVolume(params: {
ccy: string;
begin?: numberInString;
end?: numberInString;
period: '5m' | '1H' | '1D';
}): Promise<any[]>;
getOptionsOpenInterestAndVolume(params: {
ccy: string;
period: '8H' | '1D';
}): Promise<any[]>;
getPutCallRatio(params: {
ccy: string;
period: '8H' | '1D';
}): Promise<any[]>;
getOpenInterestAndVolumeExpiry(params: {
ccy: string;
period: '8H' | '1D';
}): Promise<any[]>;
getOpenInterestAndVolumeStrike(params: {
ccy: string;
expTime: string;
period: '8H' | '1D';
}): Promise<any[]>;
getTakerFlow(params: {
ccy: string;
period: '8H' | '1D';
}): Promise<any[]>;
/**
*
* Funding account - REST endpoints
*
*/
getCurrencies(params?: {
ccy?: string;
}): Promise<FundingCurrency[]>;
getBalances(params?: {
ccy?: string;
}): Promise<FundingBalance[]>;
getNonTradableAssets(params?: {
ccy?: string;
}): Promise<NonTradableAsset[]>;
getAccountAssetValuation(params?: {
ccy?: string;
}): Promise<AccountAssetValuation[]>;
fundsTransfer(params: FundsTransferRequest): Promise<FundTransferResult[]>;
/** Either parameter transId or clientId is required. */
getFundsTransferState(params?: {
transId?: string;
clientId?: string;
type?: '0' | '1' | '2';
}): Promise<FundTransferState[]>;
getAssetBillsDetails(params?: {
ccy?: string;
type?: `${ASSET_BILL_TYPE}`;
clientId?: string;
after?: numberInString;
before?: numberInString;
limit?: numberInString;
}): Promise<AssetBillDetails[]>;
getLightningDeposits(params: {
ccy: string;
amt: numberInString;
to?: '6' | '18';
}): Promise<any[]>;
getDepositAddress(params: {
ccy: string;
}): Promise<any[]>;
getDepositHistory(params?: any): Promise<any[]>;
submitWithdraw(params: WithdrawRequest): Promise<WithdrawResponse[]>;
submitWithdrawLightning(params: {
ccy: string;
invoice: string;
memo?: string;
}): Promise<any[]>;
cancelWithdrawal(params: {
wdId: string;
}): Promise<any[]>;
getWithdrawalHistory(params?: WithdrawalHistoryRequest): Promise<any[]>;
getDepositWithdrawStatus(params: GetDepositWithdrawStatusRequest): Promise<any[]>;
getExchanges(): Promise<any[]>;
applyForMonthlyStatement(params?: {
month?: string;
}): Promise<any[]>;
getMonthlyStatement(params: {
month: string;
}): Promise<any[]>;
getConvertCurrencies(): Promise<any[]>;
getConvertCurrencyPair(params: {
fromCcy: string;
toCcy: string;
}): Promise<any[]>;
estimateConvertQuote(params: ConvertQuoteEstimateRequest): Promise<any[]>;
convertTrade(params: ConvertTradeRequest): Promise<any[]>;
getConvertHistory(params?: any): Promise<any[]>;
/**
*
* Subaccount - REST endpoints
*
*/
/** View sub-account list */
getSubAccountList(params?: any): Promise<SubAccount[]>;
resetSubAccountAPIKey(params: {
subAcct: string;
apiKey: string;
label?: string;
perm?: string;
ip?: string;
}): Promise<SubAccountAPIReset[]>;
getSubAccountBalances(params: {
subAcct: string;
}): Promise<SubAccountBalances[]>;
getSubAccountFundingBalances(params: {
subAcct: string;
ccy?: string;
}): Promise<FundingBalance[]>;
getSubAccountMaxWithdrawal(params: GetSubAccountMaxWithdrawalsRequest): Promise<SubAccountMaxWithdrawal[]>;
/** History of sub-account transfer */
getSubAccountTransferHistory(params?: {
ccy?: string;
type?: '0' | '1';
subAcct?: string;
after?: string;
before?: string;
limit?: string;
}): Promise<any[]>;
getManagedSubAccountTransferHistory(params: GetManagedSubAccountTransferHistoryRequest): Promise<ManagedSubAccountTransfer[]>;
/** Master accounts manage the transfers between sub-accounts */
transferSubAccountBalance(params: SubAccountTransferRequest): Promise<SubAccountTransferResult[]>;
setSubAccountTransferOutPermission(params: {
subAcct: string;
canTransOut: boolean;
}): Promise<any[]>;
getSubAccountCustodyTradingList(params?: {
subAcct?: string;
}): Promise<any[]>;
setSubAccountLoanAllocation(params: SetSubAccountLoanAllocationRequest): Promise<{
result: boolean;
}[]>;
getSubAccountBorrowInterestAndLimit(params: {
subAcct: string;
ccy?: string;
}): Promise<any[]>;
/**
*
* Financial product - on chain earn endpoints
*
*/
/** Get earn offers */
getStakingOffers(params?: {
productId?: string;
protocolType?: 'staking' | 'defi';
ccy?: string;
}): Promise<any[]>;
submitStake(params: {
productId: string;
investData: {
ccy: string;
amt: string;
}[];
term?: string;
}): Promise<any[]>;
redeemStake(params: {
ordId: string;
protocolType: 'staking' | 'defi';
allowEarlyRedeem?: boolean;
}): Promise<any[]>;
cancelStakingRequest(params: {
ordId: string;
protocolType: 'staking' | 'defi';
}): Promise<any[]>;
/** Earn/staking get active orders */
getActiveStakingOrders(params?: {
productId?: string;
protocolType?: 'staking' | 'defi';
ccy?: string;
state?: '8' | '13' | '9' | '1' | '2';
}): Promise<any[]>;
/** Earn/staking get order history */
getStakingOrderHistory(params?: {
productId?: string;
protocolType?: string;
ccy?: string;
after?: string;
before?: string;
limit?: string;
}): Promise<any[]>;
/**
*
* Financial product - ETH staking endpoints
*
*/
getETHStakingProductInfo(): Promise<any[]>;
purchaseETHStaking(params: {
amt: string;
}): Promise<any[]>;
redeemETHStaking(params: {
amt: string;
}): Promise<any[]>;
getETHStakingBalance(): Promise<any[]>;
getETHStakingHistory(params: {
type: 'purchase' | 'redeem';
status?: 'pending' | 'success' | 'failed';
after?: string;
before?: string;
limit?: string;
}): Promise<any[]>;
getAPYHistory(params: {
days: string;
}): Promise<any[]>;
/**
*
* Financial product - simple earn flexible endpoints
*
*/
getSavingBalance(params?: {
ccy?: string;
}): Promise<any[]>;
savingsPurchaseRedemption(params: {
ccy: string;
amt: numberInString;
side: 'purchase' | 'redempt';
rate: numberInString;
}): Promise<any[]>;
setLendingRate(params: {
ccy: string;
rate: numberInString;
}): Promise<any[]>;
getLendingHistory(params?: PaginatedSymbolRequest): Promise<any[]>;
getPublicBorrowInfo(params?: {
ccy?: string;
}): Promise<any[]>;
getPublicBorrowHistory(params?: PaginatedSymbolRequest): Promise<any[]>;
/**
*
* Financial product - simple earn fixed endpoints
*
*/
getLendingOffers(params?: {
ccy?: string;
term?: string;
}): Promise<any[]>;
getLendingAPYHistory(params: {
ccy: string;
term: string;
}): Promise<any[]>;
getLendingVolume(params: {
ccy: string;
term: string;
}): Promise<any[]>;
placeLendingOrder(params: LendingOrder): Promise<any[]>;
amendLendingOrder(params: LendingOrder): Promise<any[]>;
getLendingOrders(params: GetLendingOrderListRequest): Promise<any[]>;
getLendingSubOrders(params: GetLendingSubOrderListRequest): Promise<any[]>;
/**
*
* Financial product - Flexible loan endpoints
*
*/
getBorrowableCurrencies(): Promise<{
borrowCcy: string;
}[]>;
getCollateralAssets(params?: {
ccy?: string;
}): Promise<CollateralAssetsResponse[]>;
getMaxLoanAmount(params: MaxLoanRequest): Promise<MaxLoanResponse[]>;
adjustCollateral(params: AdjustCollateralRequest): Promise<[]>;
getLoanInfo(): Promise<LoanInfo[]>;
getLoanHistory(params?: LoanHistoryRequest): Promise<LoanHistoryItem[]>;
getAccruedInterest(params?: AccruedInterestRequest): Promise<AccruedInterestItem[]>;
/**
*
* Affiliate endpoints
*
*/
getInviteeDetail(params: {
uid: string;
}): Promise<any[]>;
getAffiliateRebateInfo(params: {
apiKey: string;
}): Promise<any[]>;
/**
*
* Status endpoints (public)
*
*/
getSystemStatus(params: {
state?: 'scheduled' | 'ongoing' | 'pre_open' | 'completed' | 'canceled';
}): Promise<any[]>;
/**
*
* Announcement endpoints
*
*/
getAnnouncements(params?: {
annType?: string;
page?: string;
}): Promise<{
totalPage: string;
details: Announcement[];
}[]>;
getAnnouncementTypes(): Promise<{
annType: string;
annTypeDesc: string;
}[]>;
/**
*
* Broker endpoints (private)
*
*/
createSubAccount(params: {
subAcct: string;
label?: string;
clientIP?: string;
mainAcct: string;
}): Promise<any[]>;
deleteSubAccount(params: {
subAcct: string;
}): Promise<any[]>;
createSubAccountAPIKey(params: {
subAcct: string;
label: string;
passphrase: string;
ip?: string;
perm?: string;
}): Promise<any[]>;
}