← 아카이브
자금흐름2026-08-17· 49분 분석

코인 마진 차입 이자율 실측 — 공개 창구에서 받은 값과 기간 단위 표기

다섯 계열 창구에 인증 없이 마진 차입 이자율을 물어봤더니 값을 그대로 준 곳은 둘이었고, 그 둘의 숫자는 하나가 시간당이고 하나가 하루치라 그대로 비교하면 스물네 배가 어긋났습니다.

altnara 자금흐름 데스크는 시장 데이터가 어느 창구에서 어떤 모양으로 나오는지를 점검합니다. 이번 노트의 주제는 코인 마진 이자율입니다. 운영자 보유 가능성: 본 매체는 비트코인·주요 알트 및 스테이블코인 보유 가능성을 명시합니다.

현물 마진은 가진 돈보다 많은 물량을 굴리려고 거래소에서 코인이나 스테이블코인을 빌리는 제품입니다. 빌린 순간부터 이자가 붙고, 담보로 맡긴 자산은 전액이 아니라 창구가 정한 비율만큼만 인정됩니다. 이 노트가 재는 것은 그 세 가지, 곧 빌리는 값과 빌릴 수 있는 양의 상한과 담보로 쳐 주는 비율입니다.

호출은 2026년 8월 17일 14시 38분 KST에 인증 없이 했습니다. 협정세계시로는 8월 17일 5시 38분입니다. 아래 표의 값은 그 시각 응답이 준 문자열 그대로입니다.

짙은 남색 배경 앞 청회색 돌 바닥에 놋쇠 저울이 놓여 있고, 양쪽 접시가 비어 있으며 왼쪽 위에서 따뜻한 빛이 들어온다

결론부터 — 같은 코인인데 값도, 기간 단위를 밝히는 방식도 창구마다 달랐습니다

첫째, 인증 없이 차입 이자율 값을 그대로 돌려준 창구는 다섯 곳 가운데 둘이었습니다. 이번에 부른 곳은 바이비트·OKX·게이트·비트겟·바이낸스 다섯 계열입니다. 바이비트와 OKX는 값이 그대로 왔습니다. 게이트는 이자율이 오기는 하는데 그 자리가 빌려주는 쪽이었고, 비트겟은 이자율 엔드포인트가 열쇠를 요구했으며, 바이낸스는 이번 호출로는 인증 없이 받지 못했습니다. 다섯이라는 수는 제가 실제로 부른 계열을 센 값입니다.

둘째, 값을 준 두 곳의 기간 단위가 서로 달랐습니다. 바이비트의 필드 이름은 hourlyBorrowRate 이고 문서가 그 필드를 Borrow interest rate per hour 라고 적어 두었습니다. OKX의 필드 이름은 그냥 rate 인데, 문서가 그 필드를 Daily borrowing rate 라고 적어 두었습니다. 이름만 보면 OKX 쪽은 기간을 알 수 없고 문서를 열어야 하루치인 것이 확인됩니다. 두 값이 같은 자릿수로 생겼기 때문에 나란히 놓고 그대로 빼면 어긋납니다.

셋째, 기간 단위를 한 칸 잘못 읽으면 두 배가 아니라 스물네 배가 갈립니다. OKX 의 USDT rate0.0000768 이었습니다. 문서대로 하루치로 읽고 365를 곱하면 연 2.8032퍼센트이고, 시간당으로 잘못 읽어 24를 더 곱하면 연 67.2768퍼센트가 됩니다. 같은 숫자 하나에서 나온 두 결과입니다.

이 노트가 재는 자리와 재지 않는 자리

같은 주제어로 묶이기 쉬운 자리를 먼저 갈라 둡니다.

첫째, 이 노트는 빌린 값과 빌릴 수 있는 양까지만 봅니다. 담보가 부족해지면 포지션이 강제로 정리되는데, 그 정리가 시작되는 가격을 구하는 공식은 여기서 다루지 않습니다. 어느 값을 얼마나 남겨 두어야 하는지도 다루지 않습니다.

둘째, 현물 마진 차입은 무기한 계약과 다른 제품입니다. 무기한 계약에서 롱과 숏이 서로 주고받는 값은 이 노트가 재는 이자율과 같은 자리가 아닙니다. 앞선 노트들이 다룬 유지증거금 구간이나 최소 주문 금액도 무기한 계약 쪽 값이라 이번 표에 섞지 않았습니다.

셋째, 어느 창구가 더 싼지 고르는 글이 아닙니다. 이자율은 창구가 수시로 바꾸는 값이라 이 표는 위에 적은 한 시각의 스냅샷입니다. 이 노트가 하는 일은 그 한 시각의 값을 서로 비교 가능한 모양으로 맞춰 놓는 것까지입니다.

넷째, 실제로 빌려 보지는 않았습니다. 전부 조회만 하는 공개 창구를 불렀고, 계정을 만들어 차입을 실행했을 때 적용되는 값이 응답과 같은지는 확인하지 않았습니다.

같은 시각 공개 창구에서 받은 차입 이자율

