UNPKG

kucoin-api

Version:

Complete & robust Node.js SDK for Kucoin's REST APIs and WebSockets, with TypeScript & strong end to end tests.

163 lines (162 loc) 6.2 kB
import { BaseRestClient } from './lib/BaseRestClient.js'; import { RestClientType } from './lib/requestUtils.js'; import { BrokerTransferRequest, CreateBrokerSubAccountApiRequest, DeleteBrokerSubAccountApiRequest, GetBrokerDepositListRequest, GetBrokerInfoRequest, GetBrokerSubAccountApisRequest, GetBrokerSubAccountsRequest, UpdateBrokerSubAccountApiRequest } from './types/request/broker.types.js'; import { BrokerDepositRecord, BrokerInfo, BrokerSubAccountApi, BrokerTransferHistory, BrokerWithdrawalRecord, CreateBrokerSubAccountApiResponse, CreateBrokerSubAccountResponse, GetBrokerSubAccountsResponse } from './types/response/broker.types.js'; import { APISuccessResponse } from './types/response/shared.types.js'; /** * */ export declare class BrokerClient extends BaseRestClient { getClientType(): RestClientType; /** * Get Broker Info * * This endpoint supports querying the basic information of the current Broker */ getBrokerInfo(params: GetBrokerInfoRequest): Promise<APISuccessResponse<BrokerInfo>>; /** * Add SubAccount * * This endpoint supports Broker users to create sub-accounts. * Note that the account name is unique across the exchange. * It is recommended to add a special identifier to prevent name duplication. */ createSubAccount(params: { accountName: string; }): Promise<APISuccessResponse<CreateBrokerSubAccountResponse>>; /** * Get SubAccount * * This interface supports querying sub-accounts created by Broker. * Returns paginated results with default page size of 20 (max 100). */ getSubAccounts(params: GetBrokerSubAccountsRequest): Promise<APISuccessResponse<GetBrokerSubAccountsResponse>>; /** * Add SubAccount API * * This interface supports the creation of Broker sub-account APIKEY. * Supports up to 20 IPs in the whitelist. * Only General, Spot, and Futures permissions can be set. * Label must be between 4 and 32 characters. */ createSubAccountApi(params: CreateBrokerSubAccountApiRequest): Promise<APISuccessResponse<CreateBrokerSubAccountApiResponse>>; /** * Get SubAccount API * * This interface supports querying the Broker's sub-account APIKEYs. * Can optionally filter by specific apiKey. */ getSubAccountApis(params: GetBrokerSubAccountApisRequest): Promise<APISuccessResponse<BrokerSubAccountApi[]>>; /** * Modify SubAccount API * * This interface supports modifying the Broker's sub-account APIKEY. * Supports up to 20 IPs in the whitelist. * Only General, Spot, and Futures permissions can be set. * Label must be between 4 and 32 characters. */ updateSubAccountApi(params: UpdateBrokerSubAccountApiRequest): Promise<APISuccessResponse<BrokerSubAccountApi>>; /** * Delete SubAccount API * * This interface supports deleting Broker's sub-account APIKEY. */ deleteSubAccountApi(params: DeleteBrokerSubAccountApiRequest): Promise<APISuccessResponse<boolean>>; /** * Transfer * * This endpoint supports fund transfer between Broker account and Broker sub-accounts. * Please be aware that withdrawal from sub-account is not directly supported. * Broker has to transfer funds from broker sub-account to broker account to initiate the withdrawals. * * Direction: * - OUT: Broker account is transferred to Broker sub-account * - IN: Broker sub-account is transferred to Broker account * * Account Types: * - MAIN: Funding account * - TRADE: Spot trading account */ submitTransfer(params: BrokerTransferRequest): Promise<APISuccessResponse<{ orderId: string; }>>; /** * Get Transfer History * * This endpoint supports querying transfer records of the broker itself and its created sub-accounts. * * Account Types: * - MAIN: Funding account * - TRADE: Spot trading account * - CONTRACT: Contract account * - MARGIN: Margin account * - ISOLATED: Isolated margin account * * Status: * - PROCESSING: Processing * - SUCCESS: Successful * - FAILURE: Failed */ getTransferHistory(params: { orderId: string; }): Promise<APISuccessResponse<BrokerTransferHistory>>; /** * Get Deposit List * * This endpoint can obtain the deposit records of each sub-account under the ND Broker. * Default limit is 1000 records (max 1000). * Results are sorted in descending order by default. * * Status: * - PROCESSING: Processing * - SUCCESS: Successful * - FAILURE: Failed */ getDeposits(params?: GetBrokerDepositListRequest): Promise<APISuccessResponse<BrokerDepositRecord[]>>; /** * Get Deposit Detail * * This endpoint supports querying the deposit record of sub-accounts created by a Broker * (excluding main account of nd broker). * * Status: * - PROCESSING: Processing * - SUCCESS: Successful * - FAILURE: Failed */ getDeposit(params: { currency: string; hash: string; }): Promise<APISuccessResponse<BrokerDepositRecord>>; /** * Get Withdrawal Detail * * This endpoint supports querying the withdrawal records of sub-accounts created by a Broker * (excluding main account of nd broker). * * Status: * - PROCESSING: Processing * - WALLET_PROCESSING: Wallet Processing * - REVIEW: Under Review * - SUCCESS: Successful * - FAILURE: Failed */ getWithdrawal(params: { withdrawalId: string; }): Promise<APISuccessResponse<BrokerWithdrawalRecord>>; /** * Get Broker Rebate * * This interface supports downloading Broker rebate orders. * Returns a URL to download a CSV file containing the rebate data. * The URL is valid for 1 day. * Maximum interval between begin and end dates is 6 months. */ getBrokerRebate(params: { begin: string; end: string; tradeType: '1' | '2'; }): Promise<APISuccessResponse<{ url: string; }>>; }