hive-intelligence 1.12.1 → 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/agent-skills/packs/hive-build/SKILL.md +1 -1
- package/build/{chunk-4GBOUVUD.js → chunk-V7TBL47R.js} +1 -1
- package/build/{chunk-PFX4AJNR.js → chunk-ZRAW5MXW.js} +293 -121
- package/build/cli.js +5 -5
- package/build/{doctor-SKJANP76.js → doctor-DUXJWV3F.js} +1 -1
- package/build/{mcpServer-TKLG6IOW.js → mcpServer-NWKQ4LCN.js} +1 -1
- package/build/monitor-worker.js +2 -2
- package/build/release.json +4 -4
- package/build/{serve-JNZIXB55.js → serve-47QIM7OD.js} +1 -1
- package/build/server.js +2 -2
- package/build/stdio.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -42,7 +42,7 @@ provider keys.
|
|
|
42
42
|
- Bundled agent skills that teach assistants the right Hive workflow:
|
|
43
43
|
discovery -> schema lookup -> bounded execution -> evidence receipt.
|
|
44
44
|
- A broad provider catalog remains available behind discovery for agents that
|
|
45
|
-
need a long-tail endpoint. The current catalog contains
|
|
45
|
+
need a long-tail endpoint. The current catalog contains 428 tools, but that
|
|
46
46
|
coverage is not the primary product contract.
|
|
47
47
|
|
|
48
48
|
## Quickstart
|
|
@@ -85,7 +85,7 @@ async def briefing():
|
|
|
85
85
|
prices, tvl, oi = await asyncio.gather(
|
|
86
86
|
h.execute("get_price", {"ids": "bitcoin,ethereum"}),
|
|
87
87
|
h.execute("get_protocol_tvl", {}),
|
|
88
|
-
h.execute("get_open_interest", {"exchange": "
|
|
88
|
+
h.execute("get_open_interest", {"exchange": "bybit", "symbol": "BTC/USDT:USDT"}),
|
|
89
89
|
)
|
|
90
90
|
return {"prices": prices, "tvl": tvl[:5], "oi": oi}
|
|
91
91
|
finally:
|
|
@@ -18081,7 +18081,7 @@ var wrapper = {
|
|
|
18081
18081
|
tool: {
|
|
18082
18082
|
name: "get_funding_rate",
|
|
18083
18083
|
oldToolName: "ccxt_fetch_funding_rate",
|
|
18084
|
-
description: "Fetch current funding rate for
|
|
18084
|
+
description: "Fetch the current funding rate for one perpetual contract. fundingRate is a raw fraction for one funding interval, and interval says which interval (for example 8h, 4h or 1h). interval is null where the venue does not report it, as on Binance, so do not annualize a null-interval rate or compare it across venues. Deribit's rate is the realized rate over the trailing 8 hours, not a forecast",
|
|
18085
18085
|
inputSchema: {
|
|
18086
18086
|
type: "object",
|
|
18087
18087
|
properties: {
|
|
@@ -18104,7 +18104,7 @@ var wrapper = {
|
|
|
18104
18104
|
tool: {
|
|
18105
18105
|
name: "get_funding_rate_history",
|
|
18106
18106
|
oldToolName: "ccxt_fetch_funding_rate_history",
|
|
18107
|
-
description: "Fetch funding rate history for perpetual
|
|
18107
|
+
description: "Fetch settled funding rate history for a perpetual contract. Each row is the rate for one funding period ending at its timestamp. Rows carry no interval (interval is null), so read the period from the gap between consecutive timestamps. Deribit is refused because its hourly rows each carry a trailing 8-hour rate, which overstates funding about 8x when summed",
|
|
18108
18108
|
inputSchema: {
|
|
18109
18109
|
type: "object",
|
|
18110
18110
|
properties: {
|
|
@@ -18227,7 +18227,7 @@ var wrapper = {
|
|
|
18227
18227
|
tool: {
|
|
18228
18228
|
name: "get_funding_rates",
|
|
18229
18229
|
oldToolName: "ccxt_fetch_funding_rates",
|
|
18230
|
-
description: "Fetch funding rates for
|
|
18230
|
+
description: "Fetch current funding rates for a list of perpetual contracts on one venue. Each rate is a raw fraction for one funding interval; each record's interval says which, and is null where the venue does not report it (Binance)",
|
|
18231
18231
|
inputSchema: {
|
|
18232
18232
|
type: "object",
|
|
18233
18233
|
properties: {
|
|
@@ -18388,7 +18388,7 @@ var wrapper = {
|
|
|
18388
18388
|
tool: {
|
|
18389
18389
|
name: "get_open_interest",
|
|
18390
18390
|
oldToolName: "ccxt_fetch_open_interest",
|
|
18391
|
-
description: "Fetch current open interest for
|
|
18391
|
+
description: "Fetch current open interest for one derivatives contract. Venues count it differently, so each record names its units. openInterestAmountUnit is base (Binance USDT-margined, Hyperliquid), base_both_sides (Bybit, which counts both sides of the book: halve it for one side) or contracts (OKX, HTX, Binance coin-margined: multiply by contractSize, which is in the base coin for linear contracts and in USD for inverse ones). openInterestValueUnit is usd, quote or usd_both_sides. A null unit is not verified for that venue, so do not compare it across venues. Bybit's figure can be up to an hour old",
|
|
18392
18392
|
inputSchema: {
|
|
18393
18393
|
type: "object",
|
|
18394
18394
|
properties: {
|
|
@@ -18411,7 +18411,7 @@ var wrapper = {
|
|
|
18411
18411
|
tool: {
|
|
18412
18412
|
name: "get_open_interest_history",
|
|
18413
18413
|
oldToolName: "ccxt_fetch_open_interest_history",
|
|
18414
|
-
description: "Fetch
|
|
18414
|
+
description: "Fetch open-interest history for one derivatives contract. Each row names its units as get_open_interest does: Binance base and quote, Bybit base counted on both sides, Gate contracts and USD, HTX base and quote. Refused: OKX, which reports a whole currency rather than the contract, and Binance coin-margined contracts, which come back empty",
|
|
18415
18415
|
inputSchema: {
|
|
18416
18416
|
type: "object",
|
|
18417
18417
|
properties: {
|
|
@@ -18522,7 +18522,7 @@ var wrapper = {
|
|
|
18522
18522
|
tool: {
|
|
18523
18523
|
name: "get_leverage_tiers",
|
|
18524
18524
|
oldToolName: "ccxt_fetch_leverage_tiers",
|
|
18525
|
-
description: "Fetch leverage tier information for trading pairs showing max leverage, maintenance margin rates, and notional value brackets",
|
|
18525
|
+
description: "Fetch leverage tier information for trading pairs showing max leverage, maintenance margin rates, and notional value brackets. minNotional and maxNotional are in each tier's currency, the contract's settle currency",
|
|
18526
18526
|
inputSchema: {
|
|
18527
18527
|
type: "object",
|
|
18528
18528
|
properties: {
|
|
@@ -27694,7 +27694,8 @@ Error Handling:
|
|
|
27694
27694
|
},
|
|
27695
27695
|
symbol: {
|
|
27696
27696
|
type: "string",
|
|
27697
|
-
description: "Trading pair symbol (e.g., BTC/USDT, ETH/USD)"
|
|
27697
|
+
description: "Trading pair symbol (e.g., BTC/USDT, ETH/USD)",
|
|
27698
|
+
examples: ["BTC/USDT"]
|
|
27698
27699
|
}
|
|
27699
27700
|
},
|
|
27700
27701
|
required: ["exchange", "symbol"]
|
|
@@ -27770,7 +27771,8 @@ Error Handling:
|
|
|
27770
27771
|
items: {
|
|
27771
27772
|
type: "string"
|
|
27772
27773
|
},
|
|
27773
|
-
description: "Required array of 1-100 trading pair symbols."
|
|
27774
|
+
description: "Required array of 1-100 trading pair symbols.",
|
|
27775
|
+
examples: [["BTC/USDT"]]
|
|
27774
27776
|
}
|
|
27775
27777
|
},
|
|
27776
27778
|
required: ["exchange"]
|
|
@@ -27847,7 +27849,8 @@ Error Handling:
|
|
|
27847
27849
|
},
|
|
27848
27850
|
symbol: {
|
|
27849
27851
|
type: "string",
|
|
27850
|
-
description: "Trading pair symbol (e.g., BTC/USDT, ETH/USD)"
|
|
27852
|
+
description: "Trading pair symbol (e.g., BTC/USDT, ETH/USD)",
|
|
27853
|
+
examples: ["BTC/USDT"]
|
|
27851
27854
|
},
|
|
27852
27855
|
limit: {
|
|
27853
27856
|
type: "number",
|
|
@@ -27928,7 +27931,8 @@ Error Handling:
|
|
|
27928
27931
|
},
|
|
27929
27932
|
symbol: {
|
|
27930
27933
|
type: "string",
|
|
27931
|
-
description: "Trading pair symbol (e.g., BTC/USDT, ETH/USD)"
|
|
27934
|
+
description: "Trading pair symbol (e.g., BTC/USDT, ETH/USD)",
|
|
27935
|
+
examples: ["BTC/USDT"]
|
|
27932
27936
|
},
|
|
27933
27937
|
since: {
|
|
27934
27938
|
type: "number",
|
|
@@ -28011,7 +28015,8 @@ Error Handling:
|
|
|
28011
28015
|
},
|
|
28012
28016
|
symbol: {
|
|
28013
28017
|
type: "string",
|
|
28014
|
-
description: "Trading pair symbol (e.g., BTC/USDT, ETH/USD)"
|
|
28018
|
+
description: "Trading pair symbol (e.g., BTC/USDT, ETH/USD)",
|
|
28019
|
+
examples: ["BTC/USDT"]
|
|
28015
28020
|
},
|
|
28016
28021
|
timeframe: {
|
|
28017
28022
|
type: "string",
|
|
@@ -28059,7 +28064,8 @@ Returns:
|
|
|
28059
28064
|
"symbol": string, // Contract symbol
|
|
28060
28065
|
"timestamp": number, // Data timestamp
|
|
28061
28066
|
"datetime": string, // ISO datetime
|
|
28062
|
-
"fundingRate": number, //
|
|
28067
|
+
"fundingRate": number, // Raw fraction for one funding interval (0.0001 = 0.01%)
|
|
28068
|
+
"interval": string | null, // That interval, e.g. "8h"; null where the venue does not report it (Binance)
|
|
28063
28069
|
"fundingTimestamp": number, // Next funding time
|
|
28064
28070
|
"fundingDatetime": string,
|
|
28065
28071
|
"markPrice": number, // Current mark price
|
|
@@ -28092,11 +28098,13 @@ Error Handling:
|
|
|
28092
28098
|
properties: {
|
|
28093
28099
|
exchange: {
|
|
28094
28100
|
type: "string",
|
|
28095
|
-
description: "Exchange ID
|
|
28101
|
+
description: "Exchange ID of a perpetuals venue: bybit, binance, okx, bitget, gate, htx, hyperliquid, deribit, krakenfutures, kucoinfutures, mexc",
|
|
28102
|
+
examples: ["bybit"]
|
|
28096
28103
|
},
|
|
28097
28104
|
symbol: {
|
|
28098
28105
|
type: "string",
|
|
28099
|
-
description: "Perpetual contract symbol (e.g., BTC/USDT:USDT)"
|
|
28106
|
+
description: "Perpetual contract symbol (e.g., BTC/USDT:USDT)",
|
|
28107
|
+
examples: ["BTC/USDT:USDT"]
|
|
28100
28108
|
}
|
|
28101
28109
|
},
|
|
28102
28110
|
required: ["exchange", "symbol"]
|
|
@@ -28123,7 +28131,7 @@ var fetchFundingRateHistoryTool = {
|
|
|
28123
28131
|
Returns historical funding rate records useful for analyzing funding trends and calculating historical costs.
|
|
28124
28132
|
|
|
28125
28133
|
Args:
|
|
28126
|
-
- exchange (string, required): Exchange ID with perpetual futures. Options: "binance", "bybit", "okx", "bitget", "gate".
|
|
28134
|
+
- exchange (string, required): Exchange ID with perpetual futures. Options: "binance", "bybit", "okx", "bitget", "gate". Deribit is refused: its hourly rows each carry a trailing 8-hour rate, so a sum overstates funding about 8x.
|
|
28127
28135
|
- symbol (string, optional): Perpetual contract symbol. If omitted, may fetch all contracts (exchange-dependent).
|
|
28128
28136
|
- since (number, optional): Timestamp in milliseconds to fetch history since.
|
|
28129
28137
|
- limit (number, optional): Number of funding rate records to return.
|
|
@@ -28134,7 +28142,8 @@ Returns:
|
|
|
28134
28142
|
"symbol": string, // Contract symbol
|
|
28135
28143
|
"timestamp": number, // Funding timestamp
|
|
28136
28144
|
"datetime": string, // ISO datetime
|
|
28137
|
-
"fundingRate": number, //
|
|
28145
|
+
"fundingRate": number, // Rate for the funding period ending at timestamp
|
|
28146
|
+
"interval": null, // Rows carry no interval; the gap between timestamps is the period
|
|
28138
28147
|
"info": {...} // Raw exchange response
|
|
28139
28148
|
}]
|
|
28140
28149
|
|
|
@@ -28161,11 +28170,13 @@ Error Handling:
|
|
|
28161
28170
|
properties: {
|
|
28162
28171
|
exchange: {
|
|
28163
28172
|
type: "string",
|
|
28164
|
-
description: "Exchange ID
|
|
28173
|
+
description: "Exchange ID of a perpetuals venue: bybit, binance, okx, bitget, gate, htx, hyperliquid, kucoinfutures, mexc. Deribit is refused: its hourly rows each carry a trailing 8-hour rate",
|
|
28174
|
+
examples: ["bybit"]
|
|
28165
28175
|
},
|
|
28166
28176
|
symbol: {
|
|
28167
28177
|
type: "string",
|
|
28168
|
-
description: "Perpetual contract symbol (optional)"
|
|
28178
|
+
description: "Perpetual contract symbol (optional)",
|
|
28179
|
+
examples: ["BTC/USDT:USDT"]
|
|
28169
28180
|
},
|
|
28170
28181
|
since: {
|
|
28171
28182
|
type: "number",
|
|
@@ -28240,14 +28251,16 @@ Error Handling:
|
|
|
28240
28251
|
properties: {
|
|
28241
28252
|
exchange: {
|
|
28242
28253
|
type: "string",
|
|
28243
|
-
description: "Exchange ID.
|
|
28254
|
+
description: "Exchange ID. Venues that serve best bid/ask in Hive's CCXT build: binance, bybit, coinbase, mexc, kucoinfutures",
|
|
28255
|
+
examples: ["bybit"]
|
|
28244
28256
|
},
|
|
28245
28257
|
symbols: {
|
|
28246
28258
|
type: "array",
|
|
28247
28259
|
items: {
|
|
28248
28260
|
type: "string"
|
|
28249
28261
|
},
|
|
28250
|
-
description: "Required array of 1-100 trading pair symbols."
|
|
28262
|
+
description: "Required array of 1-100 trading pair symbols.",
|
|
28263
|
+
examples: [["BTC/USDT"]]
|
|
28251
28264
|
}
|
|
28252
28265
|
},
|
|
28253
28266
|
required: ["exchange"]
|
|
@@ -28308,7 +28321,7 @@ Error Handling:
|
|
|
28308
28321
|
properties: {
|
|
28309
28322
|
exchange: {
|
|
28310
28323
|
type: "string",
|
|
28311
|
-
description: "Exchange ID.
|
|
28324
|
+
description: "Exchange ID. Venues that report status in Hive's CCXT build include binance, bybit, kraken, okx, kucoin, htx and mexc"
|
|
28312
28325
|
}
|
|
28313
28326
|
},
|
|
28314
28327
|
required: ["exchange"]
|
|
@@ -28425,11 +28438,12 @@ Error Handling:
|
|
|
28425
28438
|
properties: {
|
|
28426
28439
|
exchange: {
|
|
28427
28440
|
type: "string",
|
|
28428
|
-
description: "Exchange ID.
|
|
28441
|
+
description: "Exchange ID. Venues that serve L2 depth in Hive's CCXT build include binance, kraken, bybit, okx, kucoin, bitget and gate (not coinbase)"
|
|
28429
28442
|
},
|
|
28430
28443
|
symbol: {
|
|
28431
28444
|
type: "string",
|
|
28432
|
-
description: "Trading pair symbol (e.g., BTC/USDT, ETH/USD)"
|
|
28445
|
+
description: "Trading pair symbol (e.g., BTC/USDT, ETH/USD)",
|
|
28446
|
+
examples: ["BTC/USDT"]
|
|
28433
28447
|
},
|
|
28434
28448
|
limit: {
|
|
28435
28449
|
type: "number",
|
|
@@ -28470,7 +28484,8 @@ Returns:
|
|
|
28470
28484
|
"symbol": string,
|
|
28471
28485
|
"timestamp": number,
|
|
28472
28486
|
"datetime": string,
|
|
28473
|
-
"fundingRate": number,
|
|
28487
|
+
"fundingRate": number, // Raw fraction for one funding interval
|
|
28488
|
+
"interval": string | null, // e.g. "8h"; null where the venue does not report it
|
|
28474
28489
|
"fundingTimestamp": number,
|
|
28475
28490
|
"markPrice": number,
|
|
28476
28491
|
"indexPrice": number,
|
|
@@ -28493,21 +28508,22 @@ Don't use when:
|
|
|
28493
28508
|
- You need historical rates (use ccxt_fetch_funding_rate_history)
|
|
28494
28509
|
|
|
28495
28510
|
Error Handling:
|
|
28496
|
-
- Not all exchanges support batch funding rate queries
|
|
28497
|
-
- Falls back to individual queries if needed`,
|
|
28511
|
+
- Not all exchanges support batch funding rate queries`,
|
|
28498
28512
|
inputSchema: {
|
|
28499
28513
|
type: "object",
|
|
28500
28514
|
properties: {
|
|
28501
28515
|
exchange: {
|
|
28502
28516
|
type: "string",
|
|
28503
|
-
description: "Exchange ID
|
|
28517
|
+
description: "Exchange ID of a perpetuals venue: bybit, binance, okx, bitget, gate, htx, hyperliquid, krakenfutures",
|
|
28518
|
+
examples: ["bybit"]
|
|
28504
28519
|
},
|
|
28505
28520
|
symbols: {
|
|
28506
28521
|
type: "array",
|
|
28507
28522
|
items: {
|
|
28508
28523
|
type: "string"
|
|
28509
28524
|
},
|
|
28510
|
-
description: "Required array of 1-100 perpetual contract symbols."
|
|
28525
|
+
description: "Required array of 1-100 perpetual contract symbols.",
|
|
28526
|
+
examples: [["BTC/USDT:USDT"]]
|
|
28511
28527
|
}
|
|
28512
28528
|
},
|
|
28513
28529
|
required: ["exchange"]
|
|
@@ -28566,11 +28582,13 @@ Error Handling:
|
|
|
28566
28582
|
properties: {
|
|
28567
28583
|
exchange: {
|
|
28568
28584
|
type: "string",
|
|
28569
|
-
description: "Exchange ID
|
|
28585
|
+
description: "Exchange ID of a derivatives venue: bybit, binance, okx, bitget, gate, htx, kucoinfutures, mexc",
|
|
28586
|
+
examples: ["bybit"]
|
|
28570
28587
|
},
|
|
28571
28588
|
symbol: {
|
|
28572
28589
|
type: "string",
|
|
28573
|
-
description: "
|
|
28590
|
+
description: "Contract symbol whose index to read (e.g., BTC/USDT:USDT)",
|
|
28591
|
+
examples: ["BTC/USDT:USDT"]
|
|
28574
28592
|
},
|
|
28575
28593
|
timeframe: {
|
|
28576
28594
|
type: "string",
|
|
@@ -28641,11 +28659,13 @@ Error Handling:
|
|
|
28641
28659
|
properties: {
|
|
28642
28660
|
exchange: {
|
|
28643
28661
|
type: "string",
|
|
28644
|
-
description: "Exchange ID
|
|
28662
|
+
description: "Exchange ID of a derivatives venue: bybit, binance, okx, bitget, gate, htx, kucoinfutures, mexc, krakenfutures, bingx",
|
|
28663
|
+
examples: ["bybit"]
|
|
28645
28664
|
},
|
|
28646
28665
|
symbol: {
|
|
28647
28666
|
type: "string",
|
|
28648
|
-
description: "Perpetual contract symbol (e.g., BTC/USDT:USDT)"
|
|
28667
|
+
description: "Perpetual contract symbol (e.g., BTC/USDT:USDT)",
|
|
28668
|
+
examples: ["BTC/USDT:USDT"]
|
|
28649
28669
|
},
|
|
28650
28670
|
timeframe: {
|
|
28651
28671
|
type: "string",
|
|
@@ -28716,11 +28736,13 @@ Error Handling:
|
|
|
28716
28736
|
properties: {
|
|
28717
28737
|
exchange: {
|
|
28718
28738
|
type: "string",
|
|
28719
|
-
description: "Exchange ID
|
|
28739
|
+
description: "Exchange ID of a perpetuals venue with a premium index: bybit, binance, htx, kucoinfutures (not okx)",
|
|
28740
|
+
examples: ["bybit"]
|
|
28720
28741
|
},
|
|
28721
28742
|
symbol: {
|
|
28722
28743
|
type: "string",
|
|
28723
|
-
description: "Perpetual contract symbol (e.g., BTC/USDT:USDT)"
|
|
28744
|
+
description: "Perpetual contract symbol (e.g., BTC/USDT:USDT)",
|
|
28745
|
+
examples: ["BTC/USDT:USDT"]
|
|
28724
28746
|
},
|
|
28725
28747
|
timeframe: {
|
|
28726
28748
|
type: "string",
|
|
@@ -28797,7 +28819,7 @@ Error Handling:
|
|
|
28797
28819
|
properties: {
|
|
28798
28820
|
exchange: {
|
|
28799
28821
|
type: "string",
|
|
28800
|
-
description: "Exchange ID.
|
|
28822
|
+
description: "Exchange ID. Live fee schedules need an exchange account on most venues; without one Hive returns CCXT's static default schedule, marked fallback"
|
|
28801
28823
|
}
|
|
28802
28824
|
},
|
|
28803
28825
|
required: ["exchange"]
|
|
@@ -28830,7 +28852,7 @@ var fetchOpenInterestTool = {
|
|
|
28830
28852
|
Returns the total number of outstanding derivative contracts (futures/perpetuals) that have not been settled.
|
|
28831
28853
|
|
|
28832
28854
|
Args:
|
|
28833
|
-
- exchange (string, required): Exchange ID with derivatives. Top exchanges: "binance", "bybit", "okx", "
|
|
28855
|
+
- exchange (string, required): Exchange ID with derivatives. Top exchanges: "binance", "bybit", "okx", "htx", "hyperliquid".
|
|
28834
28856
|
- symbol (string, required): Derivatives contract symbol (e.g., "BTC/USDT:USDT", "ETH/USDT:USDT").
|
|
28835
28857
|
|
|
28836
28858
|
Returns:
|
|
@@ -28839,8 +28861,11 @@ Returns:
|
|
|
28839
28861
|
"symbol": string, // Contract symbol
|
|
28840
28862
|
"timestamp": number, // Unix timestamp in ms
|
|
28841
28863
|
"datetime": string, // ISO datetime
|
|
28842
|
-
"openInterestAmount": number, //
|
|
28843
|
-
"openInterestValue": number, //
|
|
28864
|
+
"openInterestAmount": number, // Units vary by venue: see openInterestAmountUnit
|
|
28865
|
+
"openInterestValue": number, // Units vary by venue: see openInterestValueUnit
|
|
28866
|
+
"openInterestAmountUnit": "base" | "base_both_sides" | "contracts" | null,
|
|
28867
|
+
"openInterestValueUnit": "usd" | "quote" | "usd_both_sides" | null,
|
|
28868
|
+
"contractSize": number, // Present when the amount is in contracts
|
|
28844
28869
|
"baseVolume": number, // Volume in base currency
|
|
28845
28870
|
"quoteVolume": number, // Volume in quote currency
|
|
28846
28871
|
"info": {...} // Raw exchange response
|
|
@@ -28870,11 +28895,13 @@ Error Handling:
|
|
|
28870
28895
|
properties: {
|
|
28871
28896
|
exchange: {
|
|
28872
28897
|
type: "string",
|
|
28873
|
-
description: "Exchange ID
|
|
28898
|
+
description: "Exchange ID of a derivatives venue: bybit, binance, okx, htx, hyperliquid, deribit, bitget, kucoinfutures, bingx (not gate)",
|
|
28899
|
+
examples: ["bybit"]
|
|
28874
28900
|
},
|
|
28875
28901
|
symbol: {
|
|
28876
28902
|
type: "string",
|
|
28877
|
-
description: "Derivatives contract symbol (e.g., BTC/USDT:USDT)"
|
|
28903
|
+
description: "Derivatives contract symbol (e.g., BTC/USDT:USDT)",
|
|
28904
|
+
examples: ["BTC/USDT:USDT"]
|
|
28878
28905
|
}
|
|
28879
28906
|
},
|
|
28880
28907
|
required: ["exchange", "symbol"]
|
|
@@ -28907,9 +28934,9 @@ var fetchOpenInterestHistoryTool = {
|
|
|
28907
28934
|
Returns time-series open interest data for analyzing trends in derivatives market participation.
|
|
28908
28935
|
|
|
28909
28936
|
Args:
|
|
28910
|
-
- exchange (string, required): Exchange ID with derivatives. Top exchanges: "binance", "bybit", "
|
|
28937
|
+
- exchange (string, required): Exchange ID with derivatives. Top exchanges: "binance", "bybit", "gate", "htx". OKX is refused: it reports a whole currency, not the contract.
|
|
28911
28938
|
- symbol (string, required): Derivatives contract symbol (e.g., "BTC/USDT:USDT", "ETH/USDT:USDT").
|
|
28912
|
-
- timeframe (string, optional): Data interval.
|
|
28939
|
+
- timeframe (string, optional): Data interval, default "1h". binance 5m to 1d (about 30 days back), bybit 5m, 15m, 30m, 1h, 4h, 1d.
|
|
28913
28940
|
- params (object, optional): Exchange-specific params.
|
|
28914
28941
|
|
|
28915
28942
|
Returns:
|
|
@@ -28918,8 +28945,10 @@ Returns:
|
|
|
28918
28945
|
"symbol": string, // Contract symbol
|
|
28919
28946
|
"timestamp": number, // Unix timestamp in ms
|
|
28920
28947
|
"datetime": string, // ISO datetime
|
|
28921
|
-
"openInterestAmount": number, //
|
|
28922
|
-
"openInterestValue": number, //
|
|
28948
|
+
"openInterestAmount": number, // Units vary by venue: see openInterestAmountUnit
|
|
28949
|
+
"openInterestValue": number, // Units vary by venue: see openInterestValueUnit
|
|
28950
|
+
"openInterestAmountUnit": "base" | "base_both_sides" | "contracts" | null,
|
|
28951
|
+
"openInterestValueUnit": "usd" | "quote" | "usd_both_sides" | null,
|
|
28923
28952
|
"info": {...} // Raw exchange response
|
|
28924
28953
|
}]
|
|
28925
28954
|
|
|
@@ -28946,15 +28975,17 @@ Error Handling:
|
|
|
28946
28975
|
properties: {
|
|
28947
28976
|
exchange: {
|
|
28948
28977
|
type: "string",
|
|
28949
|
-
description: "Exchange ID
|
|
28978
|
+
description: "Exchange ID of a derivatives venue: binance, bybit, gate, htx, kucoinfutures. OKX is refused: it reports a whole currency, not the contract",
|
|
28979
|
+
examples: ["bybit"]
|
|
28950
28980
|
},
|
|
28951
28981
|
symbol: {
|
|
28952
28982
|
type: "string",
|
|
28953
|
-
description: "Derivatives contract symbol (e.g., BTC/USDT:USDT)"
|
|
28983
|
+
description: "Derivatives contract symbol (e.g., BTC/USDT:USDT)",
|
|
28984
|
+
examples: ["BTC/USDT:USDT"]
|
|
28954
28985
|
},
|
|
28955
28986
|
timeframe: {
|
|
28956
28987
|
type: "string",
|
|
28957
|
-
description: "Data interval
|
|
28988
|
+
description: "Data interval, default 1h. binance 5m to 1d (about 30 days back), bybit 5m, 15m, 30m, 1h, 4h, 1d, gate 5m to 1d, htx 1h, 4h, 12h, 1d"
|
|
28958
28989
|
},
|
|
28959
28990
|
since: {
|
|
28960
28991
|
type: "number",
|
|
@@ -29007,9 +29038,7 @@ Returns:
|
|
|
29007
29038
|
"symbol": string, // Contract symbol
|
|
29008
29039
|
"timestamp": number, // Unix timestamp in ms
|
|
29009
29040
|
"datetime": string, // ISO datetime
|
|
29010
|
-
"longShortRatio": number, // Ratio of longs to shorts
|
|
29011
|
-
"longAccount": number, // Percentage of long accounts
|
|
29012
|
-
"shortAccount": number, // Percentage of short accounts
|
|
29041
|
+
"longShortRatio": number, // Ratio of longs to shorts (each venue defines its own sample)
|
|
29013
29042
|
"info": {...} // Raw exchange response
|
|
29014
29043
|
}
|
|
29015
29044
|
|
|
@@ -29037,11 +29066,13 @@ Error Handling:
|
|
|
29037
29066
|
properties: {
|
|
29038
29067
|
exchange: {
|
|
29039
29068
|
type: "string",
|
|
29040
|
-
description: "Exchange ID
|
|
29069
|
+
description: "Exchange ID of a derivatives venue: binance, bybit, okx, bitget (read through the ratio history)",
|
|
29070
|
+
examples: ["bybit"]
|
|
29041
29071
|
},
|
|
29042
29072
|
symbol: {
|
|
29043
29073
|
type: "string",
|
|
29044
|
-
description: "Derivatives contract symbol (e.g., BTC/USDT:USDT)"
|
|
29074
|
+
description: "Derivatives contract symbol (e.g., BTC/USDT:USDT)",
|
|
29075
|
+
examples: ["BTC/USDT:USDT"]
|
|
29045
29076
|
},
|
|
29046
29077
|
timeframe: {
|
|
29047
29078
|
type: "string",
|
|
@@ -29160,7 +29191,7 @@ var fetchLeverageTiersTool = {
|
|
|
29160
29191
|
Returns leverage tiers showing maximum leverage, maintenance margin rates, and notional value brackets for derivatives trading pairs. Essential for understanding position sizing limits and margin requirements.
|
|
29161
29192
|
|
|
29162
29193
|
Args:
|
|
29163
|
-
- exchange (string, required): Exchange ID. Options: "
|
|
29194
|
+
- exchange (string, required): Exchange ID. Options: "bybit", "gate", "bitget", "htx", "kucoinfutures", "mexc". Binance needs an exchange account.
|
|
29164
29195
|
- symbol (string, required): Trading pair symbol (e.g., "BTC/USDT:USDT"). Use ccxt_fetch_leverage_tiers_all for all symbols.
|
|
29165
29196
|
|
|
29166
29197
|
Returns:
|
|
@@ -29168,7 +29199,7 @@ Returns:
|
|
|
29168
29199
|
{
|
|
29169
29200
|
"BTC/USDT:USDT": [{
|
|
29170
29201
|
"tier": 1,
|
|
29171
|
-
"currency": "USDT",
|
|
29202
|
+
"currency": "USDT", // Notional currency (the settle currency)
|
|
29172
29203
|
"minNotional": 0,
|
|
29173
29204
|
"maxNotional": 50000,
|
|
29174
29205
|
"maintenanceMarginRate": 0.004,
|
|
@@ -29178,8 +29209,8 @@ Returns:
|
|
|
29178
29209
|
}
|
|
29179
29210
|
|
|
29180
29211
|
Examples:
|
|
29181
|
-
- Get BTC leverage tiers on
|
|
29182
|
-
- Get ETH tiers on
|
|
29212
|
+
- Get BTC leverage tiers on Bybit: {"exchange": "bybit", "symbol": "BTC/USDT:USDT"}
|
|
29213
|
+
- Get ETH tiers on Gate: {"exchange": "gate", "symbol": "ETH/USDT:USDT"}
|
|
29183
29214
|
|
|
29184
29215
|
Use when:
|
|
29185
29216
|
- You need to check maximum leverage for a trading pair
|
|
@@ -29201,11 +29232,13 @@ Error Handling:
|
|
|
29201
29232
|
properties: {
|
|
29202
29233
|
exchange: {
|
|
29203
29234
|
type: "string",
|
|
29204
|
-
description: "Exchange ID
|
|
29235
|
+
description: "Exchange ID of a derivatives venue: bybit, gate, bitget, htx, kucoinfutures, mexc. Binance needs an exchange account",
|
|
29236
|
+
examples: ["bybit"]
|
|
29205
29237
|
},
|
|
29206
29238
|
symbol: {
|
|
29207
29239
|
type: "string",
|
|
29208
|
-
description: 'Trading pair symbol (e.g., "BTC/USDT:USDT"). Required for fetchMarketLeverageTiers.'
|
|
29240
|
+
description: 'Trading pair symbol (e.g., "BTC/USDT:USDT"). Required for fetchMarketLeverageTiers.',
|
|
29241
|
+
examples: ["BTC/USDT:USDT"]
|
|
29209
29242
|
}
|
|
29210
29243
|
},
|
|
29211
29244
|
required: ["exchange", "symbol"]
|
|
@@ -29302,7 +29335,7 @@ var fetchMarkPricesTool = {
|
|
|
29302
29335
|
Returns the mark price used by exchanges for margin calculations and liquidations. Mark prices are derived from index prices and are less susceptible to manipulation than last traded prices.
|
|
29303
29336
|
|
|
29304
29337
|
Args:
|
|
29305
|
-
- exchange (string, required): Exchange ID with derivatives. Supported: "binance", "
|
|
29338
|
+
- exchange (string, required): Exchange ID with derivatives. Supported: "binance", "okx", "kucoinfutures", "bingx".
|
|
29306
29339
|
- symbols (array, required): Array of 1-100 contract symbols (e.g., ["BTC/USDT:USDT", "ETH/USDT:USDT"]).
|
|
29307
29340
|
|
|
29308
29341
|
Returns:
|
|
@@ -29322,7 +29355,7 @@ Returns:
|
|
|
29322
29355
|
}
|
|
29323
29356
|
|
|
29324
29357
|
Examples:
|
|
29325
|
-
- Get specific mark prices: {"exchange": "
|
|
29358
|
+
- Get specific mark prices: {"exchange": "binance", "symbols": ["BTC/USDT:USDT", "ETH/USDT:USDT"]}
|
|
29326
29359
|
|
|
29327
29360
|
Use when:
|
|
29328
29361
|
- You need mark prices for liquidation/margin calculations
|
|
@@ -29344,7 +29377,7 @@ Error Handling:
|
|
|
29344
29377
|
properties: {
|
|
29345
29378
|
exchange: {
|
|
29346
29379
|
type: "string",
|
|
29347
|
-
description: "Exchange ID. Derivatives exchanges: binance,
|
|
29380
|
+
description: "Exchange ID. Derivatives exchanges with batch mark prices: binance, okx, kucoinfutures, bingx."
|
|
29348
29381
|
},
|
|
29349
29382
|
symbols: {
|
|
29350
29383
|
type: "array",
|
|
@@ -29376,7 +29409,7 @@ var fetchOpenInterestsTool = {
|
|
|
29376
29409
|
Returns the total number of outstanding derivative contracts (futures/perpetuals) that have not been settled. More efficient than calling fetchOpenInterest per symbol.
|
|
29377
29410
|
|
|
29378
29411
|
Args:
|
|
29379
|
-
- exchange (string, required): Exchange ID with derivatives. Supported: "
|
|
29412
|
+
- exchange (string, required): Exchange ID with derivatives. Supported: "okx", "htx", "hyperliquid", "kucoinfutures".
|
|
29380
29413
|
- symbols (array, required): Array of 1-100 contract symbols (e.g., ["BTC/USDT:USDT"]).
|
|
29381
29414
|
|
|
29382
29415
|
Returns:
|
|
@@ -29386,15 +29419,18 @@ Returns:
|
|
|
29386
29419
|
"symbol": string,
|
|
29387
29420
|
"timestamp": number,
|
|
29388
29421
|
"datetime": string,
|
|
29389
|
-
"openInterestAmount": number,
|
|
29390
|
-
"openInterestValue": number,
|
|
29422
|
+
"openInterestAmount": number, // Units vary by venue: see openInterestAmountUnit
|
|
29423
|
+
"openInterestValue": number, // Units vary by venue: see openInterestValueUnit
|
|
29424
|
+
"openInterestAmountUnit": "base" | "base_both_sides" | "contracts" | null,
|
|
29425
|
+
"openInterestValueUnit": "usd" | "quote" | "usd_both_sides" | null,
|
|
29426
|
+
"contractSize": number, // Present when the amount is in contracts
|
|
29391
29427
|
"info": {...}
|
|
29392
29428
|
},
|
|
29393
29429
|
...
|
|
29394
29430
|
}
|
|
29395
29431
|
|
|
29396
29432
|
Examples:
|
|
29397
|
-
- Get specific OI: {"exchange": "
|
|
29433
|
+
- Get specific OI: {"exchange": "okx", "symbols": ["BTC/USDT:USDT", "ETH/USDT:USDT"]}
|
|
29398
29434
|
|
|
29399
29435
|
Use when:
|
|
29400
29436
|
- You need open interest across many contracts at once
|
|
@@ -29416,7 +29452,7 @@ Error Handling:
|
|
|
29416
29452
|
properties: {
|
|
29417
29453
|
exchange: {
|
|
29418
29454
|
type: "string",
|
|
29419
|
-
description: "Exchange ID. Derivatives exchanges:
|
|
29455
|
+
description: "Exchange ID. Derivatives exchanges with batch open interest: okx, htx, hyperliquid, kucoinfutures."
|
|
29420
29456
|
},
|
|
29421
29457
|
symbols: {
|
|
29422
29458
|
type: "array",
|
|
@@ -29525,7 +29561,7 @@ var fetchLongShortRatioHistoryTool = {
|
|
|
29525
29561
|
Returns time-series long/short ratio data showing how the balance between long and short positions has changed over time. Useful for identifying sentiment shifts and contrarian signals.
|
|
29526
29562
|
|
|
29527
29563
|
Args:
|
|
29528
|
-
- exchange (string, required): Exchange ID with derivatives. Supported: "binance", "bybit", "okx".
|
|
29564
|
+
- exchange (string, required): Exchange ID with derivatives. Supported: "binance", "bybit", "okx", "bitget".
|
|
29529
29565
|
- symbol (string, required): Derivatives contract symbol (e.g., "BTC/USDT:USDT").
|
|
29530
29566
|
- timeframe (string, optional): Data interval. Options: "5m", "15m", "30m", "1h", "4h", "1d". Default: "1h".
|
|
29531
29567
|
- since (number, optional): Unix timestamp in milliseconds to start from.
|
|
@@ -29538,10 +29574,8 @@ Returns:
|
|
|
29538
29574
|
"symbol": string,
|
|
29539
29575
|
"timestamp": number,
|
|
29540
29576
|
"datetime": string,
|
|
29541
|
-
"longShortRatio": number,
|
|
29542
|
-
"
|
|
29543
|
-
"shortAccount": number,
|
|
29544
|
-
"info": {...}
|
|
29577
|
+
"longShortRatio": number, // Each venue defines its own sample (accounts or positions)
|
|
29578
|
+
"info": {...} // Venue fields, e.g. Binance's longAccount and shortAccount
|
|
29545
29579
|
}]
|
|
29546
29580
|
|
|
29547
29581
|
Examples:
|
|
@@ -29568,7 +29602,7 @@ Error Handling:
|
|
|
29568
29602
|
properties: {
|
|
29569
29603
|
exchange: {
|
|
29570
29604
|
type: "string",
|
|
29571
|
-
description: "Exchange ID. Derivatives exchanges: binance, bybit, okx."
|
|
29605
|
+
description: "Exchange ID. Derivatives exchanges: binance, bybit, okx, bitget."
|
|
29572
29606
|
},
|
|
29573
29607
|
symbol: {
|
|
29574
29608
|
type: "string",
|
|
@@ -29694,7 +29728,7 @@ var fetchLeverageTiersAllTool = {
|
|
|
29694
29728
|
Returns leverage tier brackets for all markets showing max leverage at each notional value bracket. Uses the batch fetchLeverageTiers method (not fetchMarketLeverageTiers which is per-symbol).
|
|
29695
29729
|
|
|
29696
29730
|
Args:
|
|
29697
|
-
- exchange (string, required): Exchange ID with derivatives. Supported: "
|
|
29731
|
+
- exchange (string, required): Exchange ID with derivatives. Supported: "bybit", "htx", "kucoinfutures", "mexc", "krakenfutures". Binance needs an exchange account; gate is refused (CCXT builds its bulk tiers from market metadata). Use get_leverage_tiers per symbol on gate.
|
|
29698
29732
|
- symbols (array, required): Array of 1-100 contract symbols.
|
|
29699
29733
|
|
|
29700
29734
|
Returns:
|
|
@@ -29702,7 +29736,7 @@ Returns:
|
|
|
29702
29736
|
{
|
|
29703
29737
|
"BTC/USDT:USDT": [{
|
|
29704
29738
|
"tier": 1,
|
|
29705
|
-
"currency": "USDT",
|
|
29739
|
+
"currency": "USDT", // Notional currency (the settle currency)
|
|
29706
29740
|
"minNotional": 0,
|
|
29707
29741
|
"maxNotional": 50000,
|
|
29708
29742
|
"maintenanceMarginRate": 0.004,
|
|
@@ -29735,7 +29769,7 @@ Error Handling:
|
|
|
29735
29769
|
properties: {
|
|
29736
29770
|
exchange: {
|
|
29737
29771
|
type: "string",
|
|
29738
|
-
description: "Exchange ID. Derivatives exchanges:
|
|
29772
|
+
description: "Exchange ID. Derivatives exchanges: bybit, htx, kucoinfutures, mexc, krakenfutures."
|
|
29739
29773
|
},
|
|
29740
29774
|
symbols: {
|
|
29741
29775
|
type: "array",
|
|
@@ -29842,7 +29876,7 @@ var fetchOptionChainTool = {
|
|
|
29842
29876
|
Returns all available option contracts (calls and puts) for a given underlying asset, organized by expiry and strike price.
|
|
29843
29877
|
|
|
29844
29878
|
Args:
|
|
29845
|
-
- exchange (string, required): Exchange ID with options trading. Supported: "
|
|
29879
|
+
- exchange (string, required): Exchange ID with options trading. Supported: "bybit", "okx", "gate", "deribit".
|
|
29846
29880
|
- code (string, required): Underlying asset code (e.g., "BTC", "ETH").
|
|
29847
29881
|
|
|
29848
29882
|
Returns:
|
|
@@ -29890,7 +29924,7 @@ Error Handling:
|
|
|
29890
29924
|
properties: {
|
|
29891
29925
|
exchange: {
|
|
29892
29926
|
type: "string",
|
|
29893
|
-
description: "Exchange ID. Options exchanges: bybit, okx,
|
|
29927
|
+
description: "Exchange ID. Options exchanges: bybit, okx, gate, deribit."
|
|
29894
29928
|
},
|
|
29895
29929
|
code: {
|
|
29896
29930
|
type: "string",
|
|
@@ -29997,7 +30031,7 @@ var fetchUnderlyingAssetsTool = {
|
|
|
29997
30031
|
Returns the list of assets (e.g., BTC, ETH) that have options contracts available for trading.
|
|
29998
30032
|
|
|
29999
30033
|
Args:
|
|
30000
|
-
- exchange (string, required): Exchange ID with options trading. Supported: "
|
|
30034
|
+
- exchange (string, required): Exchange ID with options trading. Supported: "okx", "gate".
|
|
30001
30035
|
|
|
30002
30036
|
Returns:
|
|
30003
30037
|
JSON array or object of underlying assets:
|
|
@@ -30009,8 +30043,8 @@ Returns:
|
|
|
30009
30043
|
}
|
|
30010
30044
|
|
|
30011
30045
|
Examples:
|
|
30012
|
-
- Get Bybit underlying assets: {"exchange": "bybit"}
|
|
30013
30046
|
- Get OKX underlying assets: {"exchange": "okx"}
|
|
30047
|
+
- Get Gate underlying assets: {"exchange": "gate"}
|
|
30014
30048
|
|
|
30015
30049
|
Use when:
|
|
30016
30050
|
- You need to discover which assets have options available
|
|
@@ -30031,7 +30065,7 @@ Error Handling:
|
|
|
30031
30065
|
properties: {
|
|
30032
30066
|
exchange: {
|
|
30033
30067
|
type: "string",
|
|
30034
|
-
description: "Exchange ID. Options exchanges:
|
|
30068
|
+
description: "Exchange ID. Options exchanges: okx, gate."
|
|
30035
30069
|
}
|
|
30036
30070
|
},
|
|
30037
30071
|
required: ["exchange"]
|
|
@@ -30065,7 +30099,7 @@ var fetchVolatilityHistoryTool = {
|
|
|
30065
30099
|
Returns time-series implied volatility data showing how the market's expectation of future volatility has changed over time.
|
|
30066
30100
|
|
|
30067
30101
|
Args:
|
|
30068
|
-
- exchange (string, required): Exchange ID with options. Supported: "
|
|
30102
|
+
- exchange (string, required): Exchange ID with options. Supported: "bybit", "deribit".
|
|
30069
30103
|
- code (string, required): Underlying asset code (e.g., "BTC", "ETH").
|
|
30070
30104
|
|
|
30071
30105
|
Returns:
|
|
@@ -30079,7 +30113,7 @@ Returns:
|
|
|
30079
30113
|
|
|
30080
30114
|
Examples:
|
|
30081
30115
|
- Get BTC IV history: {"exchange": "bybit", "code": "BTC"}
|
|
30082
|
-
- Get ETH IV history: {"exchange": "
|
|
30116
|
+
- Get ETH IV history: {"exchange": "deribit", "code": "ETH"}
|
|
30083
30117
|
|
|
30084
30118
|
Use when:
|
|
30085
30119
|
- You need to analyze IV trends over time
|
|
@@ -30101,7 +30135,7 @@ Error Handling:
|
|
|
30101
30135
|
properties: {
|
|
30102
30136
|
exchange: {
|
|
30103
30137
|
type: "string",
|
|
30104
|
-
description: "Exchange ID. Options exchanges: bybit,
|
|
30138
|
+
description: "Exchange ID. Options exchanges: bybit, deribit."
|
|
30105
30139
|
},
|
|
30106
30140
|
code: {
|
|
30107
30141
|
type: "string",
|
|
@@ -30783,7 +30817,7 @@ var multiVenueInputSchema = {
|
|
|
30783
30817
|
},
|
|
30784
30818
|
symbol: {
|
|
30785
30819
|
type: "string",
|
|
30786
|
-
description: 'Unified derivatives symbol including its settle currency, e.g. "BTC/USDT:USDT". Venues quoting a different settle currency (e.g. hyperliquid uses BTC/USDC:USDC) return an
|
|
30820
|
+
description: 'Unified derivatives symbol including its settle currency, e.g. "BTC/USDT:USDT". Venues quoting a different settle currency (e.g. hyperliquid uses BTC/USDC:USDC) return an error row instead of failing the batch.'
|
|
30787
30821
|
}
|
|
30788
30822
|
},
|
|
30789
30823
|
required: ["venues", "symbol"],
|
|
@@ -30822,7 +30856,7 @@ Returns:
|
|
|
30822
30856
|
"rows": [{
|
|
30823
30857
|
"exchange": string,
|
|
30824
30858
|
"runtime_status": "ok" | "invalid_input" | "rate_limited" | "degraded" | "failing" | ...,
|
|
30825
|
-
"data"?: {...}, // unified CCXT funding-rate record when ok
|
|
30859
|
+
"data"?: {...}, // unified CCXT funding-rate record when ok, with its interval
|
|
30826
30860
|
"error"?: string // actionable provider error otherwise
|
|
30827
30861
|
}]
|
|
30828
30862
|
}
|
|
@@ -30830,6 +30864,8 @@ Returns:
|
|
|
30830
30864
|
Examples:
|
|
30831
30865
|
- Compare BTC funding on three venues: {"venues":["binance","bybit","okx"],"symbol":"BTC/USDT:USDT"}
|
|
30832
30866
|
|
|
30867
|
+
Each rate is a raw fraction for one funding interval, and intervals differ by venue (1h on Hyperliquid and Kraken Futures, 4h or 8h on Binance, 8h on most others). Compare rows only after converting each by its own interval; a row whose interval is null (Binance) cannot be converted.
|
|
30868
|
+
|
|
30833
30869
|
Use when:
|
|
30834
30870
|
- You are hunting cross-venue funding divergence / carry for one market
|
|
30835
30871
|
- You want funding for the same perp on several CEXes without N separate calls
|
|
@@ -30968,7 +31004,7 @@ var handlers2 = {
|
|
|
30968
31004
|
example: { exchange: "binance", symbol: "BTC/USDT:USDT", limit: 100 }
|
|
30969
31005
|
}),
|
|
30970
31006
|
fetchBidsAsks: createHandler2("fetchBidsAsks", {
|
|
30971
|
-
suggestion: "
|
|
31007
|
+
suggestion: "Use a venue that serves best bid/ask: binance, bybit, coinbase, mexc, kucoinfutures.",
|
|
30972
31008
|
alternatives: [
|
|
30973
31009
|
"ccxt_fetch_tickers - Get full ticker data",
|
|
30974
31010
|
"ccxt_fetch_orderbook - Get full depth"
|
|
@@ -30986,7 +31022,7 @@ var handlers2 = {
|
|
|
30986
31022
|
example: { exchange: "binance" }
|
|
30987
31023
|
}),
|
|
30988
31024
|
fetchL2OrderBook: createHandler2("fetchL2OrderBook", {
|
|
30989
|
-
suggestion: "
|
|
31025
|
+
suggestion: "Not every venue serves L2 depth (coinbase does not); use get_orderbook there.",
|
|
30990
31026
|
alternatives: ["ccxt_fetch_orderbook - Get order book"],
|
|
30991
31027
|
example: { exchange: "binance", symbol: "BTC/USDT", limit: 20 }
|
|
30992
31028
|
}),
|
|
@@ -31085,12 +31121,12 @@ var handlers2 = {
|
|
|
31085
31121
|
example: { exchange: "binance", symbol: "BTC/USDT:USDT", limit: 50 }
|
|
31086
31122
|
}),
|
|
31087
31123
|
fetchMarketLeverageTiers: createHandler2("fetchMarketLeverageTiers", {
|
|
31088
|
-
suggestion: "
|
|
31124
|
+
suggestion: "Supported on bybit, gate, bitget, htx, kucoinfutures and mexc; binance needs an exchange account. Symbol must include settle currency for derivatives.",
|
|
31089
31125
|
alternatives: [
|
|
31090
31126
|
"ccxt_fetch_markets - Get market info",
|
|
31091
31127
|
"ccxt_fetch_funding_rate - Get funding rates"
|
|
31092
31128
|
],
|
|
31093
|
-
example: { exchange: "
|
|
31129
|
+
example: { exchange: "bybit", symbol: "BTC/USDT:USDT" }
|
|
31094
31130
|
}),
|
|
31095
31131
|
fetchLastPrices: createHandler2("fetchLastPrices", {
|
|
31096
31132
|
suggestion: "Not all exchanges support fetchLastPrices. Try ccxt_fetch_tickers as fallback.",
|
|
@@ -31114,7 +31150,7 @@ var handlers2 = {
|
|
|
31114
31150
|
"ccxt_fetch_open_interest - Get single symbol OI",
|
|
31115
31151
|
"ccxt_fetch_open_interest_history - Get historical OI"
|
|
31116
31152
|
],
|
|
31117
|
-
example: { exchange: "
|
|
31153
|
+
example: { exchange: "okx", symbols: ["BTC/USDT:USDT"] }
|
|
31118
31154
|
}),
|
|
31119
31155
|
fetchFundingIntervals: createHandler2("fetchFundingIntervals", {
|
|
31120
31156
|
suggestion: "Not all exchanges expose funding intervals. Try checking the funding rate data directly.",
|
|
@@ -31148,7 +31184,7 @@ var handlers2 = {
|
|
|
31148
31184
|
"ccxt_fetch_leverage_tiers - Get single market tiers",
|
|
31149
31185
|
"ccxt_fetch_markets - Get market info"
|
|
31150
31186
|
],
|
|
31151
|
-
example: { exchange: "
|
|
31187
|
+
example: { exchange: "bybit", symbols: ["BTC/USDT:USDT"] }
|
|
31152
31188
|
}),
|
|
31153
31189
|
fetchGreeks: createHandler2("fetchGreeks", {
|
|
31154
31190
|
suggestion: "Very few exchanges support options. Use ccxt_fetch_option_chain to find valid symbols first.",
|
|
@@ -31178,7 +31214,7 @@ var handlers2 = {
|
|
|
31178
31214
|
example: { exchange: "binance", symbol: "BTC/USDT:USDT" }
|
|
31179
31215
|
}),
|
|
31180
31216
|
fetchOptionChain: createHandler2("fetchOptionChain", {
|
|
31181
|
-
suggestion: "
|
|
31217
|
+
suggestion: "Options chains are served on bybit, okx, gate and deribit. Use ccxt_fetch_underlying_assets to check availability first.",
|
|
31182
31218
|
alternatives: [
|
|
31183
31219
|
"ccxt_fetch_option - Get single option",
|
|
31184
31220
|
"ccxt_fetch_underlying_assets - Check available assets"
|
|
@@ -31194,12 +31230,12 @@ var handlers2 = {
|
|
|
31194
31230
|
example: { exchange: "bybit", symbol: "BTC/USDT:USDT-250328-80000-C" }
|
|
31195
31231
|
}),
|
|
31196
31232
|
fetchUnderlyingAssets: createHandler2("fetchUnderlyingAssets", {
|
|
31197
|
-
suggestion: "
|
|
31233
|
+
suggestion: "Underlying assets are served on okx and gate.",
|
|
31198
31234
|
alternatives: [
|
|
31199
31235
|
"ccxt_fetch_option_chain - Get options for an asset",
|
|
31200
31236
|
"ccxt_fetch_markets - Get all markets including options"
|
|
31201
31237
|
],
|
|
31202
|
-
example: { exchange: "
|
|
31238
|
+
example: { exchange: "okx" }
|
|
31203
31239
|
}),
|
|
31204
31240
|
fetchVolatilityHistory: createHandler2("fetchVolatilityHistory", {
|
|
31205
31241
|
suggestion: "Very limited exchange support. Only major underlyings (BTC, ETH) typically available.",
|
|
@@ -31229,7 +31265,7 @@ var handlers2 = {
|
|
|
31229
31265
|
suggestion: "Not all exchanges support convert quotes. Some require amount parameter.",
|
|
31230
31266
|
alternatives: [
|
|
31231
31267
|
"ccxt_fetch_ticker - Get spot rate for comparison",
|
|
31232
|
-
"
|
|
31268
|
+
"ccxt_fetch_currencies - Check listed currencies"
|
|
31233
31269
|
],
|
|
31234
31270
|
example: {
|
|
31235
31271
|
exchange: "binance",
|
|
@@ -42140,7 +42176,7 @@ Use when:
|
|
|
42140
42176
|
- You are correlating OI changes with funding or liquidation events across venues
|
|
42141
42177
|
|
|
42142
42178
|
Don't use when:
|
|
42143
|
-
- You need CURRENT open interest (use
|
|
42179
|
+
- You need CURRENT open interest (use get_open_interest)
|
|
42144
42180
|
- You need one venue's own OI history endpoint shape (use get_open_interest_history via CCXT)`,
|
|
42145
42181
|
inputSchema: historyInputSchema(
|
|
42146
42182
|
'Base asset ticker to fetch open-interest snapshots for, e.g. "ETH". Required.'
|
|
@@ -42251,8 +42287,7 @@ Use when:
|
|
|
42251
42287
|
- You need liquidation context around a historical funding/OI/basis move
|
|
42252
42288
|
|
|
42253
42289
|
Don't use when:
|
|
42254
|
-
- You need
|
|
42255
|
-
- You need aggregate liquidation totals per venue right now (live venue tools)`,
|
|
42290
|
+
- You need liquidations from the last hour (the archive updates hourly; Hive has no live liquidation feed)`,
|
|
42256
42291
|
inputSchema: historyInputSchema(
|
|
42257
42292
|
'Base asset ticker to fetch liquidation events for, e.g. "BTC". Required.'
|
|
42258
42293
|
),
|
|
@@ -46217,7 +46252,7 @@ function buildExampleArgs(name, inputSchema) {
|
|
|
46217
46252
|
const example = {};
|
|
46218
46253
|
const required = new Set(inputSchema?.required ?? []);
|
|
46219
46254
|
for (const [paramName, schema] of Object.entries(props)) {
|
|
46220
|
-
if (!required.has(paramName) && Object.keys(example).length >= (required.size || 1))
|
|
46255
|
+
if (!required.has(paramName) && !Array.isArray(schema.examples) && Object.keys(example).length >= (required.size || 1))
|
|
46221
46256
|
continue;
|
|
46222
46257
|
example[paramName] = getExampleValue(paramName, schema, name);
|
|
46223
46258
|
}
|
|
@@ -46227,6 +46262,8 @@ function buildExampleArgs(name, inputSchema) {
|
|
|
46227
46262
|
function getExampleValue(paramName, schema, toolName) {
|
|
46228
46263
|
if (schema.enum && schema.enum.length > 0) return schema.enum[0];
|
|
46229
46264
|
if (schema.default !== void 0) return schema.default;
|
|
46265
|
+
if (Array.isArray(schema.examples) && schema.examples.length > 0)
|
|
46266
|
+
return schema.examples[0];
|
|
46230
46267
|
const lowerParam = paramName.toLowerCase();
|
|
46231
46268
|
const type = schema.type ?? "string";
|
|
46232
46269
|
if (type === "boolean") return true;
|
|
@@ -47545,6 +47582,7 @@ var MORALIS_TOKEN_SCORE_NONE = "No replacement for the Moralis token score. Use
|
|
|
47545
47582
|
var MORALIS_WALLET_CHAINS = "Use get_wallet_balances across networks, or alchemy_get_tokens_by_wallet with several networks, to see which chains hold assets; Hive has no first and last activity per chain.";
|
|
47546
47583
|
var CCXT_PRIVATE = "because every exchange that serves it requires an authenticated exchange account";
|
|
47547
47584
|
var CCXT_BORROW_REPLACEMENT = "Use ccxt_fetch_borrow_rate_history or ccxt_fetch_borrow_rate_histories (public) and read the latest point.";
|
|
47585
|
+
var CCXT_WRONG_DATA_DATE = "2026-10-22";
|
|
47548
47586
|
var UNSERVABLE_TOOLS = {
|
|
47549
47587
|
get_coin_circulating_supply_chart: {
|
|
47550
47588
|
reason: COINGECKO_ENTERPRISE,
|
|
@@ -47622,6 +47660,26 @@ var UNSERVABLE_TOOLS = {
|
|
|
47622
47660
|
reason: CCXT_PRIVATE,
|
|
47623
47661
|
replacement: CCXT_BORROW_REPLACEMENT
|
|
47624
47662
|
},
|
|
47663
|
+
get_liquidations: {
|
|
47664
|
+
reason: "because it served wrong data: none of the venues it named supports liquidations in Hive's CCXT build, Gate reports the opposite side and returns nothing for any start time, HTX reports contract counts as base amounts, and Deribit returns bankruptcy settlements",
|
|
47665
|
+
replacement: "Use archive_get_liquidations_history for liquidation events across venues, updated hourly since April 2025.",
|
|
47666
|
+
date: CCXT_WRONG_DATA_DATE
|
|
47667
|
+
},
|
|
47668
|
+
ccxt_fetch_open_interest_multi: {
|
|
47669
|
+
reason: "because it put open interest measured in different units side by side: base coin on Binance and Hyperliquid, contracts on OKX and HTX, and both sides of the book on Bybit",
|
|
47670
|
+
replacement: "Call get_open_interest once per venue; each record now names its units. Use archive_get_open_interest_history for cross-venue history.",
|
|
47671
|
+
date: CCXT_WRONG_DATA_DATE
|
|
47672
|
+
},
|
|
47673
|
+
ccxt_fetch_funding_intervals: {
|
|
47674
|
+
reason: "because it documented fields CCXT does not return and called 8 hours the norm, while most Binance contracts settle every 4 hours",
|
|
47675
|
+
replacement: "Use get_funding_rate, whose interval field is the contract's current funding interval (null where the venue does not report it), or archive_get_funding_history, whose rows carry each settlement's interval.",
|
|
47676
|
+
date: CCXT_WRONG_DATA_DATE
|
|
47677
|
+
},
|
|
47678
|
+
ccxt_fetch_convert_currencies: {
|
|
47679
|
+
reason: "because every venue it named needs an exchange account, so it answered with every listed currency, or an empty list reported as success",
|
|
47680
|
+
replacement: "No replacement: convert listings need an exchange account. Use get_exchange_currencies for the currencies an exchange lists.",
|
|
47681
|
+
date: CCXT_WRONG_DATA_DATE
|
|
47682
|
+
},
|
|
47625
47683
|
alchemy_simulate_asset_changes: {
|
|
47626
47684
|
reason: ALCHEMY_SIMULATION_SUNSET,
|
|
47627
47685
|
replacement: ALCHEMY_SIMULATION_REPLACEMENT,
|
|
@@ -48820,7 +48878,6 @@ var ToolRegistry = [
|
|
|
48820
48878
|
"get_open_interest",
|
|
48821
48879
|
"get_open_interest_history",
|
|
48822
48880
|
"get_long_short_ratio",
|
|
48823
|
-
"get_liquidations",
|
|
48824
48881
|
"get_stablecoin_dominance",
|
|
48825
48882
|
"get_leverage_tiers",
|
|
48826
48883
|
// CEX exchange data (moved from On-Chain DEX — these are centralized exchange tools)
|
|
@@ -48842,7 +48899,6 @@ var ToolRegistry = [
|
|
|
48842
48899
|
"ccxt_fetch_last_prices",
|
|
48843
48900
|
"ccxt_fetch_mark_prices",
|
|
48844
48901
|
"ccxt_fetch_open_interests",
|
|
48845
|
-
"ccxt_fetch_funding_intervals",
|
|
48846
48902
|
"ccxt_fetch_long_short_ratio_history",
|
|
48847
48903
|
"ccxt_fetch_deposit_withdraw_fees",
|
|
48848
48904
|
"ccxt_fetch_leverage_tiers_all",
|
|
@@ -48856,12 +48912,10 @@ var ToolRegistry = [
|
|
|
48856
48912
|
"ccxt_fetch_underlying_assets",
|
|
48857
48913
|
"ccxt_fetch_volatility_history",
|
|
48858
48914
|
"ccxt_fetch_settlement_history",
|
|
48859
|
-
"ccxt_fetch_convert_currencies",
|
|
48860
48915
|
"ccxt_fetch_convert_quote",
|
|
48861
48916
|
"ccxt_fetch_borrow_rate_history",
|
|
48862
48917
|
"ccxt_fetch_borrow_rate_histories",
|
|
48863
48918
|
"ccxt_fetch_funding_rates_multi",
|
|
48864
|
-
"ccxt_fetch_open_interest_multi",
|
|
48865
48919
|
"alchemy_get_token_prices_by_symbol",
|
|
48866
48920
|
"alchemy_get_token_prices_by_address",
|
|
48867
48921
|
"alchemy_get_historical_token_prices",
|
|
@@ -53660,7 +53714,7 @@ var TASK_TOOLSET_CATALOG = [
|
|
|
53660
53714
|
"get_recent_trades",
|
|
53661
53715
|
"get_funding_rates",
|
|
53662
53716
|
"get_open_interest",
|
|
53663
|
-
"
|
|
53717
|
+
"archive_get_liquidations_history",
|
|
53664
53718
|
"get_options_overview",
|
|
53665
53719
|
"hyperliquid_get_perp_volume_leaderboard",
|
|
53666
53720
|
"hyperliquid_get_predicted_fundings",
|
|
@@ -53676,7 +53730,6 @@ var TASK_TOOLSET_CATALOG = [
|
|
|
53676
53730
|
"ccxt_fetch_adl_rank",
|
|
53677
53731
|
"ccxt_fetch_borrow_rate_history",
|
|
53678
53732
|
"ccxt_fetch_funding_rates_multi",
|
|
53679
|
-
"ccxt_fetch_open_interest_multi",
|
|
53680
53733
|
"alchemy_solana_get_compressed_mint_token_holders",
|
|
53681
53734
|
"alchemy_get_token_prices_by_symbol",
|
|
53682
53735
|
"alchemy_get_token_prices_by_address",
|
|
@@ -58615,6 +58668,68 @@ var PUBLIC_BORROW_HISTORY_METHODS = /* @__PURE__ */ new Set([
|
|
|
58615
58668
|
"fetchBorrowRateHistories"
|
|
58616
58669
|
]);
|
|
58617
58670
|
var PUBLIC_BORROW_HISTORY_EXCHANGES = /* @__PURE__ */ new Set(["okx", "myokx", "okxus"]);
|
|
58671
|
+
var VENUE_ALIASES = {
|
|
58672
|
+
binanceusdm: "binance",
|
|
58673
|
+
binancecoinm: "binance",
|
|
58674
|
+
myokx: "okx",
|
|
58675
|
+
okxus: "okx"
|
|
58676
|
+
};
|
|
58677
|
+
var OPEN_INTEREST_UNITS = {
|
|
58678
|
+
current: {
|
|
58679
|
+
binance: { linear: ["base", null], inverse: ["contracts", null] },
|
|
58680
|
+
bybit: {
|
|
58681
|
+
linear: ["base_both_sides", null],
|
|
58682
|
+
inverse: [null, "usd_both_sides"]
|
|
58683
|
+
},
|
|
58684
|
+
okx: { linear: ["contracts", "usd"], inverse: ["contracts", "usd"] },
|
|
58685
|
+
htx: { linear: ["contracts", "quote"], inverse: ["contracts", null] },
|
|
58686
|
+
hyperliquid: { linear: ["base", null] },
|
|
58687
|
+
deribit: { inverse: [null, "usd"] }
|
|
58688
|
+
},
|
|
58689
|
+
history: {
|
|
58690
|
+
binance: { linear: ["base", "quote"] },
|
|
58691
|
+
bybit: {
|
|
58692
|
+
linear: ["base_both_sides", null],
|
|
58693
|
+
inverse: [null, "usd_both_sides"]
|
|
58694
|
+
},
|
|
58695
|
+
gate: { linear: ["contracts", "usd"] },
|
|
58696
|
+
// HTX history is requested in coins (amount_type 2), unlike current OI.
|
|
58697
|
+
htx: { linear: ["base", "quote"] }
|
|
58698
|
+
}
|
|
58699
|
+
};
|
|
58700
|
+
function labelOpenInterest(record, call, venue, market) {
|
|
58701
|
+
if (!record || typeof record !== "object") return record;
|
|
58702
|
+
const type = market?.inverse ? "inverse" : market?.linear ? "linear" : null;
|
|
58703
|
+
const units = type ? OPEN_INTEREST_UNITS[call][venue]?.[type] : void 0;
|
|
58704
|
+
const amountUnit = record.openInterestAmount == null ? null : units?.[0] ?? null;
|
|
58705
|
+
return {
|
|
58706
|
+
...record,
|
|
58707
|
+
openInterestAmountUnit: amountUnit,
|
|
58708
|
+
openInterestValueUnit: record.openInterestValue == null ? null : units?.[1] ?? null,
|
|
58709
|
+
...amountUnit === "contracts" ? { contractSize: market?.contractSize ?? null } : {}
|
|
58710
|
+
};
|
|
58711
|
+
}
|
|
58712
|
+
var MARKET_LABELLED_METHODS = /* @__PURE__ */ new Set([
|
|
58713
|
+
"fetchOpenInterest",
|
|
58714
|
+
"fetchOpenInterestHistory",
|
|
58715
|
+
"fetchMarketLeverageTiers"
|
|
58716
|
+
]);
|
|
58717
|
+
var TIER_CURRENCY_FIX_VENUES = /* @__PURE__ */ new Set(["gate", "bybit"]);
|
|
58718
|
+
function refusedCall(method, venue, market) {
|
|
58719
|
+
if (method === "fetchOpenInterestHistory" && venue === "okx") {
|
|
58720
|
+
return "Invalid arguments: okx open-interest history is not served. OKX reports it for a whole currency (every swap and future on it, in USD), not for the contract you asked for. Use get_open_interest on okx for the current figure, or get_open_interest_history on binance or bybit.";
|
|
58721
|
+
}
|
|
58722
|
+
if (method === "fetchOpenInterestHistory" && venue === "binance" && market?.inverse) {
|
|
58723
|
+
return "Invalid arguments: binance open-interest history for coin-margined (inverse) contracts comes back empty in Hive's CCXT build. Use the USDT-margined contract (e.g. BTC/USDT:USDT) or bybit.";
|
|
58724
|
+
}
|
|
58725
|
+
if (method === "fetchFundingRateHistory" && venue === "deribit") {
|
|
58726
|
+
return "Invalid arguments: deribit funding history is not served. CCXT returns hourly rows that each carry the trailing 8-hour rate, so the rows overlap and summing them overstates funding about 8x. Use get_funding_rate on deribit for the current trailing 8-hour rate, or archive_get_funding_history for settled Deribit funding.";
|
|
58727
|
+
}
|
|
58728
|
+
if (method === "fetchLeverageTiers" && venue === "gate") {
|
|
58729
|
+
return "Invalid arguments: gate bulk leverage tiers are not served. CCXT builds them from market metadata (2 tiers where Gate has 19). Call get_leverage_tiers per symbol on gate.";
|
|
58730
|
+
}
|
|
58731
|
+
return null;
|
|
58732
|
+
}
|
|
58618
58733
|
function isGeoBlockedError(err) {
|
|
58619
58734
|
if (!(err instanceof Error)) return false;
|
|
58620
58735
|
const msg = err.message.toLowerCase();
|
|
@@ -58870,6 +58985,71 @@ var CCXTClient = class {
|
|
|
58870
58985
|
return { handled: false };
|
|
58871
58986
|
}
|
|
58872
58987
|
}
|
|
58988
|
+
/** The CCXT market for a symbol, or undefined when it does not resolve. */
|
|
58989
|
+
async _market(exchange, symbol) {
|
|
58990
|
+
if (typeof symbol !== "string") return void 0;
|
|
58991
|
+
const ex = exchange;
|
|
58992
|
+
try {
|
|
58993
|
+
await ex.loadMarkets();
|
|
58994
|
+
return ex.market(symbol);
|
|
58995
|
+
} catch {
|
|
58996
|
+
return void 0;
|
|
58997
|
+
}
|
|
58998
|
+
}
|
|
58999
|
+
/**
|
|
59000
|
+
* Labels what CCXT leaves ambiguous: the funding interval (null when the
|
|
59001
|
+
* venue does not report it), open-interest units, and the symbol and
|
|
59002
|
+
* notional currency of Gate and Bybit leverage tiers, which the pinned
|
|
59003
|
+
* build gets wrong (upstream fixed them in 4.5.89).
|
|
59004
|
+
*/
|
|
59005
|
+
_label(method, venue, exchange, market, result2) {
|
|
59006
|
+
const marketOf = (symbol) => {
|
|
59007
|
+
try {
|
|
59008
|
+
return exchange.market(
|
|
59009
|
+
symbol
|
|
59010
|
+
);
|
|
59011
|
+
} catch {
|
|
59012
|
+
return void 0;
|
|
59013
|
+
}
|
|
59014
|
+
};
|
|
59015
|
+
const withInterval = (rate) => rate && typeof rate === "object" ? { ...rate, interval: rate.interval ?? null } : rate;
|
|
59016
|
+
const eachRow = (fn) => Array.isArray(result2) ? result2.map(fn) : result2;
|
|
59017
|
+
const bySymbol = (fn) => result2 && typeof result2 === "object" && !Array.isArray(result2) ? Object.fromEntries(
|
|
59018
|
+
Object.entries(result2).map(([symbol, value]) => [
|
|
59019
|
+
symbol,
|
|
59020
|
+
fn(value, symbol)
|
|
59021
|
+
])
|
|
59022
|
+
) : result2;
|
|
59023
|
+
const tiersOf = (tiers, tierMarket) => Array.isArray(tiers) ? tiers.map((tier) => ({
|
|
59024
|
+
...tier,
|
|
59025
|
+
symbol: tierMarket?.symbol ?? tier.symbol,
|
|
59026
|
+
currency: tierMarket?.settle ?? null
|
|
59027
|
+
})) : tiers;
|
|
59028
|
+
switch (method) {
|
|
59029
|
+
case "fetchFundingRate":
|
|
59030
|
+
return withInterval(result2);
|
|
59031
|
+
case "fetchFundingRates":
|
|
59032
|
+
return bySymbol(withInterval);
|
|
59033
|
+
case "fetchFundingRateHistory":
|
|
59034
|
+
return eachRow(withInterval);
|
|
59035
|
+
case "fetchOpenInterest":
|
|
59036
|
+
return labelOpenInterest(result2, "current", venue, market);
|
|
59037
|
+
case "fetchOpenInterests":
|
|
59038
|
+
return bySymbol(
|
|
59039
|
+
(record, symbol) => labelOpenInterest(record, "current", venue, marketOf(symbol))
|
|
59040
|
+
);
|
|
59041
|
+
case "fetchOpenInterestHistory":
|
|
59042
|
+
return eachRow(
|
|
59043
|
+
(record) => labelOpenInterest(record, "history", venue, market)
|
|
59044
|
+
);
|
|
59045
|
+
case "fetchMarketLeverageTiers":
|
|
59046
|
+
return TIER_CURRENCY_FIX_VENUES.has(venue) ? tiersOf(result2, market) : result2;
|
|
59047
|
+
case "fetchLeverageTiers":
|
|
59048
|
+
return TIER_CURRENCY_FIX_VENUES.has(venue) ? bySymbol((tiers, symbol) => tiersOf(tiers, marketOf(symbol))) : result2;
|
|
59049
|
+
default:
|
|
59050
|
+
return result2;
|
|
59051
|
+
}
|
|
59052
|
+
}
|
|
58873
59053
|
/**
|
|
58874
59054
|
* Execute a CCXT method on a specific exchange (no fallback logic here).
|
|
58875
59055
|
*/
|
|
@@ -58883,6 +59063,10 @@ var CCXTClient = class {
|
|
|
58883
59063
|
}
|
|
58884
59064
|
const exchange = await this.getExchange(exchangeId);
|
|
58885
59065
|
let result2;
|
|
59066
|
+
const venue = VENUE_ALIASES[exchangeId] ?? exchangeId;
|
|
59067
|
+
const market = MARKET_LABELLED_METHODS.has(method) ? await this._market(exchange, methodParams.symbol) : void 0;
|
|
59068
|
+
const refusal = refusedCall(method, venue, market);
|
|
59069
|
+
if (refusal) throw new Error(refusal);
|
|
58886
59070
|
const hasCapability = exchange.has;
|
|
58887
59071
|
if (hasCapability && hasCapability[method] !== true && hasCapability[method] !== "emulated") {
|
|
58888
59072
|
const fallback = await this._tryPublicFallback(
|
|
@@ -58905,7 +59089,7 @@ var CCXTClient = class {
|
|
|
58905
59089
|
return result2;
|
|
58906
59090
|
}
|
|
58907
59091
|
throw new Error(
|
|
58908
|
-
`${exchangeId} does not support ${method}. Try
|
|
59092
|
+
`${exchangeId} does not support ${method} in Hive's CCXT build. Try another exchange; the tool description names venues that do.`
|
|
58909
59093
|
);
|
|
58910
59094
|
}
|
|
58911
59095
|
switch (method) {
|
|
@@ -59119,7 +59303,8 @@ var CCXTClient = class {
|
|
|
59119
59303
|
}
|
|
59120
59304
|
result2 = await exchange.fetchLongShortRatioHistory(
|
|
59121
59305
|
methodParams.symbol,
|
|
59122
|
-
|
|
59306
|
+
// The documented default; CCXT's own leaves Binance on daily rows.
|
|
59307
|
+
methodParams.timeframe || "1h",
|
|
59123
59308
|
methodParams.since,
|
|
59124
59309
|
methodParams.limit,
|
|
59125
59310
|
methodParams.params
|
|
@@ -59258,6 +59443,7 @@ var CCXTClient = class {
|
|
|
59258
59443
|
`Method '${method}' is not supported. Supported methods: fetchTicker, fetchTickers, fetchOHLCV, fetchOrderBook, fetchTrades, fetchMarkets, fetchCurrencies, fetchFundingRate, etc.`
|
|
59259
59444
|
);
|
|
59260
59445
|
}
|
|
59446
|
+
result2 = this._label(method, venue, exchange, market, result2);
|
|
59261
59447
|
secureLogger.toolCall(`CCXT:${method}`, true, Date.now() - startTime, {
|
|
59262
59448
|
exchange: exchangeId,
|
|
59263
59449
|
params: Object.keys(methodParams)
|
|
@@ -59951,11 +60137,6 @@ var TOOL_PROBE_ARGS = {
|
|
|
59951
60137
|
exchange: CCXT_SPOT_EXCHANGE,
|
|
59952
60138
|
symbols: [CCXT_SPOT_SYMBOL]
|
|
59953
60139
|
},
|
|
59954
|
-
get_liquidations: {
|
|
59955
|
-
exchange: "gate",
|
|
59956
|
-
symbol: CCXT_SWAP_SYMBOL,
|
|
59957
|
-
limit: 10
|
|
59958
|
-
},
|
|
59959
60140
|
get_leverage_tiers: {
|
|
59960
60141
|
exchange: CCXT_DERIVATIVES_EXCHANGE,
|
|
59961
60142
|
symbol: CCXT_SWAP_SYMBOL
|
|
@@ -59992,10 +60173,6 @@ var TOOL_PROBE_ARGS = {
|
|
|
59992
60173
|
exchange: "okx",
|
|
59993
60174
|
symbols: [CCXT_SWAP_SYMBOL]
|
|
59994
60175
|
},
|
|
59995
|
-
ccxt_fetch_funding_intervals: {
|
|
59996
|
-
exchange: "bitget",
|
|
59997
|
-
symbols: [CCXT_SWAP_SYMBOL]
|
|
59998
|
-
},
|
|
59999
60176
|
ccxt_fetch_long_short_ratio_history: {
|
|
60000
60177
|
exchange: CCXT_DERIVATIVES_EXCHANGE,
|
|
60001
60178
|
symbol: CCXT_SWAP_SYMBOL,
|
|
@@ -60015,7 +60192,6 @@ var TOOL_PROBE_ARGS = {
|
|
|
60015
60192
|
symbol: CCXT_SWAP_SYMBOL,
|
|
60016
60193
|
limit: 10
|
|
60017
60194
|
},
|
|
60018
|
-
ccxt_fetch_convert_currencies: { exchange: "bybit" },
|
|
60019
60195
|
ccxt_fetch_convert_quote: {
|
|
60020
60196
|
exchange: "bybit",
|
|
60021
60197
|
fromCode: "BTC",
|
|
@@ -60042,10 +60218,6 @@ var TOOL_PROBE_ARGS = {
|
|
|
60042
60218
|
venues: ["binance", "okx"],
|
|
60043
60219
|
symbol: CCXT_SWAP_SYMBOL
|
|
60044
60220
|
},
|
|
60045
|
-
ccxt_fetch_open_interest_multi: {
|
|
60046
|
-
venues: ["binance", "okx"],
|
|
60047
|
-
symbol: CCXT_SWAP_SYMBOL
|
|
60048
|
-
},
|
|
60049
60221
|
// HIP-3 builder-dex reads require an explicit dex; "xyz" is the flagship
|
|
60050
60222
|
// equity-perp builder DEX. Kept out of the provider defaults so main-DEX
|
|
60051
60223
|
// probes stay unscoped.
|
package/build/cli.js
CHANGED
|
@@ -3453,7 +3453,7 @@ program2.hook("preAction", (thisCommand) => {
|
|
|
3453
3453
|
setCliFlags({ apiKey: opts.apiKey, noRetry: opts.retry === false });
|
|
3454
3454
|
});
|
|
3455
3455
|
program2.action(async () => {
|
|
3456
|
-
const { startStdio } = await import("./serve-
|
|
3456
|
+
const { startStdio } = await import("./serve-47QIM7OD.js");
|
|
3457
3457
|
await startStdio(program2.opts().envFile);
|
|
3458
3458
|
});
|
|
3459
3459
|
program2.command("serve").description(
|
|
@@ -3471,10 +3471,10 @@ program2.command("serve").description(
|
|
|
3471
3471
|
);
|
|
3472
3472
|
process.exit(ExitCode.INVALID_ARGS);
|
|
3473
3473
|
}
|
|
3474
|
-
const { startHttp } = await import("./serve-
|
|
3474
|
+
const { startHttp } = await import("./serve-47QIM7OD.js");
|
|
3475
3475
|
await startHttp(port, program2.opts().envFile);
|
|
3476
3476
|
} else {
|
|
3477
|
-
const { startStdio } = await import("./serve-
|
|
3477
|
+
const { startStdio } = await import("./serve-47QIM7OD.js");
|
|
3478
3478
|
await startStdio(program2.opts().envFile, { local: opts.local });
|
|
3479
3479
|
}
|
|
3480
3480
|
});
|
|
@@ -3742,7 +3742,7 @@ program2.command("doctor").description("Diagnose environment and server connecti
|
|
|
3742
3742
|
"--fix",
|
|
3743
3743
|
"Rewrite stale Hive entries in MCP client configs (backs each file up first)"
|
|
3744
3744
|
).action(async (opts) => {
|
|
3745
|
-
const { runDoctor } = await import("./doctor-
|
|
3745
|
+
const { runDoctor } = await import("./doctor-DUXJWV3F.js");
|
|
3746
3746
|
await runDoctor(opts);
|
|
3747
3747
|
});
|
|
3748
3748
|
program2.command("upgrade").description("Update Hive to the latest published version").action(async () => {
|
|
@@ -3790,7 +3790,7 @@ program2.command("usage").description("Show your API usage and plan limits").act
|
|
|
3790
3790
|
await runUsage();
|
|
3791
3791
|
});
|
|
3792
3792
|
program2.command("status").description("Quick health and version check").action(async () => {
|
|
3793
|
-
const { runStatus } = await import("./doctor-
|
|
3793
|
+
const { runStatus } = await import("./doctor-DUXJWV3F.js");
|
|
3794
3794
|
await runStatus();
|
|
3795
3795
|
});
|
|
3796
3796
|
program2.command("open [target]").description("Open Hive dashboard, docs, status, or GitHub in browser").action(async (target) => {
|
|
@@ -296,7 +296,7 @@ ${fails === 0 ? "All checks passed" : `${fails} issues found`}${warns ? ` (${war
|
|
|
296
296
|
if (fails > 0) process.exit(1);
|
|
297
297
|
}
|
|
298
298
|
async function runStatus() {
|
|
299
|
-
const { SERVER_VERSION } = await import("./mcpServer-
|
|
299
|
+
const { SERVER_VERSION } = await import("./mcpServer-NWKQ4LCN.js");
|
|
300
300
|
const { resolveApiKey, resolveApiUrl } = await import("./config-dir-2QLA5PXD.js");
|
|
301
301
|
const { getActiveProfile, maskKey } = await import("./auth-6XVL5CE3.js");
|
|
302
302
|
const apiUrl = resolveApiUrl();
|
package/build/monitor-worker.js
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
executeToolByName,
|
|
5
5
|
refundCredits,
|
|
6
6
|
refundSettled
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-V7TBL47R.js";
|
|
8
8
|
import {
|
|
9
9
|
HyperliquidAPI,
|
|
10
10
|
MIN_MONITOR_CADENCE_MS,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
monitorCadenceIntervalMs,
|
|
18
18
|
runScheduledHealthCanaries,
|
|
19
19
|
secureLogger
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-ZRAW5MXW.js";
|
|
21
21
|
import "./chunk-QYK3EWTE.js";
|
|
22
22
|
import "./chunk-EPF36Q3Z.js";
|
|
23
23
|
import "./chunk-ZXKFJQDE.js";
|
package/build/release.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"package": "hive-intelligence",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"buildSha": "
|
|
5
|
-
"imageDigest": "sha256:
|
|
3
|
+
"version": "1.13.0",
|
|
4
|
+
"buildSha": "97bb981841e65ba3c48c31bf14ae02fdecd7b502",
|
|
5
|
+
"imageDigest": "sha256:17ebc81537ba98c83bb68acbf974e0a4d2c96990cbf70a7632a4fd9d78f5b657",
|
|
6
6
|
"deployedUrl": "https://mcp.hiveintelligence.xyz",
|
|
7
|
-
"manifest": "https://raw.githubusercontent.com/hive-intel/hive-sdk/v1.
|
|
7
|
+
"manifest": "https://raw.githubusercontent.com/hive-intel/hive-sdk/v1.13.0/releases/v1.13.0.json"
|
|
8
8
|
}
|
|
@@ -49,7 +49,7 @@ async function startStdio(envFile, opts = {}) {
|
|
|
49
49
|
console.log = (...args) => console.error("[LOG]", ...args);
|
|
50
50
|
if (resolveStdioMode(opts) === "proxy") return startStdioProxy();
|
|
51
51
|
const { StdioServerTransport } = await import("@modelcontextprotocol/sdk/server/stdio.js");
|
|
52
|
-
const { createHiveMcpServer, SERVER_NAME, SERVER_VERSION } = await import("./mcpServer-
|
|
52
|
+
const { createHiveMcpServer, SERVER_NAME, SERVER_VERSION } = await import("./mcpServer-NWKQ4LCN.js");
|
|
53
53
|
const { getPendingUpdateVersion } = await import("./update-check-36QU6PKA.js");
|
|
54
54
|
const transport = new StdioServerTransport();
|
|
55
55
|
const pendingUpdate = getPendingUpdateVersion();
|
package/build/server.js
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
getWalletStatus,
|
|
9
9
|
refundCredits,
|
|
10
10
|
refundSettled
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-V7TBL47R.js";
|
|
12
12
|
import {
|
|
13
13
|
CategoryEndpoints,
|
|
14
14
|
HERO_TOOL_NAMES,
|
|
@@ -105,7 +105,7 @@ import {
|
|
|
105
105
|
validateEndpointArgs,
|
|
106
106
|
verifyApiKey,
|
|
107
107
|
waitForRedisAvailability
|
|
108
|
-
} from "./chunk-
|
|
108
|
+
} from "./chunk-ZRAW5MXW.js";
|
|
109
109
|
import {
|
|
110
110
|
HIVE_AGENT_SKILLS
|
|
111
111
|
} from "./chunk-QYK3EWTE.js";
|
package/build/stdio.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hive-intelligence",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0",
|
|
4
4
|
"description": "Evidence-backed crypto due diligence for AI agents, with sources, freshness, and a runtime receipt on every call.",
|
|
5
5
|
"mcpName": "xyz.hiveintelligence/mcp",
|
|
6
6
|
"type": "module",
|