다섯 계열에 같은 시각 같은 조건으로 물었습니다. 인증 헤더는 어디에도 붙이지 않았습니다.

창구부른 엔드포인트응답이자율이 왔는가
바이비트GET /v5/spot-margin-trade/dataHTTP 200 · 558,439바이트 · retCode 0왔습니다 (hourlyBorrowRate)
OKXGET /api/v5/public/interest-rate-loan-quotaHTTP 200 · 11,208바이트 · code 0왔습니다 (rate)
게이트GET /api/v4/earn/uni/currenciesHTTP 200 · 147,289바이트왔지만 빌려주는 쪽 값입니다 (max_rate·min_rate)
비트겟GET /api/v2/margin/currenciesHTTP 200 · 273,145바이트 · code 00000오지 않았습니다
바이낸스GET /sapi/v1/margin/crossMarginDataHTTP 400 · API-key format invalid.오지 않았습니다

값을 준 두 곳의 숫자를 같은 코인끼리 놓으면 이렇습니다. 바이비트는 등급이 없는 No VIP 줄이고, OKX 는 basic 배열입니다.

코인바이비트 hourlyBorrowRateOKX rate
USDT0.00000450518400000.0000768
USDC0.00000523017800000.0000768
BTC0.00000050304300000.00001392
ETH0.00000225349500000.0000276
SOL0.00000510453100000.00010968
XRP0.00000560088700000.0000276
DOGE0.00000587448100000.0000276

숫자만 놓고 보면 일곱 코인 모두 OKX 쪽이 큽니다. 다만 얼마나 큰지는 코인마다 크게 다릅니다. 위 두 열을 코인별로 나눠 보면 DOGE 가 약 4.70배로 가장 작고 XRP 가 약 4.93배로 그다음이며, 나머지 다섯 코인은 열 배를 넘어 ETH 약 12.25배부터 BTC 약 27.67배까지 벌어집니다. 그러니 "몇 배 차이"라는 한 문장으로 묶으면 어느 코인에서든 틀립니다. 게다가 이 두 열은 애초에 같은 기간을 재는 값이 아닙니다. 다음 절에서 갈라 적습니다.

한 가지 더 눈에 띄는 자리가 있습니다. OKX 는 ETH·XRP·DOGE 세 코인에 모두 0.0000276 이라는 같은 값을 줬습니다. 바이비트 쪽은 세 코인이 각각 다른 값이었습니다. 즉 한쪽은 코인별로 값을 따로 두고 한쪽은 여러 코인을 같은 값으로 묶어 두었습니다. 코인 수도 다릅니다. 바이비트 응답의 한 등급에는 239종이 들어 있었고 OKX 의 basic 배열은 169종이었으며, 두 목록에 함께 들어 있는 코인은 137종이었습니다. 세 수는 제가 응답의 배열 길이와 교집합 크기를 직접 센 값입니다.

시간당인지 하루치인지에 따라 연율이 통째로 달라집니다

두 창구의 문서 문구를 먼저 그대로 옮깁니다.

창구필드문서 원문
바이비트hourlyBorrowRateBorrow interest rate per hour
OKXbasicrateDaily borrowing rate
OKXconfigCcyListrateDaily rate
게이트max_rateMaximum rate (Hourly)
게이트min_rateMinimum rate (Hourly)

바이비트는 필드 이름 자체에 기간이 박혀 있습니다. hourly 라는 글자가 이름 안에 있고 문서 설명도 시간당이라고 다시 적습니다. 이름과 설명이 서로를 확인해 주는 구조입니다.

OKX 는 다릅니다. 필드 이름은 rate 한 단어뿐이고 응답 어디에도 기간을 알려 주는 문자열이 없습니다. 기간은 문서의 응답 파라미터 표를 열어야 나옵니다. 그 표에서 basic 아래의 rateDaily borrowing rate 로, configCcyList 아래의 rateDaily rate 로 적혀 있습니다. 같은 응답 안에 rate 라는 이름이 두 자리에 나오고 두 자리 다 하루치입니다.

게이트는 세 번째 모양입니다. 필드 이름에는 기간이 없지만 공식 SDK 문서의 모델 설명에 Maximum rate (Hourly) 라고 괄호로 적혀 있습니다. 다만 이 값이 놓인 엔드포인트는 SDK 문서가 Query lending currency list 라고 적어 둔 자리, 곧 빌려주는 쪽 목록입니다. 그래서 이 노트는 게이트의 이 값을 차입 이자율 표에 넣지 않았습니다.

이제 기간을 맞춰 연 단위로 환산합니다. 시간을 그대로 곱하는 단리 기준이며, 이자가 복리로 붙는지 여부는 이번에 확인하지 않았습니다.

코인바이비트 시간당 값에 24와 365를 곱한 값OKX 하루치 값에 365를 곱한 값
USDT3.9465퍼센트2.8032퍼센트
USDC4.5816퍼센트2.8032퍼센트
BTC0.4407퍼센트0.5081퍼센트
ETH1.9741퍼센트1.0074퍼센트
SOL4.4716퍼센트4.0033퍼센트
XRP4.9064퍼센트1.0074퍼센트
DOGE5.1460퍼센트1.0074퍼센트

