import { ASSET_BILL_TYPE } from './constants/funding.js'; import { ChangePositionMarginRequest, GetBorrowRepayHistoryRequest, GetFixedLoanBorrowingOrdersListRequest, GetFixedLoanBorrowQuoteRequest, GetHistoricPositionParams, GetInstrumentsRequest, GetPositionsParams, GetQuickMarginBorrowRepayHistoryRequest, GetVIPInterestRequest, GetVIPLoanOrderDetailRequest, GetVIPLoanOrderListRequest, PositionBuilderRequest, QuickMarginBorrowRepayRequest, SetFeeTypeRequest, SetLeverageRequest, SetMMPConfigRequest, SetSettleCurrencyRequest, SubmitFixedLoanBorrowingOrderRequest, UpdateFixedLoanBorrowingOrderRequest, WithdrawalHistoryRequest } from './types/rest/request/account.js'; import { CancelBlockQuoteRequest, CancelBlockRFQRequest, CancelMultipleBlockQuoteRequest, CancelMultipleBlockRFQRequest, CreateBlockQuoteRequest, CreateBlockRFQRequest, ExecuteBlockQuoteRequest, GetBlockQuoteParams, GetBlockRFQSParams, SetMmpConfigRequest, SetQuoteProductsRequest } from './types/rest/request/block-trading.js'; import { ConvertQuoteEstimateRequest, ConvertTradeRequest } from './types/rest/request/convert.js'; import { CloseSubpositionRequest, CopySettingsRequest, GetCopyTradersRequest, GetCTBatchLeverageInfoRequest, GetCTHistoryLeadTradersRequest, GetCTProfitDetailsRequest, GetCurrentSubpositionsRequest, GetLeadTraderPositionsRequest, GetLeadTraderRanksRequest, GetLeadTraderStatsRequest, GetPrivateLeadTraderRanksRequest, GetSubpositionsHistoryRequest, PlaceCTAlgoOrderRequest, SetCTBatchLeverageRequest } from './types/rest/request/copy-trading.js'; import { GetFiatWithdrawnPaymentMethodsRequest, CancelFiatWithdrawnRequest, DetailWithdrawnFiatRequest, GetHistoricalFiatWithdrawnRequest, WithdrawnFiatRequest } from './types/rest/request/fiat.js'; import { FundingRateRequest, FundsTransferRequest, GetDepositWithdrawStatusRequest, WithdrawRequest } from './types/rest/request/funding.js'; import { CloseContractGridPositionRequest, GetGridAlgoOrdersRequest, GetRSIBackTestingRequest, GridAlgoOrderRequest, GridAlgoOrderType, MaxGridQuantityRequest, StopGridAlgoOrderRequest } from './types/rest/request/grid-trading.js'; import { CandleRequest, EconomicCalendarRequest, GetContractOpenInterestHistoryRequest, GetContractTakerVolumeRequest, GetOptionTradesRequest, GetPremiumHistoryRequest, GetTopTradersContractLongShortRatioRequest, UnitConvertRequest } from './types/rest/request/public.js'; import { AmendRecurringBuyOrderRequest, GetRecurringBuyOrderListRequest, PlaceRecurringBuyOrderRequest } from './types/rest/request/recurring-buy.js'; import { PaginatedSymbolRequest } from './types/rest/request/shared.js'; import { AdjustMarginBalanceRequest, AmendTPSLRequest, CancelSubOrderRequest, CreateSignalBotRequest, CreateSignalRequest, GetSignalBotEventHistoryRequest, GetSignalBotPositionHistoryRequest, GetSignalBotRequest, GetSignalBotSubOrdersRequest, GetSignalsRequest, PlaceSubOrderRequest, SetSignalInstrumentsRequest } from './types/rest/request/signal-bot.js'; import { GetLendingOrderListRequest, GetLendingSubOrderListRequest, LendingOrder } from './types/rest/request/simple-earn.js'; import { GetActiveSpreadOrdersRequest, GetSpreadCandlesRequest, GetSpreadOrderHistoryArchiveRequest, GetSpreadOrderHistoryRequest, GetSpreadsRequest, GetSpreadTradesRequest, PlaceSpreadOrderRequest, UpdateSpreadOrderRequest } from './types/rest/request/spread-trading.js'; import { GetManagedSubAccountTransferHistoryRequest, GetSubAccountMaxWithdrawalsRequest, SetSubAccountLoanAllocationRequest, SubAccountTransferRequest } from './types/rest/request/subaccount.js'; import { AlgoLongHistoryRequest, AlgoOrderDetailsRequest, AlgoOrderRequest, AlgoRecentHistoryRequest, AmendAlgoOrderRequest, AmendOrderRequest, CancelAlgoOrderRequest, ClosePositionRequest, FillsHistoryRequest, OrderHistoryRequest, OrderIdRequest, OrderPrecheckRequest, OrderRequest } from './types/rest/request/trade.js'; import { FiatWithdrawnPaymentMethodsResponse, CancelFiatWithdrawnResponse, DetailWithdrawnFiatResponse, FiatWithdrawnResponse, HistoricalFiatWithdrawnResponse } from './types/rest/response/fiat.js'; import { AccountBalance, AccountBill, AccountChangeMarginResult, AccountConfiguration, AccountFeeRate, AccountHistoryBill, AccountInstrument, AccountIsolatedMode, AccountLeverage, AccountLeverageResult, AccountMaxLoan, AccountMaxOrderAmount, AccountMaxTradableAmount, AccountModeResult, AccountPosition, AccountPositionModeResult, AccountPositionRisk, AccountRiskState, AdjustLeverageInfo, AutoLoanResult, BorrowRepayHistoryItem, FixedLoanBorrowingLimit, FixedLoanBorrowQuote, Greeks, HistoricAccountPosition, InterestAccrued, InterestRate, MaxWithdrawal, MMPConfig, QuickMarginBorrowRepayRecord, QuickMarginBorrowRepayResult, SetFeeTypeResult, SetMMPConfigResult, SetSettleCurrencyResult, VIPInterest, VIPLoanOrder, VIPLoanOrderDetail } from './types/rest/response/private-account.js'; import { BlockCounterParty, BlockMakerInstrumentSettings, BlockMMPConfig, BlockRFQResult, BlockTradeResult, CancelBlockQuoteResult, CancelBlockRFQResult, CreateBlockQuoteResult, CreateRFQResult, ExecuteBlockQuoteResult, GetBlockQuoteResult, PublicBlockTrade, SetMmpConfigResult } from './types/rest/response/private-block-trading.js'; import { CurrentSubposition, GetAccountConfigurationResult, GetCopySettingsResult, GetCopyTradersResult, GetCopyTradingConfigResult, GetCTBatchLeverageInfoResult, GetCTHistoryLeadTradersResult, GetCTMyLeadTradersResult, GetCTProfitDetailsResult, GetCTTotalProfitResult, GetCTUnrealizedProfitResult, GetLeadTraderRanksResult, GetPrivateLeadTraderRanksResult, LeadTraderCurrentPosition, LeadTraderPnl, LeadTraderPositionHistory, LeadTraderPreference, LeadTraderStats, PlaceCTAlgoOrderResult, SetCTBatchLeverageResult, SubpositionsHistory } from './types/rest/response/private-copy-trading.js'; import { AccruedInterestItem, AccruedInterestRequest, AdjustCollateralRequest, CollateralAssetsResponse, LoanHistoryItem, LoanHistoryRequest, LoanInfo, MaxLoanRequest, MaxLoanResponse } from './types/rest/response/private-flexible-loan.js'; import { AccountAssetValuation, AssetBillDetails, FundingBalance, FundingCurrency, FundTransferResult, FundTransferState, NonTradableAsset, WithdrawResponse } from './types/rest/response/private-funding.js'; import { RecurringBuyOrder, RecurringBuyOrderResult, RecurringBuySubOrder } from './types/rest/response/private-recurring-buy.js'; import { CancelSignalBotsResult, CreateSignalBotResult, CreateSignalResult, GetSignalsResult } from './types/rest/response/private-signal-bot.js'; import { CancelSpreadOrderResponse, PlaceSpreadOrderResponse, PublicSpreadTrade, SpreadCandle, SpreadDetails, SpreadOrder, SpreadOrderBook, SpreadTicker, SpreadTrade, UpdateSpreadOrderResponse } from './types/rest/response/private-spread-trading.js'; import { ManagedSubAccountTransfer, SubAccount, SubAccountAPIReset, SubAccountBalances, SubAccountMaxWithdrawal, SubAccountTransferResult } from './types/rest/response/private-subaccount.js'; import { AlgoOrderDetailsResult, AlgoOrderListItem, AlgoOrderResult, AmendAlgoOrderResult, AmendedOrder, CancelAllAfterResponse, CancelledOrderResult, ClosedPositions, HistoricAlgoOrder, HistoricOrder, OrderDetails, OrderFill, OrderListItem, OrderResult } from './types/rest/response/private-trade.js'; import { Announcement, Candle, CandleNoVolume, EconomicCalendarData, IndexTicker, Instrument, OptionTrade, OptionTrades, OrderBook, SystemTime, Ticker, Trade, UnitConvertData } from './types/rest/response/public-data.js'; import { AccountLevel, APIResponse, ContractGridDirection, GridAlgoSubOrderType, InstrumentType, MarginMode, numberInString, Pagination, PositionSide, PosMode, TimestampObject } from './types/rest/shared.js'; import BaseRestClient from './util/BaseRestClient.js'; export declare class RestClient extends BaseRestClient { /** * * 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; /** * * OKX misc endpoints * */ getServerTime(): Promise; /** * * Trading account endpoints * */ getAccountInstruments(params: GetInstrumentsRequest): Promise; getBalance(params?: { ccy?: string; }): Promise; getPositions(params?: GetPositionsParams): Promise; getPositionsHistory(params?: GetHistoricPositionParams): Promise; getAccountPositionRisk(params?: { instType?: Omit<'SPOT', InstrumentType>; }): Promise; /** Up to last 7 days */ getBills(params?: any): Promise; /** Last 3 months */ getBillsArchive(params?: any): Promise; /** * 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; /** * 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; getAccountConfiguration(): Promise; setPositionMode(params: { posMode: PosMode; }): Promise; setSettleCurrency(params: SetSettleCurrencyRequest): Promise; setFeeType(params: SetFeeTypeRequest): Promise; setLeverage(params: SetLeverageRequest): Promise; /** Max buy/sell amount or open amount */ getMaxBuySellAmount(params: { instId: string; tdMode: 'cross' | 'isolated' | 'cash'; ccy?: string; px?: string; leverage?: string; unSpotOffset?: boolean; }): Promise; getMaxAvailableTradableAmount(params: { instId: string; ccy?: string; tdMode: 'cross' | 'isolated' | 'cash'; reduceOnly?: boolean; unSpotOffset?: boolean; }): Promise; changePositionMargin(params: ChangePositionMarginRequest): Promise; getLeverage(params: { instId?: string; ccy?: string; mgnMode: MarginMode; }): Promise; /** * @deprecated - will be removed in next major release * Use getLeverage() instead */ getLeverageV2(params: { instId?: string; ccy?: string; mgnMode: MarginMode; }): Promise; getLeverageEstimatedInfo(params: { instType: string; mgnMode: MarginMode; lever: string; instId?: string; ccy?: string; posSide: PositionSide; }): Promise; getMaxLoan(params: { instId: string; mgnMode: MarginMode; mgnCcy?: string; ccy?: string; }): Promise; getFeeRates(params: { instType: InstrumentType; instId?: string; uly?: string; instFamily?: string; ruleType?: string; }): Promise; getInterestAccrued(params?: { type?: '1' | '2'; ccy?: string; instId?: string; mgnMode?: MarginMode; after?: string; before?: string; limit?: string; }): Promise; getInterestRate(params?: { ccy?: string; }): Promise; setGreeksDisplayType(params: { greeksType: 'PA' | 'BS'; }): Promise; setIsolatedMode(params: { isoMode: 'automatic' | 'autonomy'; type: 'MARGIN' | 'CONTRACTS'; }): Promise; getMaxWithdrawals(params?: { ccy?: string; }): Promise; getAccountRiskState(): Promise; 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; getQuickMarginBorrowRepayHistory(params: GetQuickMarginBorrowRepayHistoryRequest): Promise; borrowRepayVIPLoan(params: { ccy: string; side: 'borrow' | 'repay'; amt: numberInString; ordId?: string; }): Promise; getVIPLoanBorrowRepayHistory(params?: any): Promise; getVIPInterestAccrued(params: GetVIPInterestRequest): Promise; getVIPInterestDeducted(params: GetVIPInterestRequest): Promise; getVIPLoanOrders(params: GetVIPLoanOrderListRequest): Promise; getVIPLoanOrder(params: GetVIPLoanOrderDetailRequest): Promise; getBorrowInterestLimits(params?: { type?: '1' | '2'; ccy?: string; }): Promise; getFixedLoanBorrowLimit(): Promise; getFixedLoanBorrowQuote(params: GetFixedLoanBorrowQuoteRequest): Promise; 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; 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; positionBuilder(params: PositionBuilderRequest): Promise; updateRiskOffsetAmount(params: { ccy: string; clSpotInUseAmt: string; }): Promise<{ ccy: string; clSpotInUseAmt: string; }[]>; getGreeks(params?: { ccy?: string; }): Promise; getPMLimitation(params: { instType: 'SWAP' | 'FUTURES' | 'OPTION'; uly?: string; instFamily?: string; }): Promise; updateRiskOffsetType(params: { type: '1' | '2' | '3' | '4'; }): Promise<{ type: '1' | '2' | '3' | '4'; }[]>; activateOption(): Promise<{ ts: string; }[]>; setAutoLoan(params: { autoLoan: boolean; }): Promise; presetAccountLevelSwitch(params: { acctLv: '2' | '3' | '4'; lever?: string; riskOffsetType?: '1' | '2' | '3' | '4'; }): Promise; getAccountSwitchPrecheck(params: { acctLv: '1' | '2' | '3' | '4'; }): Promise; setAccountMode(params: { acctLv: AccountLevel; }): Promise; resetMMPStatus(params: { instType?: 'OPTION'; instFamily: string; }): Promise<{ result: boolean; }[]>; setMMPConfig(params: SetMMPConfigRequest): Promise; getMMPConfig(params?: { instFamily?: string; }): Promise; /** * * Orderbook trading - trade endpoints * */ submitOrder(params: OrderRequest): Promise; submitMultipleOrders(params: OrderRequest[]): Promise; cancelOrder(params: OrderIdRequest): Promise; cancelMultipleOrders(params: OrderIdRequest[]): Promise; amendOrder(params: AmendOrderRequest): Promise; amendMultipleOrders(params: AmendOrderRequest[]): Promise; closePositions(params: ClosePositionRequest): Promise; getOrderDetails(params: OrderIdRequest): Promise; getOrderList(params?: OrderHistoryRequest): Promise; /** * Get history for last 7 days */ getOrderHistory(params: OrderHistoryRequest): Promise; /** * Get history for last 3 months */ getOrderHistoryArchive(params: OrderHistoryRequest): Promise; /** * Get history for last 7 days */ getFills(params?: FillsHistoryRequest): Promise; /** * Get history for last 3 months */ getFillsHistory(params: FillsHistoryRequest): Promise; /** Get easy convert currency list */ getEasyConvertCurrencies(params?: { source?: string; }): Promise; /** * * 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>; /** Get easy convert history : Get the history and status of easy convert trades. */ getEasyConvertHistory(params?: Pagination): Promise>; /** * * 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>; /** * 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>; /** Get the history and status of one-click repay trades. */ getOneClickRepayHistory(params?: Pagination): Promise>; cancelMassOrder(params: { instType: string; instFamily: string; lockInterval?: string; }): Promise<{ result: boolean; }[]>; cancelAllAfter(params: { timeOut: string; tag?: string; }): Promise; getAccountRateLimit(): Promise; submitOrderPrecheck(params: OrderPrecheckRequest): Promise; /** * * Orderbook trading - Algo trading endpoints * */ placeAlgoOrder(params: AlgoOrderRequest): Promise; cancelAlgoOrder(params: CancelAlgoOrderRequest[]): Promise; amendAlgoOrder(params: AmendAlgoOrderRequest): Promise; cancelAdvanceAlgoOrder(params: CancelAlgoOrderRequest[]): Promise; getAlgoOrderDetails(params: AlgoOrderDetailsRequest): Promise; getAlgoOrderList(params: AlgoRecentHistoryRequest): Promise; getAlgoOrderHistory(params: AlgoLongHistoryRequest): Promise; /** * * Orderbook trading - Grid trading endpoints * */ placeGridAlgoOrder(params: GridAlgoOrderRequest): Promise; amendGridAlgoOrder(params: { algoId: string; instId: string; slTriggerPx?: string; tpTriggerPx?: string; tpRatio?: string; slRatio?: string; triggerParams?: { triggerAction?: string; triggerStrategy?: string; triggerPx?: string; stopType?: string; }[]; }): Promise; stopGridAlgoOrder(orders: StopGridAlgoOrderRequest[]): Promise; closeGridContractPosition(params: CloseContractGridPositionRequest): Promise; cancelGridContractCloseOrder(params: { algoId: string; ordId: string; }): Promise; instantTriggerGridAlgoOrder(params: { algoId: string; }): Promise<{ algoId: string; algoClOrdId: string; }[]>; getGridAlgoOrderList(params: GetGridAlgoOrdersRequest): Promise; getGridAlgoOrderHistory(params: GetGridAlgoOrdersRequest): Promise; getGridAlgoOrderDetails(params: { algoOrdType: GridAlgoOrderType; algoId: string; }): Promise; getGridAlgoSubOrders(params: { algoOrdType: GridAlgoOrderType; algoId: string; type: GridAlgoSubOrderType; groupId?: string; after?: numberInString; before?: numberInString; limit?: number; }): Promise; getGridAlgoOrderPositions(params: { algoOrdType: 'contract_grid'; algoId: string; }): Promise; spotGridWithdrawIncome(params: { algoId: string; }): Promise; computeGridMarginBalance(params: { algoId: string; type: 'add' | 'reduce'; amt?: numberInString; }): Promise; adjustGridMarginBalance(params: { algoId: string; type: 'add' | 'reduce'; amt?: numberInString; percent?: numberInString; }): Promise; adjustGridInvestment(params: { algoId: string; amt: string; }): Promise<{ algoId: string; }[]>; getGridAIParameter(params: { algoOrdType: GridAlgoOrderType; instId: string; direction: ContractGridDirection; duration?: '7D' | '30D' | '180D'; }): Promise; computeGridMinInvestment(params: { amt: string; ccy: string; }): Promise; getRSIBackTesting(params: GetRSIBackTestingRequest): Promise<{ triggerNum: string; }[]>; getMaxGridQuantity(params: MaxGridQuantityRequest): Promise<{ maxGridQty: string; }[]>; /** * * Orderbook trading - Signal bot trading endpoints * */ createSignal(params: CreateSignalRequest): Promise; getSignals(params: GetSignalsRequest): Promise; createSignalBot(params: CreateSignalBotRequest): Promise; cancelSignalBots(params: { algoId: string; }): Promise; 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; getActiveSignalBot(params: GetSignalBotRequest): Promise; getSignalBotHistory(params: GetSignalBotRequest): Promise; getSignalBotPositions(params: { algoOrdType: string; algoId: string; }): Promise; getSignalBotPositionHistory(params: GetSignalBotPositionHistoryRequest): Promise; closeSignalBotPosition(params: { algoId: string; instId: string; }): Promise<{ algoId: string; }[]>; placeSignalBotSubOrder(params: PlaceSubOrderRequest): Promise; cancelSubOrder(params: CancelSubOrderRequest): Promise; getSignalBotSubOrders(params: GetSignalBotSubOrdersRequest): Promise; getSignalBotEventHistory(params: GetSignalBotEventHistoryRequest): Promise; /** * * Orderbook trading - Recurring buy endpoints * */ submitRecurringBuyOrder(params: PlaceRecurringBuyOrderRequest): Promise; amendRecurringBuyOrder(params: AmendRecurringBuyOrderRequest): Promise; stopRecurringBuyOrder(params: { algoId: string; }): Promise; getRecurringBuyOrders(params: GetRecurringBuyOrderListRequest): Promise; getRecurringBuyOrderHistory(params: GetRecurringBuyOrderListRequest): Promise; getRecurringBuyOrderDetails(params: { algoId: string; }): Promise; getRecurringBuySubOrders(params: GetRecurringBuyOrderListRequest): Promise; /** * * Orderbook trading - Copy trading endpoints * */ getCopytradingSubpositions(params?: GetCurrentSubpositionsRequest): Promise; getCopytradingSubpositionsHistory(params?: GetSubpositionsHistoryRequest): Promise; submitCopytradingAlgoOrder(params: PlaceCTAlgoOrderRequest): Promise; 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; getCopytradingTotalProfit(params?: { instType?: 'SPOT' | 'SWAP'; }): Promise; getCopytradingUnrealizedProfit(params?: { instType?: 'SPOT' | 'SWAP'; }): Promise; 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; 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; getCopytradingBatchLeverageInfo(params: GetCTBatchLeverageInfoRequest): Promise; setCopytradingBatchLeverage(params: SetCTBatchLeverageRequest): Promise; getCopytradingMyLeadTraders(params?: { instType?: 'SWAP'; }): Promise; getCopytradingLeadTradersHistory(params?: GetCTHistoryLeadTradersRequest): Promise; getCopytradingConfig(params?: { instType?: 'SWAP'; }): Promise; getCopytradingLeadRanks(params?: GetLeadTraderRanksRequest): Promise; getCopytradingLeadWeeklyPnl(params: { instType?: 'SWAP'; uniqueCode: string; }): Promise; getCopytradingLeadDailyPnl(params: GetLeadTraderStatsRequest): Promise; getCopytradingLeadStats(params: GetLeadTraderStatsRequest): Promise; getCopytradingLeadPreferences(params: { instType?: 'SWAP'; uniqueCode: string; }): Promise; getCopytradingLeadOpenPositions(params: GetLeadTraderPositionsRequest): Promise; getCopytradingLeadPositionHistory(params: GetLeadTraderPositionsRequest): Promise; getCopyTraders(params: GetCopyTradersRequest): Promise; getCopytradingLeadPrivateRanks(params?: GetPrivateLeadTraderRanksRequest): Promise; getCopytradingLeadPrivateWeeklyPnl(params: { instType?: 'SWAP'; uniqueCode: string; }): Promise; getCopytradingPLeadPrivateDailyPnl(params: GetLeadTraderStatsRequest): Promise; geCopytradingLeadPrivateStats(params: GetLeadTraderStatsRequest): Promise; getCopytradingLeadPrivatePreferences(params: { instType?: 'SWAP'; uniqueCode: string; }): Promise; getCopytradingLeadPrivateOpenPositions(params: GetLeadTraderPositionsRequest): Promise; getCopytradingLeadPrivatePositionHistory(params: GetLeadTraderPositionsRequest): Promise; getCopyTradersPrivate(params: GetCopyTradersRequest): Promise; /** * * Orderbook trading - Market data endpoints * */ getTickers(params: { instType: InstrumentType; uly?: string; instFamily?: string; }): Promise; getTicker(params: { instId: string; }): Promise; getOrderBook(params: { instId: string; sz?: numberInString; }): Promise; getFullOrderBook(params: { instId: string; sz?: string; }): Promise; getCandles(params: CandleRequest): Promise; getHistoricCandles(params: CandleRequest): Promise; getTrades(params: { instId: string; limit?: number; }): Promise; getHistoricTrades(params: { instId: string; after?: numberInString; before?: numberInString; limit?: numberInString; type?: '1' | '2'; }): Promise; getOptionTradesByInstrument(params: { instFamily: string; }): Promise; getOptionTrades(params: GetOptionTradesRequest): Promise; get24hrTotalVolume(): Promise; /** * * Block trading - REST endpoints * */ getBlockCounterParties(): Promise; createBlockRFQ(params: CreateBlockRFQRequest): Promise; cancelBlockRFQ(params: CancelBlockRFQRequest): Promise; cancelMultipleBlockRFQs(params: CancelMultipleBlockRFQRequest): Promise; cancelAllRFQs(): Promise; executeBlockQuote(params: ExecuteBlockQuoteRequest): Promise; getQuoteProducts(): Promise; updateBlockQuoteProducts(params: SetQuoteProductsRequest): Promise<{ result: boolean; }[]>; resetBlockMmp(): Promise<{ ts: string; }[]>; updateBlockMmpConfig(params: SetMmpConfigRequest): Promise; getBlockMmpConfig(): Promise; createBlockQuote(params: CreateBlockQuoteRequest): Promise; cancelBlockQuote(params: CancelBlockQuoteRequest): Promise; cancelMultipleBlockQuotes(params: CancelMultipleBlockQuoteRequest): Promise; cancelAllBlockQuotes(): Promise; cancelAllBlockAfter(params: { timeOut: string; }): Promise<{ triggerTime: string; ts: string; }[]>; getBlockRFQs(params?: GetBlockRFQSParams): Promise; getBlockQuotes(params?: GetBlockQuoteParams): Promise; getBlockTrades(params?: any): Promise; getPublicRFQBlockTrades(params?: any): Promise; getBlockTickers(params: { instType: InstrumentType; uly?: string; }): Promise; getBlockTicker(params: { instId: string; }): Promise; getBlockPublicTrades(params: { instId: string; }): Promise; /** * * Spread trading - REST endpoints * */ submitSpreadOrder(params: PlaceSpreadOrderRequest): Promise; cancelSpreadOrder(params?: { ordId?: string; clOrdId?: string; }): Promise; cancelAllSpreadOrders(params?: { sprdId?: string; }): Promise<{ result: boolean; }[]>; updateSpreadOrder(params: UpdateSpreadOrderRequest): Promise; getSpreadOrder(params: { ordId?: string; clOrdId?: string; }): Promise; getSpreadActiveOrders(params?: GetActiveSpreadOrdersRequest): Promise; getSpreadOrdersRecent(params?: GetSpreadOrderHistoryRequest): Promise; getSpreadOrdersArchive(params?: GetSpreadOrderHistoryArchiveRequest): Promise; getSpreadTrades(params?: GetSpreadTradesRequest): Promise; getSpreads(params?: GetSpreadsRequest): Promise; getSpreadOrderBook(params: { sprdId: string; sz?: string; }): Promise; getSpreadTicker(params: { sprdId: string; }): Promise; getSpreadPublicTrades(params?: { sprdId?: string; }): Promise; getSpreadCandles(params: GetSpreadCandlesRequest): Promise; getSpreadHistoryCandles(params: GetSpreadCandlesRequest): Promise; cancelSpreadAllAfter(params: { timeOut: string; }): Promise<{ triggerTime: string; ts: string; }[]>; /** * * Public data - rest endpoints * */ getInstruments(params: { instType: InstrumentType; uly?: string; instFamily?: string; instId?: string; }): Promise; getDeliveryExerciseHistory(params: any): Promise; getOpenInterest(params: any): Promise; getFundingRate(params: any): Promise; getFundingRateHistory(params: FundingRateRequest): Promise; getMinMaxLimitPrice(params: any): Promise; getOptionMarketData(params: any): Promise; getEstimatedDeliveryExercisePrice(params: any): Promise; getDiscountRateAndInterestFreeQuota(params: any): Promise; getSystemTime(params: any): Promise; getMarkPrice(params: any): Promise; getPositionTiers(params: any): Promise; getInterestRateAndLoanQuota(params: any): Promise; getVIPInterestRateAndLoanQuota(params: any): Promise; getUnderlying(params: any): Promise; getInsuranceFund(params: any): Promise; getUnitConvert(params: UnitConvertRequest): Promise; getOptionTickBands(params: { instType: string; instFamily?: string; }): Promise; getPremiumHistory(params: GetPremiumHistoryRequest): Promise; getIndexTickers(params?: { quoteCcy?: string; instId?: string; }): Promise; getIndexCandles(params: CandleRequest): Promise; getHistoricIndexCandles(params: CandleRequest): Promise; getMarkPriceCandles(params: CandleRequest): Promise; getHistoricMarkPriceCandles(params: CandleRequest): Promise; getOracle(): Promise; getExchangeRate(): Promise; getIndexComponents(params: { index: string; }): Promise; getEconomicCalendar(params: EconomicCalendarRequest): Promise; getPublicBlockTrades(params: { instId: string; }): Promise; /** * * Trading statistics - REST endpoints * */ getSupportCoin(): Promise; getOpenInterestHistory(params: GetContractOpenInterestHistoryRequest): Promise; getTakerVolume(params: { instType: string; ccy: string; period?: string; end?: string; begin?: string; }): Promise; getContractTakerVolume(params: GetContractTakerVolumeRequest): Promise; getMarginLendingRatio(params: { ccy: string; begin?: numberInString; end?: numberInString; period: '5m' | '1H' | '1D'; }): Promise; getTopTradersAccountRatio(params: GetTopTradersContractLongShortRatioRequest): Promise; getTopTradersContractPositionRatio(params: GetTopTradersContractLongShortRatioRequest): Promise; getLongShortContractRatio(params: GetTopTradersContractLongShortRatioRequest): Promise; getLongShortRatio(params: { ccy: string; begin?: numberInString; end?: numberInString; period: '5m' | '1H' | '1D'; }): Promise; getContractsOpenInterestAndVolume(params: { ccy: string; begin?: numberInString; end?: numberInString; period: '5m' | '1H' | '1D'; }): Promise; getOptionsOpenInterestAndVolume(params: { ccy: string; period: '8H' | '1D'; }): Promise; getPutCallRatio(params: { ccy: string; period: '8H' | '1D'; }): Promise; getOpenInterestAndVolumeExpiry(params: { ccy: string; period: '8H' | '1D'; }): Promise; getOpenInterestAndVolumeStrike(params: { ccy: string; expTime: string; period: '8H' | '1D'; }): Promise; getTakerFlow(params: { ccy: string; period: '8H' | '1D'; }): Promise; /** * * Funding account - REST endpoints * */ getCurrencies(params?: { ccy?: string; }): Promise; getBalances(params?: { ccy?: string; }): Promise; getNonTradableAssets(params?: { ccy?: string; }): Promise; getAccountAssetValuation(params?: { ccy?: string; }): Promise; fundsTransfer(params: FundsTransferRequest): Promise; /** Either parameter transId or clientId is required. */ getFundsTransferState(params?: { transId?: string; clientId?: string; type?: '0' | '1' | '2'; }): Promise; getAssetBillsDetails(params?: { ccy?: string; type?: `${ASSET_BILL_TYPE}`; clientId?: string; after?: numberInString; before?: numberInString; limit?: numberInString; }): Promise; getLightningDeposits(params: { ccy: string; amt: numberInString; to?: '6' | '18'; }): Promise; getDepositAddress(params: { ccy: string; }): Promise; getDepositHistory(params?: any): Promise; submitWithdraw(params: WithdrawRequest): Promise; submitWithdrawLightning(params: { ccy: string; invoice: string; memo?: string; }): Promise; cancelWithdrawal(params: { wdId: string; }): Promise; getWithdrawalHistory(params?: WithdrawalHistoryRequest): Promise; getDepositWithdrawStatus(params: GetDepositWithdrawStatusRequest): Promise; getExchanges(): Promise; applyForMonthlyStatement(params?: { month?: string; }): Promise; getMonthlyStatement(params: { month: string; }): Promise; getConvertCurrencies(): Promise; getConvertCurrencyPair(params: { fromCcy: string; toCcy: string; }): Promise; estimateConvertQuote(params: ConvertQuoteEstimateRequest): Promise; convertTrade(params: ConvertTradeRequest): Promise; getConvertHistory(params?: any): Promise; /** * * Subaccount - REST endpoints * */ /** View sub-account list */ getSubAccountList(params?: any): Promise; resetSubAccountAPIKey(params: { subAcct: string; apiKey: string; label?: string; perm?: string; ip?: string; }): Promise; getSubAccountBalances(params: { subAcct: string; }): Promise; getSubAccountFundingBalances(params: { subAcct: string; ccy?: string; }): Promise; getSubAccountMaxWithdrawal(params: GetSubAccountMaxWithdrawalsRequest): Promise; /** History of sub-account transfer */ getSubAccountTransferHistory(params?: { ccy?: string; type?: '0' | '1'; subAcct?: string; after?: string; before?: string; limit?: string; }): Promise; getManagedSubAccountTransferHistory(params: GetManagedSubAccountTransferHistoryRequest): Promise; /** Master accounts manage the transfers between sub-accounts */ transferSubAccountBalance(params: SubAccountTransferRequest): Promise; setSubAccountTransferOutPermission(params: { subAcct: string; canTransOut: boolean; }): Promise; getSubAccountCustodyTradingList(params?: { subAcct?: string; }): Promise; setSubAccountLoanAllocation(params: SetSubAccountLoanAllocationRequest): Promise<{ result: boolean; }[]>; getSubAccountBorrowInterestAndLimit(params: { subAcct: string; ccy?: string; }): Promise; /** * * Financial product - on chain earn endpoints * */ /** Get earn offers */ getStakingOffers(params?: { productId?: string; protocolType?: 'staking' | 'defi'; ccy?: string; }): Promise; submitStake(params: { productId: string; investData: { ccy: string; amt: string; }[]; term?: string; }): Promise; redeemStake(params: { ordId: string; protocolType: 'staking' | 'defi'; allowEarlyRedeem?: boolean; }): Promise; cancelStakingRequest(params: { ordId: string; protocolType: 'staking' | 'defi'; }): Promise; /** Earn/staking get active orders */ getActiveStakingOrders(params?: { productId?: string; protocolType?: 'staking' | 'defi'; ccy?: string; state?: '8' | '13' | '9' | '1' | '2'; }): Promise; /** Earn/staking get order history */ getStakingOrderHistory(params?: { productId?: string; protocolType?: string; ccy?: string; after?: string; before?: string; limit?: string; }): Promise; /** * * Financial product - ETH staking endpoints * */ getETHStakingProductInfo(): Promise; purchaseETHStaking(params: { amt: string; }): Promise; redeemETHStaking(params: { amt: string; }): Promise; getETHStakingBalance(): Promise; getETHStakingHistory(params: { type: 'purchase' | 'redeem'; status?: 'pending' | 'success' | 'failed'; after?: string; before?: string; limit?: string; }): Promise; getAPYHistory(params: { days: string; }): Promise; /** * * Financial product - simple earn flexible endpoints * */ getSavingBalance(params?: { ccy?: string; }): Promise; savingsPurchaseRedemption(params: { ccy: string; amt: numberInString; side: 'purchase' | 'redempt'; rate: numberInString; }): Promise; setLendingRate(params: { ccy: string; rate: numberInString; }): Promise; getLendingHistory(params?: PaginatedSymbolRequest): Promise; getPublicBorrowInfo(params?: { ccy?: string; }): Promise; getPublicBorrowHistory(params?: PaginatedSymbolRequest): Promise; /** * * Financial product - simple earn fixed endpoints * */ getLendingOffers(params?: { ccy?: string; term?: string; }): Promise; getLendingAPYHistory(params: { ccy: string; term: string; }): Promise; getLendingVolume(params: { ccy: string; term: string; }): Promise; placeLendingOrder(params: LendingOrder): Promise; amendLendingOrder(params: LendingOrder): Promise; getLendingOrders(params: GetLendingOrderListRequest): Promise; getLendingSubOrders(params: GetLendingSubOrderListRequest): Promise; /** * * Financial product - Flexible loan endpoints * */ getBorrowableCurrencies(): Promise<{ borrowCcy: string; }[]>; getCollateralAssets(params?: { ccy?: string; }): Promise; getMaxLoanAmount(params: MaxLoanRequest): Promise; adjustCollateral(params: AdjustCollateralRequest): Promise<[]>; getLoanInfo(): Promise; getLoanHistory(params?: LoanHistoryRequest): Promise; getAccruedInterest(params?: AccruedInterestRequest): Promise; /** * * Affiliate endpoints * */ getInviteeDetail(params: { uid: string; }): Promise; getAffiliateRebateInfo(params: { apiKey: string; }): Promise; /** * * Status endpoints (public) * */ getSystemStatus(params: { state?: 'scheduled' | 'ongoing' | 'pre_open' | 'completed' | 'canceled'; }): Promise; /** * * 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; deleteSubAccount(params: { subAcct: string; }): Promise; createSubAccountAPIKey(params: { subAcct: string; label: string; passphrase: string; ip?: string; perm?: string; }): Promise; submitFiatWithdrawn(params: WithdrawnFiatRequest): Promise; cancelFiatWithdrawn(params: CancelFiatWithdrawnRequest): Promise; getFiatWithdrawnHistory(params: GetHistoricalFiatWithdrawnRequest): Promise; getFiatDetailsWithdrawn(params: DetailWithdrawnFiatRequest): Promise; getFiatWithdrawnPaymentMethods(params: GetFiatWithdrawnPaymentMethodsRequest): Promise; }