bitget-api
Version:
Complete Node.js & JavaScript SDK for Bitget V1-V3 REST APIs & WebSockets, with TypeScript & end-to-end tests.
473 lines (472 loc) • 18 kB
TypeScript
import { CreateSubAccountApiKeyRequestV3, CreateSubAccountRequestV3, DeleteSubAccountApiKeyRequestV3, FreezeSubAccountRequestV3, GetConvertRecordsRequestV3, GetDepositAddressRequestV3, GetDepositRecordsRequestV3, GetFeeRateRequestV3, GetFinancialRecordsRequestV3, GetFundingAssetsRequestV3, GetSubAccountApiKeysRequestV3, GetSubAccountListRequestV3, GetSubDepositAddressRequestV3, GetSubDepositRecordsRequestV3, GetSubTransferRecordsRequestV3, GetSubUnifiedAssetsRequestV3, GetTransferableCoinsRequestV3, GetWithdrawRecordsRequestV3, RepayRequestV3, SetDepositAccountRequestV3, SetLeverageRequestV3, SubAccountTransferRequestV3, SwitchDeductRequestV3, TransferRequestV3, UpdateSubAccountApiKeyRequestV3, WithdrawRequestV3 } from './types/request/v3/account.js';
import { BindUidRequestV3, GetEnsureCoinsRequestV3, GetLoanOrderRequestV3, GetLTVConvertRequestV3, GetProductInfosRequestV3, GetRepaidHistoryRequestV3, GetSymbolsRequestV3, GetTransferedRequestV3 } from './types/request/v3/loan.js';
import { GetCandlesRequestV3, GetContractsOiRequestV3, GetCurrentFundingRateRequestV3, GetHistoryCandlesRequestV3, GetHistoryFundingRateRequestV3, GetInstrumentsRequestV3, GetMarginLoansRequestV3, GetOpenInterestRequestV3, GetOrderBookRequestV3, GetPositionTierRequestV3, GetPublicFillsRequestV3, GetRiskReserveRequestV3, GetTickersRequestV3 } from './types/request/v3/public.js';
import { CancelStrategyOrderRequestV3, GetHistoryStrategyOrdersRequestV3, GetUnfilledStrategyOrdersRequestV3, ModifyStrategyOrderRequestV3, PlaceStrategyOrderRequestV3 } from './types/request/v3/strategy.js';
import { BatchModifyOrderRequestV3, CancelAllOrdersRequestV3, CancelBatchOrdersRequestV3, CancelOrderRequestV3, CloseAllPositionsRequestV3, CountdownCancelAllRequestV3, GetCurrentPositionRequestV3, GetFillsRequestV3, GetHistoryOrdersRequestV3, GetMaxOpenAvailableRequestV3, GetOrderInfoRequestV3, GetPositionHistoryRequestV3, GetUnfilledOrdersRequestV3, ModifyOrderRequestV3, PlaceBatchOrdersRequestV3, PlaceOrderRequestV3 } from './types/request/v3/trade.js';
import { APIResponse } from './types/response/v1/shared.js';
import { AccountAssetsV3, AccountSettingsV3, ConvertRecordV3, CreateSubAccountApiKeyResponseV3, CreateSubAccountResponseV3, DepositAddressV3, DepositRecordV3, FinancialRecordV3, FundingAssetV3, PaymentCoinV3, RepayableCoinV3, RepayResponseV3, SubAccountApiKeyV3, SubAccountV3, SubTransferRecordV3, SubUnifiedAssetV3, TransferResponseV3, UpdateSubAccountApiKeyResponseV3, WithdrawRecordV3, WithdrawResponseV3 } from './types/response/v3/account.js';
import { BindUidResponseV3, CoinInfoV3, LoanOrderV3, LoanProductInfoV3, LoanSymbolsV3, LoanTransfersV3, LTVConvertResponseV3, RepaidHistoryItemV3 } from './types/response/v3/loan.js';
import { CandlestickV3, ContractOiV3, CurrentFundingRateV3, DiscountRateV3, HistoryFundingRateV3, InstrumentV3, MarginLoanV3, OpenInterestV3, OrderBookV3, PositionTierV3, ProofOfReservesV3, PublicFillV3, RiskReserveV3, TickerV3 } from './types/response/v3/public.js';
import { ModifyStrategyOrderResponseV3, PlaceStrategyOrderResponseV3, StrategyOrderV3 } from './types/response/v3/strategy.js';
import { BatchModifyOrderResponseV3, CancelAllOrdersResponseV3, CancelBatchOrdersResponseV3, CancelOrderResponseV3, CloseAllPositionsResponseV3, CurrentPositionV3, FillV3, GetMaxOpenAvailableResponseV3, HistoryOrderV3, ModifyOrderResponseV3, OrderInfoV3, PlaceBatchOrdersResponseV3, PlaceOrderResponseV3, PositionAdlRankV3, PositionHistoryV3, UnfilledOrderV3 } from './types/response/v3/trade.js';
import BaseRestClient from './util/BaseRestClient.js';
/**
* REST API client for all V3 endpoints
*/
export declare class RestClientV3 extends BaseRestClient {
getClientType(): "v3";
/**
*
* 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>;
fetchServerTime(): Promise<number>;
/**
*
* Public endpoints
*
*/
getServerTime(): Promise<APIResponse<{
serverTime: string;
}>>;
/**
*
* =====Market======= endpoints
*
*/
/**
* Get Instruments
*/
getInstruments(params: GetInstrumentsRequestV3): Promise<APIResponse<InstrumentV3[]>>;
/**
* Get Tickers
*/
getTickers(params: GetTickersRequestV3): Promise<APIResponse<TickerV3[]>>;
/**
* Get OrderBook
*/
getOrderBook(params: GetOrderBookRequestV3): Promise<APIResponse<OrderBookV3>>;
/**
* Get Recent Public Fills
*/
getFills(params: GetPublicFillsRequestV3): Promise<APIResponse<PublicFillV3[]>>;
/**
* Get Proof Of Reserves
*/
getProofOfReserves(): Promise<APIResponse<ProofOfReservesV3>>;
/**
* Get Open Interest
*/
getOpenInterest(params: GetOpenInterestRequestV3): Promise<APIResponse<OpenInterestV3>>;
/**
* Get Kline/Candlestick
*/
getCandles(params: GetCandlesRequestV3): Promise<APIResponse<CandlestickV3[]>>;
/**
* Get Kline/Candlestick History
*/
getHistoryCandles(params: GetHistoryCandlesRequestV3): Promise<APIResponse<CandlestickV3[]>>;
/**
* Get Current Funding Rate
*/
getCurrentFundingRate(params: GetCurrentFundingRateRequestV3): Promise<APIResponse<CurrentFundingRateV3[]>>;
/**
* Get Funding Rate History
*/
getHistoryFundingRate(params: GetHistoryFundingRateRequestV3): Promise<APIResponse<HistoryFundingRateV3[]>>;
/**
* Get Risk Reserve
*/
getRiskReserve(params: GetRiskReserveRequestV3): Promise<APIResponse<RiskReserveV3>>;
/**
* Get Discount Rate
*/
getDiscountRate(): Promise<APIResponse<DiscountRateV3[]>>;
/**
* Get Margin Loan
*/
getMarginLoans(params: GetMarginLoansRequestV3): Promise<APIResponse<MarginLoanV3>>;
/**
* Get Position Tier
*/
getPositionTier(params: GetPositionTierRequestV3): Promise<APIResponse<PositionTierV3[]>>;
/**
* Get Open Interest Limit
*/
getContractsOi(params: GetContractsOiRequestV3): Promise<APIResponse<ContractOiV3[]>>;
/**
*
* =====Account======= endpoints
*
*/
/**
* Get Account Assets
*/
getBalances(): Promise<APIResponse<AccountAssetsV3>>;
/**
* Get Fund Account Assets
*/
getFundingAssets(params?: GetFundingAssetsRequestV3): Promise<APIResponse<FundingAssetV3[]>>;
/**
* Get Account Info
*/
getAccountSettings(): Promise<APIResponse<AccountSettingsV3>>;
/**
* Set Leverage
*/
setLeverage(params: SetLeverageRequestV3): Promise<APIResponse<string>>;
/**
* Set Holding Mode
*/
setHoldMode(params: {
holdMode: 'one_way_mode' | 'hedge_mode';
}): Promise<APIResponse<string>>;
/**
* Get Financial Records
*/
getFinancialRecords(params: GetFinancialRecordsRequestV3): Promise<APIResponse<{
list: FinancialRecordV3[];
cursor: string;
}>>;
/**
* Get Repayable Coins
*/
getRepayableCoins(): Promise<APIResponse<{
repayableCoinList: RepayableCoinV3[];
maxSelection: string;
}>>;
/**
* Get Payment Coins
*/
getPaymentCoins(): Promise<APIResponse<{
paymentCoinList: PaymentCoinV3[];
maxSelection: string;
}>>;
/**
* Repay
*/
submitRepay(params: RepayRequestV3): Promise<APIResponse<RepayResponseV3>>;
/**
* Get Convert Records
*/
getConvertRecords(params: GetConvertRecordsRequestV3): Promise<APIResponse<{
list: ConvertRecordV3[];
cursor: string;
}>>;
/**
* Set up deposit account - Configure default recharge account for a certain symbol
* This configuration item remains valid for a long time. That is, once a user sets a default
* recharge account for a certain symbol, it will be retained permanently, and there is no need to reconfigure it.
* Permission: UTA mgt. (read & write)
*/
setDepositAccount(params: SetDepositAccountRequestV3): Promise<APIResponse<string>>;
/**
* Switch Deduct - Set BGB deduction
*/
switchDeduct(params: SwitchDeductRequestV3): Promise<APIResponse<string>>;
/**
* Get Deduct Info - Get BGB deduction status
*/
getDeductInfo(): Promise<APIResponse<{
deduct: 'on' | 'off';
}>>;
/**
* Get Trading Fee Rate
*/
getFeeRate(params: GetFeeRateRequestV3): Promise<APIResponse<{
makerFeeRate: string;
takerFeeRate: string;
}>>;
/**
* Switch Account - Switch to classic account mode
* Only supports parent accounts.
* This endpoint is only used for switching to classic account mode.
* Please note that since the account switching process takes approximately 1 minute,
* the successful response you receive only indicates that the request has been received,
* and does not mean that the account has been successfully switched to the classic account.
* Please use the query switching status interface to confirm whether the account switching is successful.
*/
downgradeAccountToClassic(): Promise<APIResponse<null>>;
/**
* Get Switch Status - Get account switching status
* Only supports parent accounts.
*/
getUnifiedAccountSwitchStatus(): Promise<APIResponse<{
status: 'processProcessing' | 'successSuccess' | 'failFailed';
}>>;
/**
*
* =====SubAccount======= endpoints
*
*/
/**
* Create Sub-account
*/
createSubAccount(params: CreateSubAccountRequestV3): Promise<APIResponse<CreateSubAccountResponseV3>>;
/**
* Freeze/Unfreeze Sub-account
*/
freezeSubAccount(params: FreezeSubAccountRequestV3): Promise<APIResponse<object>>;
/**
* Get Sub-account Unified Account Assets
*/
getSubUnifiedAssets(params?: GetSubUnifiedAssetsRequestV3): Promise<APIResponse<SubUnifiedAssetV3[]>>;
/**
* Get Sub-account List
*/
getSubAccountList(params?: GetSubAccountListRequestV3): Promise<APIResponse<{
list: SubAccountV3[];
hasNext: boolean;
cursor: string;
}>>;
/**
* Create Sub-account API Key
*/
createSubAccountApiKey(params: CreateSubAccountApiKeyRequestV3): Promise<APIResponse<CreateSubAccountApiKeyResponseV3>>;
/**
* Modify Sub-account API Key
*/
updateSubAccountApiKey(params: UpdateSubAccountApiKeyRequestV3): Promise<APIResponse<UpdateSubAccountApiKeyResponseV3>>;
/**
* Delete Sub-account API Key
*/
deleteSubAccountApiKey(params: DeleteSubAccountApiKeyRequestV3): Promise<APIResponse<any>>;
/**
* Get Sub-account API Keys
*/
getSubAccountApiKeys(params: GetSubAccountApiKeysRequestV3): Promise<APIResponse<{
items: SubAccountApiKeyV3[];
hasNext: boolean;
cursor: string;
}>>;
/**
*
* =====Transfer======= endpoints
*
*/
/**
* Get Transferable Coins
*/
getTransferableCoins(params: GetTransferableCoinsRequestV3): Promise<APIResponse<string[]>>;
/**
* Transfer
*/
submitTransfer(params: TransferRequestV3): Promise<APIResponse<TransferResponseV3>>;
/**
* Main-Sub Account Transfer
*/
subAccountTransfer(params: SubAccountTransferRequestV3): Promise<APIResponse<{
transferId: string;
clientOid: string;
}>>;
/**
* Get Main-Sub Transfer Records
*/
getSubTransferRecords(params?: GetSubTransferRecordsRequestV3): Promise<APIResponse<{
items: SubTransferRecordV3[];
cursor: string;
}>>;
/**
*
* =====Deposit======= endpoints
*
*/
/**
* Get Deposit Address
*/
getDepositAddress(params: GetDepositAddressRequestV3): Promise<APIResponse<DepositAddressV3>>;
/**
* Get Sub Deposit Address
*/
getSubDepositAddress(params: GetSubDepositAddressRequestV3): Promise<APIResponse<DepositAddressV3>>;
/**
* Get Deposit Records
*/
getDepositRecords(params: GetDepositRecordsRequestV3): Promise<APIResponse<DepositRecordV3[]>>;
/**
* Get Sub Deposit Records
*/
getSubDepositRecords(params: GetSubDepositRecordsRequestV3): Promise<APIResponse<DepositRecordV3[]>>;
/**
*
* =====Withdraw======= endpoints
*
*/
/**
* Withdraw - Includes on-chain withdrawals and internal transfers
*/
submitWithdraw(params: WithdrawRequestV3): Promise<APIResponse<WithdrawResponseV3>>;
/**
* Get Withdraw Records
*/
getWithdrawRecords(params: GetWithdrawRecordsRequestV3): Promise<APIResponse<WithdrawRecordV3[]>>;
/**
*
* =====Trade======= endpoints
*
*/
/**
* Place Order
*/
submitNewOrder(params: PlaceOrderRequestV3): Promise<APIResponse<PlaceOrderResponseV3>>;
/**
* Modify Order
*/
modifyOrder(params: ModifyOrderRequestV3): Promise<APIResponse<ModifyOrderResponseV3>>;
/**
* Cancel Order
*/
cancelOrder(params: CancelOrderRequestV3): Promise<APIResponse<CancelOrderResponseV3>>;
/**
* Batch Order
*/
placeBatchOrders(params: PlaceBatchOrdersRequestV3[]): Promise<APIResponse<PlaceBatchOrdersResponseV3[]>>;
/**
* Batch Modify Orders
*/
batchModifyOrders(params: BatchModifyOrderRequestV3[]): Promise<APIResponse<BatchModifyOrderResponseV3[]>>;
/**
* Batch Cancel
*/
cancelBatchOrders(params: CancelBatchOrdersRequestV3[]): Promise<APIResponse<CancelBatchOrdersResponseV3[]>>;
/**
* Cancel All Orders
*/
cancelAllOrders(params: CancelAllOrdersRequestV3): Promise<APIResponse<CancelAllOrdersResponseV3>>;
/**
* Close All Positions
*/
closeAllPositions(params: CloseAllPositionsRequestV3): Promise<APIResponse<CloseAllPositionsResponseV3>>;
/**
* Get Order Details
*/
getOrderInfo(params: GetOrderInfoRequestV3): Promise<APIResponse<OrderInfoV3>>;
/**
* Get Open Orders
*/
getUnfilledOrders(params?: GetUnfilledOrdersRequestV3): Promise<APIResponse<{
list: UnfilledOrderV3[];
cursor: string;
}>>;
/**
* Get Order History
*/
getHistoryOrders(params: GetHistoryOrdersRequestV3): Promise<APIResponse<{
list: HistoryOrderV3[];
cursor: string;
}>>;
/**
* Get Fill History
*/
getTradeFills(params?: GetFillsRequestV3): Promise<APIResponse<{
list: FillV3[];
cursor: string;
}>>;
/**
* Get Position Info
*/
getCurrentPosition(params: GetCurrentPositionRequestV3): Promise<APIResponse<{
list: CurrentPositionV3[];
}>>;
/**
* Get Positions History
*/
getPositionHistory(params: GetPositionHistoryRequestV3): Promise<APIResponse<{
list: PositionHistoryV3[];
cursor: string;
}>>;
/**
* Get Max Open Available
*/
getMaxOpenAvailable(params: GetMaxOpenAvailableRequestV3): Promise<APIResponse<GetMaxOpenAvailableResponseV3>>;
/**
* Get Position ADL Rank - Get position auto-deleveraging ranking
*/
getPositionAdlRank(): Promise<APIResponse<PositionAdlRankV3[]>>;
/**
* CountDown Cancel All
*/
countdownCancelAll(params: CountdownCancelAllRequestV3): Promise<APIResponse<string>>;
/**
*
* =====Inst Loan======= endpoints
*
*/
/**
* Get Transferred Quantity
*/
getLoanTransfered(params: GetTransferedRequestV3): Promise<APIResponse<LoanTransfersV3>>;
/**
* Get Trade Symbols
*/
getLoanSymbols(params: GetSymbolsRequestV3): Promise<APIResponse<LoanSymbolsV3>>;
/**
* Get Risk Unit
*/
getLoanRiskUnit(): Promise<APIResponse<{
riskUnitId: string[];
}>>;
/**
* Get Repayment Orders
*/
getLoanRepaidHistory(params?: GetRepaidHistoryRequestV3): Promise<APIResponse<RepaidHistoryItemV3[]>>;
/**
* Get Product Info
*/
getLoanProductInfo(params: GetProductInfosRequestV3): Promise<APIResponse<LoanProductInfoV3>>;
/**
* Get Loan Orders
*/
getLoanOrder(params?: GetLoanOrderRequestV3): Promise<APIResponse<LoanOrderV3[]>>;
/**
* Get LTV
*/
getLoanLTVConvert(params?: GetLTVConvertRequestV3): Promise<APIResponse<LTVConvertResponseV3>>;
/**
* Get Margin Coin Info
*/
getLoanMarginCoinInfo(params: GetEnsureCoinsRequestV3): Promise<APIResponse<{
productId: string;
coinInfo: CoinInfoV3[];
}>>;
/**
* Bind/Unbind UID to Risk Unit
*/
bindLoanUid(params: BindUidRequestV3): Promise<APIResponse<BindUidResponseV3>>;
/**
*
* =====Strategy======= endpoints
*
*/
/**
* Place Strategy Order
*/
submitStrategyOrder(params: PlaceStrategyOrderRequestV3): Promise<APIResponse<PlaceStrategyOrderResponseV3>>;
/**
* Modify Strategy Order
*/
modifyStrategyOrder(params: ModifyStrategyOrderRequestV3): Promise<APIResponse<ModifyStrategyOrderResponseV3>>;
/**
* Cancel Strategy Order
*/
cancelStrategyOrder(params: CancelStrategyOrderRequestV3): Promise<APIResponse<null>>;
/**
* Get Unfilled Strategy Orders
*/
getUnfilledStrategyOrders(params: GetUnfilledStrategyOrdersRequestV3): Promise<APIResponse<StrategyOrderV3[]>>;
/**
* Get Strategy Order History
*/
getHistoryStrategyOrders(params: GetHistoryStrategyOrdersRequestV3): Promise<APIResponse<{
list: StrategyOrderV3[];
cursor?: string;
}>>;
}