환산하고 나면 순서가 뒤집히는 자리가 보입니다. 원본 숫자만 보면 OKX 가 전부 커 보였는데, 기간을 맞추면 USDT·USDC·ETH·SOL·XRP·DOGE 여섯 코인에서 바이비트 쪽이 더 컸고 BTC 한 코인에서만 OKX 쪽이 더 컸습니다. 일곱 코인을 놓고 센 결과입니다.

기간 단위를 틀렸을 때 얼마나 어긋나는지는 한 줄로 확인됩니다. OKX 의 USDT 값 0.0000768 을 시간당으로 읽으면 하루에 24번 붙는 것으로 계산되므로 연 67.2768퍼센트가 나옵니다. 문서대로 하루치로 읽으면 연 2.8032퍼센트입니다. 두 값의 비는 정확히 24입니다. 이자율 비교에서 소수점 몇 자리를 다투기 전에 기간 단위부터 맞춰야 하는 이유가 여기 있습니다.

어두운 배경 앞 검은 슬레이트 판 위에 놋쇠 테를 두른 모래시계가 나란히 서 있고, 위쪽 유리에 옅은 모래가 남아 있으며 아래쪽에 모래가 쌓여 있다

빌릴 수 있는 양에 상한이 걸려 있습니다

이자율만 보고 계산을 세우면 빠지는 것이 상한입니다. 두 창구 모두 이자율 옆자리에 빌릴 수 있는 양을 함께 실어 보냅니다.

코인바이비트 maxBorrowingAmount (No VIP)OKX quota (basic)
USDT80000005000000
USDC35000001000000
BTC300175
ETH20007000
SOL773040000
XRP53743002500000
DOGE70000001000000

바이비트 문서는 maxBorrowingAmountMax borrow amount 로, OKX 문서는 quotaMax borrow 로 적어 두었습니다. 두 문서 모두 이 자리에서는 단위를 밝히지 않았습니다. 같은 응답에서 BTC 가 300175 로, USDT 가 80000005000000 로 오는 것을 보면 코인 개수로 읽히지만, 그것은 문서가 적어 준 것이 아니라 값의 크기에서 짐작한 것입니다. 반면 바이비트는 뒤에 나올 담보 구간표의 maxQty 에는 Upper limit(in coin) of the tiered range 라고 괄호로 단위를 붙여 두었습니다. 같은 문서 안에서도 단위를 밝힌 자리와 밝히지 않은 자리가 갈립니다.

여기서 OKX 응답에는 그대로 쓰면 안 되는 자리가 하나 있습니다. 응답의 configCcyList 배열에 USDT 하나가 들어 있었고, 문서는 이 배열을 이렇게 설명합니다. Currencies that have loan quota configured using customized absolute value. Users should refer to config to get the loan quota of a currency which is listed in configCcyList, instead of getting it from basic/vip/regular.이 배열에 이름이 올라온 코인은 basicquota 가 아니라 config 를 봐야 한다는 뜻입니다. 하필 그 코인이 USDT 였습니다.

config 를 열면 USDT 한 코인에 28줄이 들어 있었습니다. stgyType 값이 0 인 줄이 14개, 1 인 줄이 14개입니다. 문서는 0general strategy, 1delta neutral strategy 로 적은 뒤 조건을 하나 더 붙여 두었습니다. If only 0 is returned for a currency, it means the loan quota is shared between accounts in general strategy and accounts in delta neutral strategy; if both 0/1 are returned for a currency, it means accounts in delta neutral strategy have separate loan quotas.한 코인에 0 만 오면 두 전략이 한도를 나눠 쓰고, 01 이 모두 오면 델타 뉴트럴 전략 계정이 별도 한도를 갖는다는 뜻입니다. 이번 응답의 USDT 는 두 값이 모두 왔으므로, 아래 표의 오른쪽 열은 왼쪽 열에서 떼어 온 몫이 아니라 델타 뉴트럴 전략 계정에 따로 걸린 한도입니다.

등급stgyType 0stgyType 1
Lv1~Lv51000000빈 문자열
VIP 120000006000000
VIP 31000000030000000
VIP 52000000060000000
VIP 750000000150000000
VIP 970000000210000000

basic 이 준 USDT quota5000000 이었는데, 문서가 가리키는 config 에서 등급 없는 사용자에 해당하는 Lv1 줄은 1000000 이었습니다. 응답 안에서 가장 눈에 띄는 큰 숫자가 그 코인에 대해서는 쓰면 안 되는 숫자였습니다.

등급이 없는 코인은 계산식이 따로 있습니다. OKX 응답의 regular 배열은 Lv1부터 Lv5까지 loanQuotaCoef 가 1·2·3·4·5 였고, vip 배열은 VIP 1부터 VIP 9까지 5·6·7·8·9·10·11·12·13 이었습니다. 문서는 이 필드를 Loan quota coefficient. Loan quota = quota * level 로 적어 두었습니다. 그러니까 BTC 의 quota 175 는 Lv1 기준이고, Lv5 면 875, VIP 9 면 2,275가 됩니다. 같은 응답의 basic 숫자 하나만 옮겨 적으면 등급에 따른 배수가 통째로 빠집니다.

