Retrieve Isolated Margin Account Information (Implementation)
Source:R/impl_account_account_and_funding.R
get_isolated_margin_account_impl.Rd
Fetches isolated margin account details from the KuCoin API asynchronously for specific trading pairs. This internal function is designed for use within an R6 class and is not intended for direct end-user consumption, segregating collateral by pair.
Usage
get_isolated_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 toget_api_keys()
.
- base_url
Character string representing the base URL for the API. Defaults to
get_base_url()
.- query
Named list of query parameters:
symbol
(character, optional): Trading pair (e.g.,"BTC-USDT"
).quoteCurrency
(character, optional): Quote currency (e.g.,"USDT"
,"KCS"
,"BTC"
; default"USDT"
).queryType
(character, optional): Type ("ISOLATED"
,"ISOLATED_V2"
,"ALL"
; default"ISOLATED"
).
Value
Promise resolving to a named list containing:
summary
:data.table
with:totalAssetOfQuoteCurrency
(character): Total assets.totalLiabilityOfQuoteCurrency
(character): Total liabilities.timestamp
(integer): Timestamp in milliseconds.datetime
(POSIXct): Converted datetime.
assets
:data.table
with:symbol
(character): Trading pair.status
(character): Position status.debtRatio
(character): Debt ratio.base_currency
(character): Base currency code.base_borrowEnabled
(logical): Base borrowing enabled.base_transferInEnabled
(logical): Base transfer-in enabled.base_liability
(character): Base liability.base_total
(character): Base total funds.base_available
(character): Base available funds.base_hold
(character): Base funds on hold.base_maxBorrowSize
(character): Base max borrowable.quote_currency
(character): Quote currency code.quote_borrowEnabled
(logical): Quote borrowing enabled.quote_transferInEnabled
(logical): Quote transfer-in enabled.quote_liability
(character): Quote liability.quote_total
(character): Quote total funds.quote_available
(character): Quote available funds.quote_hold
(character): Quote funds on hold.quote_maxBorrowSize
(character): Quote max borrowable.
Details
Workflow Overview
URL Construction: Combines the base URL (from
get_base_url()
or providedbase_url
) with/api/v3/isolated/accounts
and a query string frombuild_query()
.Header Preparation: Constructs authentication headers using
build_headers()
.API Request: Sends a GET request with a 3-second timeout via
httr::GET()
.Response Processing: Processes the response with
process_kucoin_response()
, converting the"data"
field intosummary
and flattenedassets
data.table
objects, adding adatetime
column.
Examples
if (FALSE) { # \dontrun{
keys <- get_api_keys()
base_url <- "https://api.kucoin.com"
query <- list(symbol = "BTC-USDT", quoteCurrency = "USDT")
main_async <- coro::async(function() {
result <- await(get_isolated_margin_account_impl(keys = keys, base_url = base_url, query = query))
print(result$summary)
print(result$assets)
})
main_async()
while (!later::loop_empty()) later::run_now()
} # }