Skip to contents

Fetches cross margin account details from the KuCoin API asynchronously, including overall metrics and individual accounts. This internal function is designed for use within an R6 class and is not intended for direct end-user consumption.

Usage

get_cross_margin_account_impl(
  keys = get_api_keys(),
  base_url = get_base_url(),
  query = list(),
  .__coro_env_parent__ = <environment>
)

Arguments

keys

List containing API configuration parameters from get_api_keys(), including:

  • api_key: Character string; your KuCoin API key.

  • api_secret: Character string; your KuCoin API secret.

  • api_passphrase: Character string; your KuCoin API passphrase.

  • key_version: Character string; API key version (e.g., "2"). Defaults to get_api_keys().

base_url

Character string representing the base URL for the API. Defaults to get_base_url().

query

Named list of query parameters:

  • quoteCurrency (character, optional): Quote currency (e.g., "USDT", "KCS", "BTC"; default "USDT").

  • queryType (character, optional): Account type ("MARGIN", "MARGIN_V2", "ALL"; default "MARGIN").

Value

Promise resolving to a named list containing:

  • summary: data.table with:

    • totalAssetOfQuoteCurrency (character): Total assets.

    • totalLiabilityOfQuoteCurrency (character): Total liabilities.

    • debtRatio (character): Debt ratio.

    • status (character): Position status (e.g., "EFFECTIVE").

  • accounts: data.table with:

    • currency (character): Currency code.

    • total (character): Total funds.

    • available (character): Available funds.

    • hold (character): Funds on hold.

    • liability (character): Liabilities.

    • maxBorrowSize (character): Maximum borrowable amount.

    • borrowEnabled (logical): Borrowing enabled.

    • transferInEnabled (logical): Transfer-in enabled.

Details

Workflow Overview

  1. URL Construction: Combines the base URL (from get_base_url() or provided base_url) with /api/v3/margin/accounts and a query string from build_query().

  2. Header Preparation: Constructs authentication headers using build_headers().

  3. API Request: Sends a GET request with a 3-second timeout via httr::GET().

  4. Response Processing: Processes the response with process_kucoin_response(), splitting the "data" field into summary and accounts data.table objects.

API Endpoint

GET https://api.kucoin.com/api/v3/margin/accounts

Usage

Utilised internally by KucoinAccountAndFunding to provide cross margin account data.

Official Documentation

KuCoin Get Account Cross Margin

Examples

if (FALSE) { # \dontrun{
keys <- get_api_keys()
base_url <- "https://api.kucoin.com"
query <- list(quoteCurrency = "USDT", queryType = "MARGIN")
main_async <- coro::async(function() {
  result <- await(get_cross_margin_account_impl(keys = keys, base_url = base_url, query = query))
  print(result$summary)
  print(result$accounts)
})
main_async()
while (!later::loop_empty()) later::run_now()
} # }