UNPKG

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
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; }>>; }