바이비트는 배수 대신 등급별 값을 전부 실어 보냅니다. 이번 응답의 vipCoinList 에는 13개 등급이 들어 있었고 각 등급마다 239종이 붙어 있었습니다. 등급 이름은 No VIP, VIP-1 부터 VIP-5, VIP-Supreme, PRO-1 부터 PRO-6 입니다. USDT 와 BTC 를 등급별로 뽑으면 이렇습니다.

등급USDT 시간당USDT 상한BTC 시간당BTC 상한
No VIP0.000004505184000080000000.0000005030430000300
VIP-30.0000042781227264200000000.00000045776913001500
VIP-Supreme0.0000041384620224350000000.00000037728225002400
PRO-10.0000041907221568250000000.00000035213010001800
PRO-60.0000037212819840500000000.00000024146064003000

두 사다리가 한 줄로 이어지지 않는 자리가 있습니다. BTC 를 보면 PRO-1 의 시간당 값은 VIP-Supreme 보다 낮은데 상한은 2,400에서 1,800으로 오히려 줄어듭니다. 등급 문자열을 순서대로 정렬해 위아래를 짐작하면 이 자리에서 어긋납니다.

빌리는 양의 아래쪽을 공개하는 창구도 있습니다. 다만 하한이라고 다 같은 하한은 아닙니다. 비트겟 응답에는 userMinBorrow 가 있었는데, 584건 전부가 0.00000001 이라는 한 값이었고 isBorrowable 이 거짓인 200건에도 같은 값이 들어 있었습니다. 종목별로 다르게 걸린 하한이라기보다 응답 전체에 깔린 자릿수 하한으로 읽힙니다. 게이트는 다릅니다. GET /api/v4/margin/uni/currency_pairs 는 1,275쌍을 돌려줬고 그 가운데 statusenabled 인 쌍이 751개였으며, BTC_USDT 는 base_min_borrow_amount0.00001, quote_min_borrow_amount1, leverage10 이었습니다. base_min_borrow_amount 는 1,275쌍에 걸쳐 서로 다른 값이 237개였으니 쌍마다 따로 정해진 값입니다. 반대로 quote_min_borrow_amount 는 1,274쌍이 1 하나였습니다. 이 수들은 제가 배열의 값 분포를 직접 세어 얻은 것입니다. 어떤 창구는 상한을 공개하고 어떤 창구는 하한을 공개하는데, 하한이 왔다고 해서 그것이 종목별로 다른 값이라는 보장은 없습니다. 필요한 쪽이 그 창구에 없으면 없는 것이지 0인 것이 아닙니다.

담보 인정 비율은 구간표로 갈리고, 응답에 남아 있는 옛 필드는 문서가 정확하지 않다고 적어 두었습니다

빌리려면 담보를 맡겨야 하고, 맡긴 자산이 전액으로 인정되지는 않습니다. 바이비트는 이 값을 두 자리에서 줍니다.

첫 번째 자리는 앞에서 본 GET /v5/spot-margin-trade/data 응답의 collateralRatio 입니다. 이번 응답에서 USDT 는 1, BTC 는 0.98, ETH 는 0.95 였습니다. 값은 정상적으로 옵니다. 그런데 이 필드에 대한 문서 설명이 이렇습니다. Due to the new Tiered Collateral value logic, this field will no longer be accurate starting on February 19, 2025. Please refer to Get Tiered Collateral Ratio 곧 응답에는 여전히 값이 실려 오지만 문서가 그 값을 더 이상 정확하지 않다고 적어 두고 다른 엔드포인트를 가리킨 상태입니다. 필드가 비어 오지 않기 때문에 응답만 보고 있으면 이 사정이 드러나지 않습니다.

두 번째 자리가 그 다른 엔드포인트, GET /v5/spot-margin-trade/collateral 입니다. 이쪽도 문서에 Does not need authentication. 이라고 적혀 있고 이번 호출도 인증 없이 열렸습니다. 응답은 115,624바이트였고 239종이 들어 있었습니다. 여기서는 비율이 하나가 아니라 수량 구간별 목록으로 옵니다.

ETH 의 구간표를 그대로 옮기면 이렇습니다.

minQtymaxQtycollateralRatio
027000.98
2700130000.95
13000220000.9
22000999999999990.8
99999999999빈 문자열0

문서는 maxQtyUpper limit(in coin) of the tiered range, "" means positive infinity 로 적어 두었습니다. 마지막 줄의 빈 문자열은 값이 빠진 것이 아니라 위쪽이 열려 있다는 표시입니다.

