@proton/ccxt
Version:
A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 130+ exchanges
901 lines (898 loc) • 405 kB
JavaScript
'use strict';
var bybit$1 = require('./abstract/bybit.js');
var number = require('./base/functions/number.js');
var errors = require('./base/errors.js');
var Precise = require('./base/Precise.js');
var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
var rsa = require('./base/functions/rsa.js');
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
class bybit extends bybit$1 {
describe() {
return this.deepExtend(super.describe(), {
'id': 'bybit',
'name': 'Bybit',
'countries': ['VG'],
'version': 'v5',
'userAgent': undefined,
'rateLimit': 20,
'hostname': 'bybit.com',
'pro': true,
'certified': true,
'has': {
'CORS': true,
'spot': true,
'margin': true,
'swap': true,
'future': true,
'option': undefined,
'cancelAllOrders': true,
'cancelOrder': true,
'createOrder': true,
'createPostOnlyOrder': true,
'createReduceOnlyOrder': true,
'createStopLimitOrder': true,
'createStopMarketOrder': true,
'createStopOrder': true,
'editOrder': true,
'fetchBalance': true,
'fetchBorrowInterest': false,
'fetchBorrowRate': true,
'fetchBorrowRateHistories': false,
'fetchBorrowRateHistory': false,
'fetchBorrowRates': false,
'fetchCanceledOrders': true,
'fetchClosedOrders': true,
'fetchCurrencies': true,
'fetchDeposit': false,
'fetchDepositAddress': true,
'fetchDepositAddresses': false,
'fetchDepositAddressesByNetwork': true,
'fetchDeposits': true,
'fetchDepositWithdrawFee': 'emulated',
'fetchDepositWithdrawFees': true,
'fetchFundingRate': true,
'fetchFundingRateHistory': true,
'fetchFundingRates': true,
'fetchIndexOHLCV': true,
'fetchLedger': true,
'fetchMarketLeverageTiers': true,
'fetchMarkets': true,
'fetchMarkOHLCV': true,
'fetchMyTrades': true,
'fetchOHLCV': true,
'fetchOpenInterest': true,
'fetchOpenInterestHistory': true,
'fetchOpenOrders': true,
'fetchOrder': true,
'fetchOrderBook': true,
'fetchOrders': true,
'fetchOrderTrades': true,
'fetchPosition': true,
'fetchPositions': true,
'fetchPremiumIndexOHLCV': true,
'fetchTicker': true,
'fetchTickers': true,
'fetchTime': true,
'fetchTrades': true,
'fetchTradingFee': true,
'fetchTradingFees': true,
'fetchTransactions': false,
'fetchTransfers': true,
'fetchWithdrawals': true,
'setLeverage': true,
'setMarginMode': true,
'setPositionMode': true,
'transfer': true,
'withdraw': true,
},
'timeframes': {
'1m': '1',
'3m': '3',
'5m': '5',
'15m': '15',
'30m': '30',
'1h': '60',
'2h': '120',
'4h': '240',
'6h': '360',
'12h': '720',
'1d': 'D',
'1w': 'W',
'1M': 'M',
},
'urls': {
'test': {
'spot': 'https://api-testnet.{hostname}',
'futures': 'https://api-testnet.{hostname}',
'v2': 'https://api-testnet.{hostname}',
'public': 'https://api-testnet.{hostname}',
'private': 'https://api-testnet.{hostname}',
},
'logo': 'https://user-images.githubusercontent.com/51840849/76547799-daff5b80-649e-11ea-87fb-3be9bac08954.jpg',
'api': {
'spot': 'https://api.{hostname}',
'futures': 'https://api.{hostname}',
'v2': 'https://api.{hostname}',
'public': 'https://api.{hostname}',
'private': 'https://api.{hostname}',
},
'www': 'https://www.bybit.com',
'doc': [
'https://bybit-exchange.github.io/docs/inverse/',
'https://bybit-exchange.github.io/docs/linear/',
'https://github.com/bybit-exchange',
],
'fees': 'https://help.bybit.com/hc/en-us/articles/360039261154',
'referral': 'https://www.bybit.com/register?affiliate_id=35953',
},
'api': {
'public': {
'get': {
// inverse swap
'v2/public/orderBook/L2': 1,
'v2/public/kline/list': 3,
'v2/public/tickers': 1,
'v2/public/trading-records': 1,
'v2/public/symbols': 1,
'v2/public/mark-price-kline': 3,
'v2/public/index-price-kline': 3,
'v2/public/premium-index-kline': 2,
'v2/public/open-interest': 1,
'v2/public/big-deal': 1,
'v2/public/account-ratio': 1,
'v2/public/funding-rate': 1,
'v2/public/elite-ratio': 1,
'v2/public/funding/prev-funding-rate': 1,
'v2/public/risk-limit/list': 1,
// linear swap USDT
'public/linear/kline': 3,
'public/linear/recent-trading-records': 1,
'public/linear/risk-limit': 1,
'public/linear/funding/prev-funding-rate': 1,
'public/linear/mark-price-kline': 1,
'public/linear/index-price-kline': 1,
'public/linear/premium-index-kline': 1,
// spot
'spot/v1/time': 1,
'spot/v1/symbols': 1,
'spot/quote/v1/depth': 1,
'spot/quote/v1/depth/merged': 1,
'spot/quote/v1/trades': 1,
'spot/quote/v1/kline': 1,
'spot/quote/v1/ticker/24hr': 1,
'spot/quote/v1/ticker/price': 1,
'spot/quote/v1/ticker/book_ticker': 1,
'spot/v3/public/symbols': 1,
'spot/v3/public/quote/depth': 1,
'spot/v3/public/quote/depth/merged': 1,
'spot/v3/public/quote/trades': 1,
'spot/v3/public/quote/kline': 1,
'spot/v3/public/quote/ticker/24hr': 1,
'spot/v3/public/quote/ticker/price': 1,
'spot/v3/public/quote/ticker/bookTicker': 1,
'spot/v3/public/server-time': 1,
'spot/v3/public/infos': 1,
'spot/v3/public/margin-product-infos': 1,
'spot/v3/public/margin-ensure-tokens': 1,
// data
'v2/public/time': 1,
'v3/public/time': 1,
'v2/public/announcement': 1,
// USDC endpoints
// option USDC
'option/usdc/openapi/public/v1/order-book': 1,
'option/usdc/openapi/public/v1/symbols': 1,
'option/usdc/openapi/public/v1/tick': 1,
'option/usdc/openapi/public/v1/delivery-price': 1,
'option/usdc/openapi/public/v1/query-trade-latest': 1,
'option/usdc/openapi/public/v1/query-historical-volatility': 1,
'option/usdc/openapi/public/v1/all-tickers': 1,
// perpetual swap USDC
'perpetual/usdc/openapi/public/v1/order-book': 1,
'perpetual/usdc/openapi/public/v1/symbols': 1,
'perpetual/usdc/openapi/public/v1/tick': 1,
'perpetual/usdc/openapi/public/v1/kline/list': 1,
'perpetual/usdc/openapi/public/v1/mark-price-kline': 1,
'perpetual/usdc/openapi/public/v1/index-price-kline': 1,
'perpetual/usdc/openapi/public/v1/premium-index-kline': 1,
'perpetual/usdc/openapi/public/v1/open-interest': 1,
'perpetual/usdc/openapi/public/v1/big-deal': 1,
'perpetual/usdc/openapi/public/v1/account-ratio': 1,
'perpetual/usdc/openapi/public/v1/prev-funding-rate': 1,
'perpetual/usdc/openapi/public/v1/risk-limit/list': 1,
// account
'asset/v1/public/deposit/allowed-deposit-list': 1,
'contract/v3/public/copytrading/symbol/list': 1,
// derivative
'derivatives/v3/public/order-book/L2': 1,
'derivatives/v3/public/kline': 1,
'derivatives/v3/public/tickers': 1,
'derivatives/v3/public/instruments-info': 1,
'derivatives/v3/public/mark-price-kline': 1,
'derivatives/v3/public/index-price-kline': 1,
'derivatives/v3/public/funding/history-funding-rate': 1,
'derivatives/v3/public/risk-limit/list': 1,
'derivatives/v3/public/delivery-price': 1,
'derivatives/v3/public/recent-trade': 1,
'derivatives/v3/public/open-interest': 1,
'derivatives/v3/public/insurance': 1,
// v5
'v5/market/kline': 1,
'v5/market/mark-price-kline': 1,
'v5/market/index-price-kline': 1,
'v5/market/premium-index-price-kline': 1,
'v5/market/instruments-info': 1,
'v5/market/orderbook': 1,
'v5/market/tickers': 1,
'v5/market/funding/history': 1,
'v5/market/recent-trade': 1,
'v5/market/open-interest': 1,
'v5/market/historical-volatility': 1,
'v5/market/insurance': 1,
'v5/market/risk-limit': 1,
'v5/market/delivery-price': 1,
'v5/spot-lever-token/info': 1,
'v5/spot-lever-token/reference': 1,
'v5/announcements/index': 1,
'v5/spot-cross-margin-trade/pledge-token': 1,
'v5/spot-cross-margin-trade/borrow-token': 1,
'v5/ins-loan/ensure-tokens-convert': 1,
},
},
'private': {
'get': {
// inverse swap
'v2/private/order/list': 5,
'v2/private/order': 5,
'v2/private/stop-order/list': 5,
'v2/private/stop-order': 1,
'v2/private/position/list': 25,
'v2/private/position/fee-rate': 40,
'v2/private/execution/list': 25,
'v2/private/trade/closed-pnl/list': 1,
'v2/public/risk-limit/list': 1,
'v2/public/funding/prev-funding-rate': 25,
'v2/private/funding/prev-funding': 25,
'v2/private/funding/predicted-funding': 25,
'v2/private/account/api-key': 5,
'v2/private/account/lcp': 1,
'v2/private/wallet/balance': 25,
'v2/private/wallet/fund/records': 25,
'v2/private/wallet/withdraw/list': 25,
'v2/private/exchange-order/list': 1,
// linear swap USDT
'private/linear/order/list': 5,
'private/linear/order/search': 5,
'private/linear/stop-order/list': 5,
'private/linear/stop-order/search': 5,
'private/linear/position/list': 25,
'private/linear/trade/execution/list': 25,
'private/linear/trade/closed-pnl/list': 25,
'public/linear/risk-limit': 1,
'private/linear/funding/predicted-funding': 25,
'private/linear/funding/prev-funding': 25,
// inverse futures
'futures/private/order/list': 5,
'futures/private/order': 5,
'futures/private/stop-order/list': 5,
'futures/private/stop-order': 5,
'futures/private/position/list': 25,
'futures/private/execution/list': 25,
'futures/private/trade/closed-pnl/list': 1,
// spot
'spot/v1/account': 2.5,
'spot/v1/order': 2.5,
'spot/v1/open-orders': 2.5,
'spot/v1/history-orders': 2.5,
'spot/v1/myTrades': 2.5,
'spot/v1/cross-margin/order': 10,
'spot/v1/cross-margin/accounts/balance': 10,
'spot/v1/cross-margin/loan-info': 10,
'spot/v1/cross-margin/repay/history': 10,
'spot/v3/private/order': 2.5,
'spot/v3/private/open-orders': 2.5,
'spot/v3/private/history-orders': 2.5,
'spot/v3/private/my-trades': 2.5,
'spot/v3/private/account': 2.5,
'spot/v3/private/reference': 2.5,
'spot/v3/private/record': 2.5,
'spot/v3/private/cross-margin-orders': 10,
'spot/v3/private/cross-margin-account': 10,
'spot/v3/private/cross-margin-loan-info': 10,
'spot/v3/private/cross-margin-repay-history': 10,
'spot/v3/private/margin-loan-infos': 10,
'spot/v3/private/margin-repaid-infos': 10,
'spot/v3/private/margin-ltv': 10,
// account
'asset/v1/private/transfer/list': 50,
'asset/v3/private/transfer/inter-transfer/list/query': 0.84,
'asset/v1/private/sub-member/transfer/list': 50,
'asset/v3/private/transfer/sub-member/list/query': 0.84,
'asset/v3/private/transfer/sub-member-transfer/list/query': 0.84,
'asset/v3/private/transfer/universal-transfer/list/query': 0.84,
'asset/v1/private/sub-member/member-ids': 50,
'asset/v1/private/deposit/record/query': 50,
'asset/v1/private/withdraw/record/query': 25,
'asset/v1/private/coin-info/query': 25,
'asset/v3/private/coin-info/query': 25,
'asset/v1/private/asset-info/query': 50,
'asset/v1/private/deposit/address': 100,
'asset/v3/private/deposit/address/query': 0.17,
'asset/v1/private/universal/transfer/list': 50,
'contract/v3/private/copytrading/order/list': 1,
'contract/v3/private/copytrading/position/list': 1,
'contract/v3/private/copytrading/wallet/balance': 1,
'contract/v3/private/position/limit-info': 25,
'contract/v3/private/order/unfilled-orders': 1,
'contract/v3/private/order/list': 1,
'contract/v3/private/position/list': 1,
'contract/v3/private/execution/list': 1,
'contract/v3/private/position/closed-pnl': 1,
'contract/v3/private/account/wallet/balance': 1,
'contract/v3/private/account/fee-rate': 1,
'contract/v3/private/account/wallet/fund-records': 1,
// derivative
'unified/v3/private/order/unfilled-orders': 1,
'unified/v3/private/order/list': 1,
'unified/v3/private/position/list': 1,
'unified/v3/private/execution/list': 1,
'unified/v3/private/delivery-record': 1,
'unified/v3/private/settlement-record': 1,
'unified/v3/private/account/wallet/balance': 1,
'unified/v3/private/account/transaction-log': 1,
'asset/v2/private/exchange/exchange-order-all': 1,
'unified/v3/private/account/borrow-history': 1,
'unified/v3/private/account/borrow-rate': 1,
'unified/v3/private/account/info': 1,
'user/v3/private/frozen-sub-member': 10,
'user/v3/private/query-sub-members': 5,
'user/v3/private/query-api': 5,
'user/v3/private/get-member-type': 1,
'asset/v3/private/transfer/transfer-coin/list/query': 0.84,
'asset/v3/private/transfer/account-coin/balance/query': 0.84,
'asset/v3/private/transfer/account-coins/balance/query': 50,
'asset/v3/private/transfer/asset-info/query': 0.84,
'asset/v3/public/deposit/allowed-deposit-list/query': 0.17,
'asset/v3/private/deposit/record/query': 0.17,
'asset/v3/private/withdraw/record/query': 0.17,
// v5
'v5/order/history': 2.5,
'v5/order/spot-borrow-check': 2.5,
'v5/order/realtime': 2.5,
'v5/position/list': 2.5,
'v5/position/switch-mode': 2.5,
'v5/execution/list': 2.5,
'v5/position/closed-pnl': 2.5,
'v5/account/wallet-balance': 2.5,
'v5/account/borrow-history': 2.5,
'v5/account/collateral-info': 2.5,
'v5/account/mmp-state': 2.5,
'v5/asset/coin-greeks': 2.5,
'v5/account/info': 2.5,
'v5/account/transaction-log': 2.5,
'v5/account/fee-rate': 1,
'v5/asset/exchange/order-record': 2.5,
'v5/asset/delivery-record': 2.5,
'v5/asset/settlement-record': 2.5,
'v5/asset/transfer/query-asset-info': 2.5,
'v5/asset/transfer/query-account-coin-balance': 2.5,
'v5/asset/transfer/query-transfer-coin-list': 2.5,
'v5/asset/transfer/query-inter-transfer-list': 2.5,
'v5/asset/transfer/query-sub-member-list': 2.5,
'v5/asset/transfer/query-universal-transfer-list': 1,
'v5/asset/deposit/query-allowed-list': 2.5,
'v5/asset/deposit/query-record': 2.5,
'v5/asset/deposit/query-sub-member-record': 2.5,
'v5/asset/deposit/query-address': 2.5,
'v5/asset/deposit/query-sub-member-address': 2.5,
'v5/asset/deposit/query-internal-record': 2.5,
'v5/asset/coin/query-info': 2.5,
'v5/asset/withdraw/query-record': 2.5,
'v5/asset/withdraw/withdrawable-amount': 2.5,
'v5/asset/transfer/query-account-coins-balance': 2.5,
// user
'v5/user/query-sub-members': 10,
'v5/user/query-api': 10,
'v5/user/get-member-type': 1,
'v5/user/aff-customer-info': 10,
'v5/customer/info': 10,
'v5/spot-cross-margin-trade/loan-info': 1,
'v5/spot-cross-margin-trade/account': 1,
'v5/spot-cross-margin-trade/orders': 1,
'v5/spot-cross-margin-trade/repay-history': 1,
'v5/ins-loan/ltv-convert': 1,
'v5/broker/earning-record': 1,
// pre-upgrade
'v5/pre-upgrade/order/history': 1,
'v5/pre-upgrade/execution/list': 1,
'v5/pre-upgrade/position/closed-pnl': 1,
'v5/pre-upgrade/account/transaction-log': 1,
'v5/pre-upgrade/asset/delivery-record': 1,
'v5/pre-upgrade/asset/settlement-record': 1,
},
'post': {
// inverse swap
'v2/private/order/create': 30,
'v2/private/order/cancel': 30,
'v2/private/order/cancelAll': 300,
'v2/private/order/replace': 30,
'v2/private/stop-order/create': 30,
'v2/private/stop-order/cancel': 30,
'v2/private/stop-order/cancelAll': 300,
'v2/private/stop-order/replace': 30,
'v2/private/position/change-position-margin': 40,
'v2/private/position/trading-stop': 40,
'v2/private/position/leverage/save': 40,
'v2/private/tpsl/switch-mode': 40,
'v2/private/position/switch-isolated': 2.5,
'v2/private/position/risk-limit': 2.5,
'v2/private/position/switch-mode': 2.5,
// linear swap USDT
'private/linear/order/create': 30,
'private/linear/order/cancel': 30,
'private/linear/order/cancel-all': 300,
'private/linear/order/replace': 30,
'private/linear/stop-order/create': 30,
'private/linear/stop-order/cancel': 30,
'private/linear/stop-order/cancel-all': 300,
'private/linear/stop-order/replace': 30,
'private/linear/position/set-auto-add-margin': 40,
'private/linear/position/switch-isolated': 40,
'private/linear/position/switch-mode': 40,
'private/linear/tpsl/switch-mode': 2.5,
'private/linear/position/add-margin': 40,
'private/linear/position/set-leverage': 40,
'private/linear/position/trading-stop': 40,
'private/linear/position/set-risk': 2.5,
// inverse futures
'futures/private/order/create': 30,
'futures/private/order/cancel': 30,
'futures/private/order/cancelAll': 30,
'futures/private/order/replace': 30,
'futures/private/stop-order/create': 30,
'futures/private/stop-order/cancel': 30,
'futures/private/stop-order/cancelAll': 30,
'futures/private/stop-order/replace': 30,
'futures/private/position/change-position-margin': 40,
'futures/private/position/trading-stop': 40,
'futures/private/position/leverage/save': 40,
'futures/private/position/switch-mode': 40,
'futures/private/tpsl/switch-mode': 40,
'futures/private/position/switch-isolated': 40,
'futures/private/position/risk-limit': 2.5,
// spot
'spot/v1/order': 2.5,
'spot/v1/cross-margin/loan': 10,
'spot/v1/cross-margin/repay': 10,
'spot/v3/private/order': 2.5,
'spot/v3/private/cancel-order': 2.5,
'spot/v3/private/cancel-orders': 2.5,
'spot/v3/private/cancel-orders-by-ids': 2.5,
'spot/v3/private/purchase': 2.5,
'spot/v3/private/redeem': 2.5,
'spot/v3/private/cross-margin-loan': 10,
'spot/v3/private/cross-margin-repay': 10,
// account
'asset/v1/private/transfer': 150,
'asset/v3/private/transfer/inter-transfer': 2.5,
'asset/v1/private/sub-member/transfer': 150,
'asset/v1/private/withdraw': 50,
'asset/v3/private/withdraw/create': 1,
'asset/v1/private/withdraw/cancel': 50,
'asset/v3/private/withdraw/cancel': 0.84,
'asset/v1/private/transferable-subs/save': 3000,
'asset/v1/private/universal/transfer': 1500,
'asset/v3/private/transfer/sub-member-transfer': 2.5,
'asset/v3/private/transfer/transfer-sub-member-save': 2.5,
'asset/v3/private/transfer/universal-transfer': 2.5,
'user/v3/private/create-sub-member': 10,
'user/v3/private/create-sub-api': 10,
'user/v3/private/update-api': 10,
'user/v3/private/delete-api': 10,
'user/v3/private/update-sub-api': 10,
'user/v3/private/delete-sub-api': 10,
// USDC endpoints
// option USDC
'option/usdc/openapi/private/v1/place-order': 2.5,
'option/usdc/openapi/private/v1/batch-place-order': 2.5,
'option/usdc/openapi/private/v1/replace-order': 2.5,
'option/usdc/openapi/private/v1/batch-replace-orders': 2.5,
'option/usdc/openapi/private/v1/cancel-order': 2.5,
'option/usdc/openapi/private/v1/batch-cancel-orders': 2.5,
'option/usdc/openapi/private/v1/cancel-all': 2.5,
'option/usdc/openapi/private/v1/query-active-orders': 2.5,
'option/usdc/openapi/private/v1/query-order-history': 2.5,
'option/usdc/openapi/private/v1/execution-list': 2.5,
'option/usdc/openapi/private/v1/query-transaction-log': 2.5,
'option/usdc/openapi/private/v1/query-wallet-balance': 2.5,
'option/usdc/openapi/private/v1/query-asset-info': 2.5,
'option/usdc/openapi/private/v1/query-margin-info': 2.5,
'option/usdc/openapi/private/v1/query-position': 2.5,
'option/usdc/openapi/private/v1/query-delivery-list': 2.5,
'option/usdc/openapi/private/v1/query-position-exp-date': 2.5,
'option/usdc/openapi/private/v1/mmp-modify': 2.5,
'option/usdc/openapi/private/v1/mmp-reset': 2.5,
// perpetual swap USDC
'perpetual/usdc/openapi/private/v1/place-order': 2.5,
'perpetual/usdc/openapi/private/v1/replace-order': 2.5,
'perpetual/usdc/openapi/private/v1/cancel-order': 2.5,
'perpetual/usdc/openapi/private/v1/cancel-all': 2.5,
'perpetual/usdc/openapi/private/v1/position/leverage/save': 2.5,
'option/usdc/openapi/private/v1/session-settlement': 2.5,
'option/usdc/private/asset/account/setMarginMode': 2.5,
'perpetual/usdc/openapi/public/v1/risk-limit/list': 2.5,
'perpetual/usdc/openapi/private/v1/position/set-risk-limit': 2.5,
'perpetual/usdc/openapi/private/v1/predicted-funding': 2.5,
'contract/v3/private/copytrading/order/create': 2.5,
'contract/v3/private/copytrading/order/cancel': 2.5,
'contract/v3/private/copytrading/order/close': 2.5,
'contract/v3/private/copytrading/position/close': 2.5,
'contract/v3/private/copytrading/position/set-leverage': 2.5,
'contract/v3/private/copytrading/wallet/transfer': 2.5,
'contract/v3/private/copytrading/order/trading-stop': 2.5,
'contract/v3/private/order/create': 1,
'contract/v3/private/order/cancel': 1,
'contract/v3/private/order/cancel-all': 1,
'contract/v3/private/order/replace': 1,
'contract/v3/private/position/set-auto-add-margin': 1,
'contract/v3/private/position/switch-isolated': 1,
'contract/v3/private/position/switch-mode': 1,
'contract/v3/private/position/switch-tpsl-mode': 1,
'contract/v3/private/position/set-leverage': 1,
'contract/v3/private/position/trading-stop': 1,
'contract/v3/private/position/set-risk-limit': 1,
'contract/v3/private/account/setMarginMode': 1,
// derivative
'unified/v3/private/order/create': 2.5,
'unified/v3/private/order/replace': 2.5,
'unified/v3/private/order/cancel': 2.5,
'unified/v3/private/order/create-batch': 2.5,
'unified/v3/private/order/replace-batch': 2.5,
'unified/v3/private/order/cancel-batch': 2.5,
'unified/v3/private/order/cancel-all': 2.5,
'unified/v3/private/position/set-leverage': 2.5,
'unified/v3/private/position/tpsl/switch-mode': 2.5,
'unified/v3/private/position/set-risk-limit': 2.5,
'unified/v3/private/position/trading-stop': 2.5,
'unified/v3/private/account/upgrade-unified-account': 2.5,
'unified/v3/private/account/setMarginMode': 2.5,
// tax
'fht/compliance/tax/v3/private/registertime': 50,
'fht/compliance/tax/v3/private/create': 50,
'fht/compliance/tax/v3/private/status': 50,
'fht/compliance/tax/v3/private/url': 50,
// v5
'v5/order/create': 2.5,
'v5/order/amend': 2.5,
'v5/order/cancel': 2.5,
'v5/order/cancel-all': 2.5,
'v5/order/create-batch': 2.5,
'v5/order/amend-batch': 2.5,
'v5/order/cancel-batch': 2.5,
'v5/order/disconnected-cancel-all': 2.5,
'v5/position/set-leverage': 2.5,
'v5/position/set-tpsl-mode': 2.5,
'v5/position/set-risk-limit': 2.5,
'v5/position/trading-stop': 2.5,
'v5/position/switch-isolated': 2.5,
'v5/position/switch-mode': 2.5,
'v5/position/set-auto-add-margin': 2.5,
'v5/account/upgrade-to-uta': 2.5,
'v5/account/set-margin-mode': 2.5,
'v5/asset/transfer/inter-transfer': 2.5,
'v5/asset/transfer/save-transfer-sub-member': 2.5,
'v5/asset/transfer/universal-transfer': 2.5,
'v5/asset/deposit/deposit-to-account': 2.5,
'v5/asset/withdraw/create': 2.5,
'v5/asset/withdraw/cancel': 2.5,
'v5/spot-lever-token/purchase': 2.5,
'v5/spot-lever-token/redeem': 2.5,
'v5/spot-lever-token/order-record': 2.5,
'v5/spot-margin-trade/switch-mode': 2.5,
'v5/spot-margin-trade/set-leverage': 2.5,
// user
'v5/user/create-sub-member': 10,
'v5/user/create-sub-api': 10,
'v5/user/frozen-sub-member': 10,
'v5/user/update-api': 10,
'v5/user/update-sub-api': 10,
'v5/user/delete-api': 10,
'v5/user/delete-sub-api': 10,
'v5/spot-cross-margin-trade/loan': 2.5,
'v5/spot-cross-margin-trade/repay': 2.5,
'v5/spot-cross-margin-trade/switch': 2.5, // 20/s => cost = 50 / 20 = 2.5
},
'delete': {
// spot
'spot/v1/order': 2.5,
'spot/v1/order/fast': 2.5,
'spot/order/batch-cancel': 2.5,
'spot/order/batch-fast-cancel': 2.5,
'spot/order/batch-cancel-by-ids': 2.5,
},
},
},
'httpExceptions': {
'403': errors.RateLimitExceeded, // Forbidden -- You request too many times
},
'exceptions': {
// Uncodumented explanation of error strings:
// - oc_diff: order cost needed to place this order
// - new_oc: total order cost of open orders including the order you are trying to open
// - ob: order balance - the total cost of current open orders
// - ab: available balance
'exact': {
'-10009': errors.BadRequest,
'-1004': errors.BadRequest,
'-1021': errors.BadRequest,
'-1103': errors.BadRequest,
'-1140': errors.InvalidOrder,
'-1197': errors.InvalidOrder,
'-2013': errors.InvalidOrder,
'-2015': errors.AuthenticationError,
'-6017': errors.BadRequest,
'-6025': errors.BadRequest,
'-6029': errors.BadRequest,
'5004': errors.ExchangeError,
'7001': errors.BadRequest,
'10001': errors.BadRequest,
'10002': errors.InvalidNonce,
'10003': errors.AuthenticationError,
'10004': errors.AuthenticationError,
'10005': errors.PermissionDenied,
'10006': errors.RateLimitExceeded,
'10007': errors.AuthenticationError,
'10008': errors.AuthenticationError,
'10009': errors.AuthenticationError,
'10010': errors.PermissionDenied,
'10014': errors.BadRequest,
'10016': errors.ExchangeError,
'10017': errors.BadRequest,
'10018': errors.RateLimitExceeded,
'10020': errors.PermissionDenied,
'10024': errors.PermissionDenied,
'10027': errors.PermissionDenied,
'10028': errors.PermissionDenied,
'10029': errors.PermissionDenied,
'12201': errors.BadRequest,
'12141': errors.BadRequest,
'100028': errors.PermissionDenied,
'110001': errors.InvalidOrder,
'110003': errors.InvalidOrder,
'110004': errors.InsufficientFunds,
'110005': errors.InvalidOrder,
'110006': errors.InsufficientFunds,
'110007': errors.InsufficientFunds,
'110008': errors.InvalidOrder,
'110009': errors.InvalidOrder,
'110010': errors.InvalidOrder,
'110011': errors.InvalidOrder,
'110012': errors.InsufficientFunds,
'110013': errors.BadRequest,
'110014': errors.InsufficientFunds,
'110015': errors.BadRequest,
'110016': errors.InvalidOrder,
'110017': errors.InvalidOrder,
'110018': errors.BadRequest,
'110019': errors.InvalidOrder,
'110020': errors.InvalidOrder,
'110021': errors.InvalidOrder,
'110022': errors.InvalidOrder,
'110023': errors.InvalidOrder,
'110024': errors.InvalidOrder,
'110025': errors.InvalidOrder,
'110026': errors.InvalidOrder,
'110027': errors.InvalidOrder,
'110028': errors.InvalidOrder,
'110029': errors.InvalidOrder,
'110030': errors.InvalidOrder,
'110031': errors.InvalidOrder,
'110032': errors.InvalidOrder,
'110033': errors.InvalidOrder,
'110034': errors.InvalidOrder,
'110035': errors.InvalidOrder,
'110036': errors.InvalidOrder,
'110037': errors.InvalidOrder,
'110038': errors.InvalidOrder,
'110039': errors.InvalidOrder,
'110040': errors.InvalidOrder,
'110041': errors.InvalidOrder,
'110042': errors.InvalidOrder,
'110043': errors.BadRequest,
'110044': errors.InsufficientFunds,
'110045': errors.InsufficientFunds,
'110046': errors.BadRequest,
'110047': errors.BadRequest,
'110048': errors.BadRequest,
'110049': errors.BadRequest,
'110050': errors.BadRequest,
'110051': errors.InsufficientFunds,
'110052': errors.InsufficientFunds,
'110053': errors.InsufficientFunds,
'110054': errors.InvalidOrder,
'110055': errors.InvalidOrder,
'110056': errors.InvalidOrder,
'110057': errors.InvalidOrder,
'110058': errors.InvalidOrder,
'110059': errors.InvalidOrder,
'110060': errors.BadRequest,
'110061': errors.BadRequest,
'110062': errors.BadRequest,
'110063': errors.ExchangeError,
'110064': errors.InvalidOrder,
'110065': errors.PermissionDenied,
'110066': errors.ExchangeError,
'110067': errors.PermissionDenied,
'110068': errors.PermissionDenied,
'110069': errors.PermissionDenied,
'110070': errors.InvalidOrder,
'110071': errors.ExchangeError,
'110072': errors.InvalidOrder,
'110073': errors.ExchangeError,
'130006': errors.InvalidOrder,
'130021': errors.InsufficientFunds,
'130074': errors.InvalidOrder,
'131001': errors.InsufficientFunds,
'131084': errors.ExchangeError,
'131200': errors.ExchangeError,
'131201': errors.ExchangeError,
'131202': errors.BadRequest,
'131203': errors.BadRequest,
'131204': errors.BadRequest,
'131205': errors.BadRequest,
'131206': errors.ExchangeError,
'131207': errors.BadRequest,
'131208': errors.ExchangeError,
'131209': errors.BadRequest,
'131210': errors.BadRequest,
'131211': errors.BadRequest,
'131212': errors.InsufficientFunds,
'131213': errors.BadRequest,
'131214': errors.BadRequest,
'131215': errors.BadRequest,
'131216': errors.ExchangeError,
'131217': errors.ExchangeError,
'131002': errors.BadRequest,
'131003': errors.ExchangeError,
'131004': errors.AuthenticationError,
'131085': errors.InsufficientFunds,
'131086': errors.BadRequest,
'131088': errors.BadRequest,
'131089': errors.BadRequest,
'131090': errors.ExchangeError,
'131091': errors.ExchangeError,
'131092': errors.ExchangeError,
'131093': errors.ExchangeError,
'131094': errors.BadRequest,
'131095': errors.BadRequest,
'131096': errors.BadRequest,
'131097': errors.ExchangeError,
'131098': errors.ExchangeError,
'131099': errors.ExchangeError,
'140001': errors.OrderNotFound,
'140003': errors.InvalidOrder,
'140004': errors.InsufficientFunds,
'140005': errors.InvalidOrder,
'140006': errors.InsufficientFunds,
'140007': errors.InsufficientFunds,
'140008': errors.InvalidOrder,
'140009': errors.InvalidOrder,
'140010': errors.InvalidOrder,
'140011': errors.InvalidOrder,
'140012': errors.InsufficientFunds,
'140013': errors.BadRequest,
'140014': errors.InsufficientFunds,
'140015': errors.InvalidOrder,
'140016': errors.InvalidOrder,
'140017': errors.InvalidOrder,
'140018': errors.BadRequest,
'140019': errors.InvalidOrder,
'140020': errors.InvalidOrder,
'140021': errors.InvalidOrder,
'140022': errors.InvalidOrder,
'140023': errors.InvalidOrder,
'140024': errors.BadRequest,
'140025': errors.BadRequest,
'140026': errors.BadRequest,
'140027': errors.BadRequest,
'140028': errors.InvalidOrder,
'140029': errors.BadRequest,
'140030': errors.InvalidOrder,
'140031': errors.BadRequest,
'140032': errors.InvalidOrder,
'140033': errors.InvalidOrder,
'140034': errors.InvalidOrder,
'140035': errors.InvalidOrder,
'140036': errors.BadRequest,
'140037': errors.InvalidOrder,
'140038': errors.BadRequest,
'140039': errors.BadRequest,
'140040': errors.InvalidOrder,
'140041': errors.InvalidOrder,
'140042': errors.InvalidOrder,
'140043': errors.BadRequest,
'140044': errors.InsufficientFunds,
'140045': errors.InsufficientFunds,
'140046': errors.BadRequest,
'140047': errors.BadRequest,
'140048': errors.BadRequest,
'140049': errors.BadRequest,
'140050': errors.InvalidOrder,
'140051': errors.InsufficientFunds,
'140052': errors.InsufficientFunds,
'140053': errors.InsufficientFunds,
'140054': errors.InvalidOrder,
'140055': errors.InvalidOrder,
'140056': errors.InvalidOrder,
'140057': errors.InvalidOrder,
'140058': errors.InvalidOrder,
'140059': errors.InvalidOrder,
'140060': errors.BadRequest,
'140061': errors.BadRequest,
'140062': errors.BadRequest,
'140063': errors.ExchangeError,
'140064': errors.InvalidOrder,
'140065': errors.PermissionDenied,
'140066': errors.ExchangeError,
'140067': errors.PermissionDenied,
'140068': errors.PermissionDenied,
'140069': errors.PermissionDenied,
'140070': errors.InvalidOrder,
'170001': errors.ExchangeError,
'170007': errors.RequestTimeout,
'170005': errors.InvalidOrder,
'170031': errors.ExchangeError,
'170032': errors.ExchangeError,
'170033': errors.InsufficientFunds,
'170034': errors.InsufficientFunds,
'170035': errors.BadRequest,
'170036': errors.BadRequest,
'170037': errors.BadRequest,
'170105': errors.BadRequest,
'170115': errors.InvalidOrder,
'170116': errors.InvalidOrder,
'170117': errors.InvalidOrder,
'170121': errors.InvalidOrder,
'170130': errors.BadRequest,
'170131': errors.InsufficientFunds,
'170132': errors.InvalidOrder,
'170133': errors.InvalidOrder,
'170134': errors.InvalidOrder,
'170135': errors.InvalidOrder,
'170136': errors.InvalidOrder,
'170137': errors.InvalidOrder,
'170139': errors.InvalidOrder,
'170140': errors.InvalidOrder,
'170124': errors.InvalidOrder,
'170141': errors.InvalidOrder,
'170142': errors.InvalidOrder,
'170143': errors.InvalidOrder,
'170144': errors.InvalidOrder,
'170145': errors.InvalidOrder,
'170146': errors.InvalidOrder,
'170147': errors.InvalidOrder,
'170148': errors.InvalidOrder,
'170149': errors.ExchangeError,
'170150': errors.ExchangeError,
'170151': errors.InvalidOrder,
'170157': errors.InvalidOrder,
'170159': errors.InvalidOrder,
'170190': errors.InvalidOrder,
'170191': errors.InvalidOrder,
'170192': errors.InvalidOrder,
'170193': errors.InvalidOrder,
'170194': errors.InvalidOrder,
'170195': errors.InvalidOrder,
'170196': errors.InvalidOrder,
'170197': errors.InvalidOrder,
'170198': errors.InvalidOrder,
'170199': errors.InvalidOrder,
'170200': errors.InvalidOrder,
'170221': errors.BadRequest,
'170222': errors.RateLimitExceeded,
'170223': errors.InsufficientFunds,
'170224': errors.PermissionDenied,
'170226': errors.InsufficientFunds,
'170227': errors.ExchangeError,
'170228': errors.InvalidOrder,