KucoinMarginData: Margin Market Information
KucoinMarginData: Margin Market Information
Details
Provides methods for querying margin-specific market data including supported symbols, configuration, risk limits, and collateral ratios. Inherits from KucoinBase.
Purpose and Scope
Cross Margin Symbols: Query symbols available for cross margin trading.
Isolated Margin Symbols: Query symbols available for isolated margin trading.
Margin Config: Retrieve global margin configuration (max leverage, liquidation ratios).
Collateral Ratios: Query collateral ratio tiers by currency.
Risk Limits: Query borrow/hold limits per currency or symbol.
Usage
Most methods are public (no auth required). get_risk_limit() requires
authentication with General permission.
Super class
kucoin::KucoinBase -> KucoinMarginData
Methods
Inherited methods
Method get_cross_margin_symbols()
Get Cross Margin Symbols
Retrieves symbols (trading pairs) available for cross margin trading, including increment sizes, min/max order sizes, and fee information.
curl
curl --location --request GET \
'https://api.kucoin.com/api/v3/margin/symbols?symbol=BTC-USDT' \
--header 'KC-API-KEY: your-api-key' \
--header 'KC-API-SIGN: your-signature' \
--header 'KC-API-TIMESTAMP: 1729176273859' \
--header 'KC-API-PASSPHRASE: your-passphrase' \
--header 'KC-API-KEY-VERSION: 2'JSON Response
{
"code": "200000",
"data": {
"timestamp": 1772993986642,
"items": [
{
"symbol": "BTC-USDT",
"name": "BTC-USDT",
"enableTrading": true,
"market": "USDS",
"baseCurrency": "BTC",
"quoteCurrency": "USDT",
"baseIncrement": "0.00000001",
"baseMinSize": "0.00001",
"baseMaxSize": "10000000000",
"quoteIncrement": "0.000001",
"quoteMinSize": "0.1",
"quoteMaxSize": "99999999",
"priceIncrement": "0.1",
"feeCurrency": "USDT",
"priceLimitRate": "0.01",
"minFunds": "0.1"
}
]
}
}Usage
KucoinMarginData$get_cross_margin_symbols(query = list())Arguments
queryNamed list; optional. Supported keys:
symbol(character): Filter by specific symbol (e.g.,"BTC-USDT").
Method get_isolated_margin_symbols()
Get Isolated Margin Symbols
Retrieves symbols available for isolated margin trading, including leverage limits, debt ratios, and borrowing parameters per pair.
JSON Response
{
"code": "200000",
"data": [
{
"symbol": "BTC-USDT",
"symbolName": "BTC-USDT",
"baseCurrency": "BTC",
"quoteCurrency": "USDT",
"maxLeverage": 10,
"flDebtRatio": "0.97",
"tradeEnable": true,
"baseBorrowEnable": true,
"quoteBorrowEnable": true,
"baseTransferInEnable": true,
"quoteTransferInEnable": true
}
]
}Method get_margin_config()
Get Margin Configuration
Retrieves global margin configuration including maximum leverage, warning debt ratio, liquidation debt ratio, and list of supported currencies.
Returns
data.table (or promise<data.table> if constructed with async = TRUE) with one row
per supported currency, containing:
currency(character): Supported margin currency (e.g.,"BTC","ETH").max_leverage(numeric): Maximum leverage.warning_debt_ratio(character): Warning debt ratio.liq_debt_ratio(character): Liquidation debt ratio.
Method get_collateral_ratio()
Get Collateral Ratios
Retrieves collateral ratio tiers for margin currencies. Each currency has multiple tiers based on collateral amount ranges.
curl
curl --location --request GET \
'https://api.kucoin.com/api/v3/margin/collateralRatio?currencyList=BTC,ETH' \
--header 'KC-API-KEY: your-api-key' \
--header 'KC-API-SIGN: your-signature' \
--header 'KC-API-TIMESTAMP: 1729176273859' \
--header 'KC-API-PASSPHRASE: your-passphrase' \
--header 'KC-API-KEY-VERSION: 2'Usage
KucoinMarginData$get_collateral_ratio(query = list())Arguments
queryNamed list; optional. Supported keys:
currencyList(character): Comma-separated currencies (e.g.,"BTC,ETH").
Method get_risk_limit()
Get Margin Risk Limit
Retrieves borrow and hold limits for margin currencies. Supports both cross and isolated margin. This endpoint requires authentication.
curl
curl --location --request GET \
'https://api.kucoin.com/api/v3/margin/currencies?isIsolated=false¤cy=BTC' \
--header 'KC-API-KEY: your-api-key' \
--header 'KC-API-SIGN: your-signature' \
--header 'KC-API-TIMESTAMP: 1729176273859' \
--header 'KC-API-PASSPHRASE: your-passphrase' \
--header 'KC-API-KEY-VERSION: 2'Usage
KucoinMarginData$get_risk_limit(isIsolated, query = list())Arguments
isIsolatedLogical;
TRUEfor isolated margin limits,FALSEfor cross margin.queryNamed list; optional additional filters. Supported keys:
currency(character): Currency filter (cross margin).symbol(character): Symbol filter (isolated margin only).
Examples
if (FALSE) { # \dontrun{
margin_data <- KucoinMarginData$new()
# Check available cross margin trading pairs
symbols <- margin_data$get_cross_margin_symbols()
print(symbols)
# Get margin configuration
config <- margin_data$get_margin_config()
print(config)
} # }
## ------------------------------------------------
## Method `KucoinMarginData$get_cross_margin_symbols`
## ------------------------------------------------
if (FALSE) { # \dontrun{
margin_data <- KucoinMarginData$new()
symbols <- margin_data$get_cross_margin_symbols(query = list(symbol = "BTC-USDT"))
print(symbols)
} # }
## ------------------------------------------------
## Method `KucoinMarginData$get_isolated_margin_symbols`
## ------------------------------------------------
if (FALSE) { # \dontrun{
margin_data <- KucoinMarginData$new()
symbols <- margin_data$get_isolated_margin_symbols()
print(symbols[trade_enable == TRUE])
} # }
## ------------------------------------------------
## Method `KucoinMarginData$get_margin_config`
## ------------------------------------------------
if (FALSE) { # \dontrun{
margin_data <- KucoinMarginData$new()
config <- margin_data$get_margin_config()
cat("Max leverage:", config$max_leverage[1], "\n")
cat("Supported currencies:", paste(config$currency, collapse = ", "), "\n")
} # }
## ------------------------------------------------
## Method `KucoinMarginData$get_collateral_ratio`
## ------------------------------------------------
if (FALSE) { # \dontrun{
margin_data <- KucoinMarginData$new()
ratios <- margin_data$get_collateral_ratio(query = list(currencyList = "BTC,ETH"))
print(ratios)
# Filter high-ratio tiers
ratios[as.numeric(collateral_ratio) >= 0.9]
} # }
## ------------------------------------------------
## Method `KucoinMarginData$get_risk_limit`
## ------------------------------------------------
if (FALSE) { # \dontrun{
margin_data <- KucoinMarginData$new()
# Cross margin risk limits
limits <- margin_data$get_risk_limit(isIsolated = FALSE)
print(limits)
# Isolated margin risk limits for BTC-USDT
limits <- margin_data$get_risk_limit(
isIsolated = TRUE,
query = list(symbol = "BTC-USDT")
)
} # }