두 자리의 값이 서로 다릅니다. ETH 는 첫 번째 자리에서 0.95 였는데 구간표의 첫 칸은 0.98 입니다. 239종 전부를 놓고 첫 번째 자리의 값과 구간표 첫 칸을 대조해 보니 174종이 서로 달랐고 65종이 같았습니다. 다른 174종 가운데 163종은 구간표 첫 칸이 더 높았고 11종은 더 낮았습니다. 네 수는 제가 두 응답을 코인 이름으로 맞춰 세어 얻은 값입니다.

구간의 칸 수도 코인마다 다릅니다. 239종의 구간 개수를 세어 보니 7칸이 205종, 6칸이 13종, 12칸이 7종, 8칸이 4종, 11칸이 4종, 1칸이 3종, 4칸이 2종, 5칸이 1종이었습니다. 여덟 값을 더하면 239입니다. 구간이 한 칸뿐이던 3종은 BTC·USDT·USDC 였습니다. 즉 이 세 코인만 수량과 무관하게 한 값이고 나머지는 많이 맡을수록 인정 비율이 내려갑니다. 어느 코인에서 본 칸 수를 다른 코인에 옮겨 적으면 어긋납니다.

내려가는 폭도 코인마다 다릅니다. XRP 는 0 부터 1500000 까지가 0.95 이고 그 위로 0.9, 0.85, 0.8, 0.7 로 내려간 뒤 마지막 칸이 0 입니다. AGLD 는 0 부터 9430 까지가 0.7 이고 0.6, 0.5, 0.4, 0.3, 0.2 를 거쳐 마지막 칸이 0 입니다. 같은 자산을 담보로 맡겨도 얼마를 맡느냐에 따라 인정되는 비율이 달라진다는 뜻이고, 이 사정은 첫 번째 자리의 한 숫자만 보고 있으면 보이지 않습니다.

인증 없이 열리는 자리와 열쇠를 요구하는 자리가 같은 거래소 안에서도 갈립니다

"공개 API 니까 다 열려 있다"는 문장은 이번 조회에서 성립하지 않았습니다. 같은 거래소 안에서도 엔드포인트마다 갈렸습니다.

창구엔드포인트인증 없이 부른 결과
바이비트/v5/spot-margin-trade/dataHTTP 200 · retCode 0
바이비트/v5/spot-margin-trade/collateralHTTP 200 · retCode 0
바이비트/v5/spot-margin-trade/interest-rate-historyHTTP 200 · retCode 10001 · Request parameter error: apiKey is missing
OKX/api/v5/public/interest-rate-loan-quotaHTTP 200 · code 0
게이트/api/v4/earn/uni/currenciesHTTP 200
게이트/api/v4/margin/uni/estimate_rateHTTP 400 · Missing required header: Timestamp
비트겟/api/v2/margin/currenciesHTTP 200 · code 00000
비트겟/api/v2/margin/crossed/interest-rate-and-limitHTTP 400 · code 40006 · Invalid ACCESS_KEY
비트겟/api/margin/v1/cross/public/interestRateAndLimitHTTP 400 · code 30032 · The V1 API has been decommissioned. Please migrate to a newer version.
바이낸스/sapi/v1/margin/crossMarginDataHTTP 400 · code -2014 · API-key format invalid.

바이비트가 특히 헷갈리는 자리입니다. 지금 값을 주는 엔드포인트는 인증 없이 열리는데 지난 값을 주는 엔드포인트는 열쇠를 요구합니다. 게다가 거절할 때도 HTTP 상태는 200 이고 본문의 retCode 만 10001 로 바뀝니다. HTTP 상태만 확인하는 코드는 이 거절을 성공으로 셉니다.

비트겟은 갈라 적어야 합니다. GET /api/v2/margin/currencies 응답 자체는 인증 없이 열렸고 584건이 왔습니다. 이 584건 전체의 필드 이름을 모아 보니 서로 다른 이름이 20개였고, 그 안에 차입 이자율에 해당하는 이름은 없었습니다. takerFeeRatemakerFeeRate 가 있지만 이 둘은 거래 수수료입니다. 대신 isBorrowable·isCrossBorrowable·userMinBorrow·maxCrossedLeverage·warningRiskRatio·liquidationRiskRatio 가 있었고, isBorrowable 이 참인 항목은 584건 가운데 384건이었습니다. 두 수는 제가 응답을 세어 얻은 값입니다. 즉 비트겟은 빌릴 수 있는지와 최소 얼마부터 빌릴 수 있는지는 인증 없이 알려 주지만 얼마를 받는지는 이 엔드포인트에 두지 않았습니다. 구 버전 문서에 인증 없이 열리는 이자율 경로가 하나 적혀 있어 그것도 함께 불러 봤는데, 위 표의 마지막 줄처럼 The V1 API has been decommissioned 로 닫혀 있었습니다.

바이낸스는 "안 준다"가 아니라 이번 호출로는 인증 없이 받지 못했다가 정확한 서술입니다. 응답 본문이 API-key format invalid. 였으므로 거절 사유는 열쇠였습니다. 같은 조건에서 시간당 이자율을 주는 다른 경로 하나도 함께 불러 봤고 같은 -2014 가 왔습니다. 두 경로 밖에 다른 자리가 있는지는 이번에 확인하지 않았습니다.

