Use this file to discover all available pages before exploring further.
The SpotClient funding methods cover the complete lifecycle of moving funds into, out of, and between KuCoin accounts. This includes creating and querying deposit addresses (using the modern V3 API), tracking deposit history, submitting and cancelling withdrawals (including the recommended V3 withdrawal endpoint), checking withdrawal quotas, and transferring balances between your main, trade, margin, futures, and sub-accounts via the flexible submitFlexTransfer endpoint. All funding endpoints require authentication.
Prefer createDepositAddressV3, getDepositAddressesV3, and submitWithdrawV3 for all new integrations. The V1/V2 deposit address and submitWithdraw methods are deprecated.
Creates a new deposit address for the specified currency and chain. If a deposit address already exists, this returns the existing address.Endpoint:POST api/v3/deposit-address/create โ ๐ Auth required
Pre-set amount for fixed-amount deposit addresses (supported on select networks).
import { SpotClient } from 'kucoin-api';const client = new SpotClient({ apiKey: 'apiKeyHere', apiSecret: 'apiSecretHere', apiPassphrase: 'apiPassPhraseHere',});const address = await client.createDepositAddressV3({ currency: 'USDT', chain: 'TRX', to: 'main',});console.log('Deposit address:', address.data.address);
getDepositAddressesV3(params)
Returns all deposit addresses for a currency. If the returned data is empty, call createDepositAddressV3 first.Endpoint:GET api/v3/deposit-addresses โ ๐ Auth required
Returns the current withdrawal quota for a currency: minimum/maximum amounts, available quota, and applicable fees.Endpoint:GET api/v1/withdrawals/quotas โ ๐ Auth required
Submits a withdrawal request using the V3 API, which supports address-based, UID, email, and phone number withdrawal targets.Endpoint:POST api/v3/withdrawals โ ๐ Auth required
Cancels a pending withdrawal. Only withdrawals in PROCESSING status can be cancelled.Endpoint:DELETE api/v1/withdrawals/{withdrawalId} โ ๐ Auth required
Additional tag for isolated margin accounts (the trading pair symbol).
submitFlexTransfer(params)
Transfers funds between accounts in a flexible manner โ including master-to-sub, sub-to-master, and internal transfers across account types. This is the recommended transfer endpoint for all new integrations.Endpoint:POST api/v3/accounts/universal-transfer โ ๐ Auth required
Isolated-margin symbol for the destination account.
import { SpotClient } from 'kucoin-api';const client = new SpotClient({ apiKey: 'apiKeyHere', apiSecret: 'apiSecretHere', apiPassphrase: 'apiPassPhraseHere',});// Transfer USDT from main account to HF trade accountconst transfer = await client.submitFlexTransfer({ clientOid: 'flex-transfer-001', currency: 'USDT', amount: '100', fromAccountType: 'MAIN', toAccountType: 'TRADE_HF', type: 'INTERNAL',});console.log('Transfer order ID:', transfer.data.orderId);
submitInnerTransfer(params)
Transfers funds between account types for the same user (e.g. main to trade, trade to margin).Endpoint:POST api/v2/accounts/inner-transfer โ ๐ Auth required