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