직접 부를 창구와 필드 이름

같은 값을 다시 재실 수 있게 이번에 쓴 주소와 필드 이름을 그대로 옮깁니다.

창구요청이자율 필드양 필드
바이비트GET https://api.bybit.com/v5/spot-margin-trade/datahourlyBorrowRatemaxBorrowingAmount
바이비트GET https://api.bybit.com/v5/spot-margin-trade/collateral없음minQty·maxQty·collateralRatio
OKXGET https://www.okx.com/api/v5/public/interest-rate-loan-quotaratequota·loanQuotaCoef
게이트GET https://api.gateio.ws/api/v4/earn/uni/currenciesmax_rate·min_rate (대여 쪽)min_lend_amount·max_lend_amount
게이트GET https://api.gateio.ws/api/v4/margin/uni/currency_pairs없음base_min_borrow_amount·quote_min_borrow_amount
비트겟GET https://api.bitget.com/api/v2/margin/currencies없음userMinBorrow·maxCrossedLeverage

바이비트 응답에는 필터가 붙습니다. 문서에 vipLevelcurrency 두 파라미터가 있고 둘 다 선택입니다. 아무것도 넣지 않으면 이번처럼 13개 등급이 통째로 오기 때문에 응답이 558,439바이트가 됩니다. 특정 등급 한 줄만 필요하시면 vipLevel 을 넣으시는 편이 가볍습니다.

호출 간격도 문서에 적혀 있습니다. OKX 문서는 이 엔드포인트에 Rate Limit: 2 requests per 2 secondsRate limit rule: IP 를 적어 두었습니다. 초당 여러 번 부르는 코드를 두시면 이 선에 걸립니다.

같은 방식으로 공개 응답을 열어 값을 대조하는 절차는 코인 과거 시세 데이터 소급 한계를 잰 노트에 정리해 두었습니다. 수량 구간으로 갈리는 표를 여러 거래소에서 맞대 보는 방법은 리스크 한도 구간을 다섯 거래소 API로 잰 노트에 있고, 공식 문서의 기준표와 같은 시각 응답을 나란히 놓는 절차는 업비트 지정 기준과 공개 응답을 맞대 본 노트에 있습니다.

검은 슬레이트 판 위에 놋쇠 원판이 쌓여 있고 위로 갈수록 지름이 커지며, 판 왼쪽 바닥에 매끈한 놋쇠 막대가 비스듬히 놓여 있다

이 글이 확인하지 못한 것

마진 차입 이자율 자가 점검 7단계

  1. 옮겨 적은 이자율의 기간 단위를 문서에서 확인하셨습니까. 바이비트는 이름과 문서가 시간당이라고 적고, OKX 는 이름에 기간이 없고 문서만 하루치라고 적습니다.
  2. 두 창구의 값을 나란히 놓기 전에 같은 기간으로 맞추셨습니까. 이번 표에서는 맞추기 전과 뒤가 여섯 코인에서 순서가 뒤집혔습니다.
  3. 이자율 옆의 상한을 함께 읽으셨습니까. 두 창구 모두 이자율 바로 옆자리에 빌릴 수 있는 양을 실어 보냅니다.
  4. OKX 응답의 configCcyList 를 확인하셨습니까. 여기에 이름이 올라온 코인은 basicquota 가 아니라 config 를 봐야 한다고 문서가 적어 두었고, 이번 응답에서 그 코인은 USDT 였습니다.
  5. 등급 배수를 빠뜨리지 않으셨습니까. OKX 는 quota 하나에 loanQuotaCoef 를 곱하는 구조이고, 바이비트는 등급마다 값을 따로 실어 보냅니다.
  6. 담보 인정 비율을 한 숫자로 쓰고 계시지 않습니까. 바이비트에서 수량 구간이 한 칸뿐인 코인은 239종 가운데 3종이었습니다.
  7. HTTP 상태만 보고 성공으로 넘기지 않으셨습니까. 바이비트는 열쇠가 없는 요청에도 HTTP 200 을 주고 본문의 retCode 만 10001 로 바꿉니다.

FAQ

Q. 거래소 두 곳의 마진 이자율을 비교하려는데 무엇부터 봐야 하나요? A. 숫자보다 기간 단위를 먼저 보셔야 합니다. 이번 조회에서 바이비트 필드는 hourlyBorrowRate 이고 문서가 Borrow interest rate per hour 로 적었으며, OKX 필드는 rate 이고 문서가 Daily borrowing rate 로 적었습니다. 두 값을 그대로 빼면 24배만큼 어긋납니다. 필드 이름에 기간이 없다면 응답만으로는 확정되지 않으므로 그 창구의 문서에서 필드 설명을 찾으셔야 합니다.

Q. OKX 응답의 USDT quota 가 5000000 이던데 그만큼 빌릴 수 있는 것인가요? A. 이번 응답에서는 그렇게 읽으시면 안 됩니다. USDT 가 configCcyList 배열에 들어 있었고, 문서가 그 배열에 올라온 코인은 basic 이 아니라 config 를 보라고 적어 두었습니다. config 에서 stgyType0 인 Lv1 줄의 값은 1000000 이었습니다. 어느 줄이 본인에게 해당하는지는 계정 등급과 stgyType 이 함께 정합니다. 문서는 한 코인에 0 만 오면 두 전략이 한도를 나눠 쓰고 01 이 모두 오면 델타 뉴트럴 전략 계정이 별도 한도를 갖는다고 적어 두었는데, 이번 응답의 USDT 는 두 값이 모두 온 쪽이었습니다. 그러니 응답에서 가장 큰 숫자를 고르는 방식은 이 자리에서 통하지 않습니다.

Q. 바이비트 응답의 collateralRatio 값을 그대로 쓰면 되나요? A. 값 자체는 정상적으로 옵니다. 다만 바이비트 문서가 이 필드에 this field will no longer be accurate starting on February 19, 2025 라고 적고 Get Tiered Collateral Ratio 를 가리켜 두었습니다. 이번 대조에서 239종 가운데 174종이 두 자리의 값이 달랐습니다. 담보 인정 비율이 계산에 들어가는 작업이시라면 구간표 쪽 엔드포인트를 함께 부르시는 편이 맞습니다.

Q. 담보로 맡길 양이 적으면 구간표를 안 봐도 되나요? A. 맡길 양이 그 코인의 첫 칸 안에 들어간다면 첫 칸의 비율 하나만 적용됩니다. 다만 첫 칸의 상한이 코인마다 다릅니다. 이번 응답에서 ETH 의 첫 칸은 2700 까지였고 AGLD 는 9430 까지였습니다. 그러니 "적으면 안 봐도 된다"가 아니라 그 코인의 첫 칸 상한을 확인하고 그 아래인지 보셔야 합니다.

Q. 비트겟이나 바이낸스는 마진 이자율을 공개하지 않는 것인가요? A. 이번 호출 범위에서는 그렇게 말할 수 없습니다. 비트겟은 /api/v2/margin/currencies 응답의 필드 이름 20개 안에 이자율이 없었고, 이자율을 주는 /api/v2/margin/crossed/interest-rate-and-limitInvalid ACCESS_KEY 로 거절했습니다. 구 버전 문서가 인증 없이 열린다고 적어 둔 /api/margin/v1/cross/public/interestRateAndLimitThe V1 API has been decommissioned 로 닫혀 있었습니다. 바이낸스는 /sapi/v1/margin/crossMarginDataAPI-key format invalid. 로 거절했습니다. 여기까지가 이번에 확인된 것이고, 계정을 붙이면 받아지는지는 이 노트의 범위 밖입니다.

Q. 게이트에서 받은 max_rate 를 마진 차입 이자율로 써도 되나요? A. 이번 조회 기준으로는 다른 자리입니다. 그 값이 실린 /earn/uni/currencies 를 공식 SDK 문서가 Query lending currency list 로 적어 두었고, 필드 설명도 Maximum rate (Hourly) 로 대여 쪽 상한을 가리킵니다. 빌리는 쪽 값을 주는 엔드포인트는 인증 헤더를 요구해 이번에는 열지 못했습니다.

Q. 응답에 borrowable 이 거짓인 코인은 무엇이 다른가요? A. 이번 바이비트 응답에서 borrowable 이 거짓인 코인은 239종 가운데 13종이었고, 그 13종은 hourlyBorrowRatemaxBorrowingAmount 가 모두 빈 문자열로 왔습니다. 두 집합은 이번 응답에서 정확히 같았습니다. 반면 marginCollateral 은 239종 전부가 참이었습니다. 문서는 borrowableWhether it is allowed to be borrowed 로, marginCollateralWhether it can be used as a margin collateral currency 로 적어 두었습니다. 빌릴 수 없는 코인도 담보로는 쓰이는 구조이므로 두 필드를 하나로 묶어 읽으면 어긋납니다.

함께 보면 좋은 글

데이터·개념 출처

본 노트의 수치는 2026년 8월 17일 14시 38분(KST), 협정세계시로 8월 17일 5시 38분에 다섯 계열 공개 창구를 인증 없이 호출해 받은 응답을 직접 읽은 것입니다. 부른 주소는 GET https://api.bybit.com/v5/spot-margin-trade/data(558,439바이트), GET https://api.bybit.com/v5/spot-margin-trade/collateral(115,624바이트), GET https://www.okx.com/api/v5/public/interest-rate-loan-quota(11,208바이트), GET https://api.bitget.com/api/v2/margin/currencies(273,145바이트), GET https://api.gateio.ws/api/v4/earn/uni/currencies(147,289바이트), GET https://api.gateio.ws/api/v4/margin/uni/currency_pairs(183,199바이트)입니다. 거절된 요청은 GET https://api.binance.com/sapi/v1/margin/crossMarginData(HTTP 400 · code -2014 · API-key format invalid.), GET https://api.bitget.com/api/v2/margin/crossed/interest-rate-and-limit(HTTP 400 · code 40006 · Invalid ACCESS_KEY), GET https://api.bitget.com/api/margin/v1/cross/public/interestRateAndLimit(HTTP 400 · code 30032 · The V1 API has been decommissioned. Please migrate to a newer version.), GET https://api.gateio.ws/api/v4/margin/uni/estimate_rate(HTTP 400 · Missing required header: Timestamp), GET https://api.bybit.com/v5/spot-margin-trade/interest-rate-history(HTTP 200 · retCode 10001 · Request parameter error: apiKey is missing)입니다. 코인 개수, 등급 개수, 구간 칸 수, 필드 이름 개수는 모두 응답 배열을 직접 세어 얻은 값입니다.

문서 문구는 각 창구의 개발자 문서에서 축자로 확인했습니다. 바이비트 V5 문서의 Get VIP Margin Data 페이지에서 Does not need authentication., hourlyBorrowRateBorrow interest rate per hour, maxBorrowingAmountMax borrow amount, borrowableWhether it is allowed to be borrowed, marginCollateralWhether it can be used as a margin collateral currency, collateralRatioDue to the new Tiered Collateral value logic, this field will no longer be accurate starting on February 19, 2025. Please refer to Get Tiered Collateral Ratio 를 옮겼습니다. 같은 문서의 Get Tiered Collateral Ratio 페이지에서 Does not need authentication.maxQtyUpper limit(in coin) of the tiered range, "" means positive infinity 를 옮겼습니다. OKX API v5 문서의 Get interest rate and loan quota 절에서 basicrate 설명 Daily borrowing rate, quota 설명 Max borrow, configCcyListrate 설명 Daily rate, configCcyList 설명 Currencies that have loan quota configured using customized absolute value. Users should refer to config to get the loan quota of a currency which is listed in configCcyList, instead of getting it from basic/vip/regular., loanQuotaCoef 설명 Loan quota coefficient. Loan quota = quota * level, stgyType 설명의 0 : general strategy1 : delta neutral strategy 및 그 뒤에 붙은 If only 0 is returned for a currency, it means the loan quota is shared between accounts in general strategy and accounts in delta neutral strategy; if both 0/1 are returned for a currency, it means accounts in delta neutral strategy have separate loan quotas., 그리고 Rate Limit: 2 requests per 2 secondsRate limit rule: IP 를 옮겼습니다. 게이트는 공식 SDK 저장소의 모델 문서에서 max_rateMaximum rate (Hourly), min_rateMinimum rate (Hourly), min_lend_amountThe minimum lending amount, in the unit of the currency, max_lend_amountThe total maximum lending amount, in USDT, est_rateUnconverted percentage 를 옮겼고, 같은 저장소의 API 목록에서 GET /earn/uni/currencies 의 설명 Query lending currency listGET /earn/uni/rate 의 설명 Currency estimated annualized interest rate 를 옮겼습니다. 비트겟 현행 문서(www.bitget.com/api-doc/…)와 바이낸스 문서는 위 절에 적은 이유로 이번에 본문을 받지 못했으므로, /api/v2/margin/currencies 응답과 바이낸스 거절 응답에 대한 서술은 응답 본문에서 읽은 문자열까지로 한정했습니다. 비트겟 구 버전 문서(bitgetlimited.github.io/apidoc/en/margin/)는 정적 HTML 로 열려 GET /api/margin/v1/cross/public/interestRateAndLimit 의 응답 예시에 있는 dailyInterestRateyearlyInterestRate 를 축자로 옮겼고, 이 경로는 이번 호출에서 The V1 API has been decommissioned. Please migrate to a newer version. 로 닫혀 있었습니다.

이 글은 공개 API 응답과 개발자 문서를 정리한 정보 제공 목적의 자료이며 특정 종목이나 거래소의 이용 권유가 아닙니다. 본 노트는 진입가나 정리 가격을 제시하지 않고, 어떤 자산도 매수 또는 매도 대상으로 지목하지 않으며, 어느 창구가 더 낫다는 판단도 하지 않습니다. 가상자산은 원금 손실이 발생할 수 있고, 빌린 자산에는 이자가 붙으며 담보가 부족해지면 보유 자산이 창구의 규칙에 따라 정리될 수 있습니다. 위 수치는 2026년 8월 17일 14시 38분(KST) 한 시각의 스냅샷이라 다시 호출하면 달라질 수 있고, 여기서 관측된 값과 구간표가 이후에도 같은 모양으로 유지되는지는 이 글에서 확인하지 않았습니다. 투자 판단과 그 결과는 전적으로 본인 책임입니다.

관련 평가 리포트

자금흐름2026-08-16

코인 과거 시세 데이터 소급 한계 — 창구마다 다른 첫 기록 날짜와 한 번에 받아지는 개수

자금흐름2026-08-15

무기한 계약 최소 주문 금액 — 비트코인과 도지코인에서 하한 순서가 뒤집힌 자리

자금흐름2026-08-14

코인 거래소의 주식 무기한 계약 — 삼성전자·SK하이닉스가 올라온 자리와 코인 종목에서 갈리는 값