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 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 432 tools, but that
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": "binance"}),
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:
@@ -7,7 +7,7 @@ import {
7
7
  getSupabaseAdmin,
8
8
  resolveEndpoint,
9
9
  secureLogger
10
- } from "./chunk-PFX4AJNR.js";
10
+ } from "./chunk-ZRAW5MXW.js";
11
11
 
12
12
  // src/services/wallet-service.ts
13
13
  async function consumeCredits(args) {
@@ -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 a perpetual futures contract",
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 futures contracts",
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 multiple or all perpetual futures contracts",
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 a derivatives contract",
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 historical open interest data for a derivatives contract",
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, // Current funding rate (e.g., 0.0001 = 0.01%)
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. Top exchanges: binance, coinbase, kraken, bybit, okx. 100+ exchanges supported via CCXT."
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, // Funding rate at that time
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. Top exchanges: binance, coinbase, kraken, bybit, okx. 100+ exchanges supported via CCXT."
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. Top exchanges: binance, coinbase, kraken, bybit, okx. 100+ exchanges supported via CCXT."
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. Top exchanges: binance, coinbase, kraken, bybit, okx. 100+ exchanges supported via CCXT."
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. Top exchanges: binance, coinbase, kraken, bybit, okx. 100+ exchanges supported via CCXT."
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. Top exchanges: binance, coinbase, kraken, bybit, okx. 100+ exchanges supported via CCXT."
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. Top exchanges: binance, coinbase, kraken, bybit, okx. 100+ exchanges supported via CCXT."
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: "Index symbol (e.g., BTC/USDT)"
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. Top exchanges: binance, coinbase, kraken, bybit, okx. 100+ exchanges supported via CCXT."
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. Top exchanges: binance, coinbase, kraken, bybit, okx. 100+ exchanges supported via CCXT."
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. Top exchanges: binance, coinbase, kraken, bybit, okx. 100+ exchanges supported via CCXT."
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", "bitget", "gate".
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, // Open interest in contracts
28843
- "openInterestValue": number, // Open interest in quote currency (USD value)
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. Top exchanges: binance, coinbase, kraken, bybit, okx. 100+ exchanges supported via CCXT."
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", "okx", "bitget".
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. Options: "5m", "15m", "30m", "1h", "2h", "4h", "1d". Default: "1h".
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, // Open interest in contracts
28922
- "openInterestValue": number, // Open interest in quote currency
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. Top exchanges: binance, coinbase, kraken, bybit, okx. 100+ exchanges supported via CCXT."
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 (e.g., 5m, 15m, 1h, 4h, 1d)"
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. Top exchanges: binance, coinbase, kraken, bybit, okx. 100+ exchanges supported via CCXT."
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: "binance", "coinbase", "kraken", "bybit", "okx", "kucoin", "bitget", "gate", "htx", "mexc".
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 Binance: {"exchange": "binance", "symbol": "BTC/USDT:USDT"}
29182
- - Get ETH tiers on OKX: {"exchange": "okx", "symbol": "ETH/USDT:USDT"}
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. Top exchanges: binance, bybit, okx, bitget, gate."
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", "bybit", "okx", "bitget", "gate".
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": "bybit", "symbols": ["BTC/USDT:USDT", "ETH/USDT:USDT"]}
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, bybit, okx, bitget, gate."
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: "binance", "bybit", "okx", "bitget", "gate".
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": "bybit", "symbols": ["BTC/USDT:USDT", "ETH/USDT:USDT"]}
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: binance, bybit, okx, bitget, gate."
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
- "longAccount": number,
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: "binance", "bybit", "okx", "bitget", "gate".
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: binance, bybit, okx, bitget, gate."
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: "binance", "bybit", "okx".
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, binance."
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: "binance", "bybit", "okx".
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: bybit, okx, binance."
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: "binance", "bybit", "okx".
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": "okx", "code": "ETH"}
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, okx, binance."
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 invalid_input row instead of failing the batch.'
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: "Not all exchanges support this. May fall back to tickers.",
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: "Falls back to regular order book if L2 not supported.",
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: "Mainly supported on futures exchanges (Binance, Bybit, OKX). Symbol must include settle currency for derivatives.",
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: "binance", symbol: "BTC/USDT:USDT" }
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: "binance", symbols: ["BTC/USDT:USDT"] }
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: "binance", symbols: ["BTC/USDT:USDT"] }
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: "Very few exchanges support options (Bybit, OKX, Binance). Use ccxt_fetch_underlying_assets to check availability first.",
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: "Very few exchanges support options trading. Try Bybit, OKX, or Binance.",
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: "bybit" }
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
- "ccxt_fetch_convert_currencies - Check available currencies"
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 ccxt_fetch_open_interest_multi or get_open_interest)
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 LIVE liquidations (use get_liquidations via CCXT)
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
- "get_liquidations",
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 a different exchange (e.g., kraken, coinbase, okx).`
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
- methodParams.timeframe,
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-JNZIXB55.js");
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-JNZIXB55.js");
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-JNZIXB55.js");
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-SKJANP76.js");
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-SKJANP76.js");
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-TKLG6IOW.js");
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();
@@ -9,7 +9,7 @@ import {
9
9
  getToolsForScope,
10
10
  memoizedJsonSchemaToZodInputSchema,
11
11
  memoizedJsonSchemaToZodOutputSchema
12
- } from "./chunk-PFX4AJNR.js";
12
+ } from "./chunk-ZRAW5MXW.js";
13
13
  import "./chunk-QYK3EWTE.js";
14
14
  import "./chunk-EPF36Q3Z.js";
15
15
  import {
@@ -4,7 +4,7 @@ import {
4
4
  executeToolByName,
5
5
  refundCredits,
6
6
  refundSettled
7
- } from "./chunk-4GBOUVUD.js";
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-PFX4AJNR.js";
20
+ } from "./chunk-ZRAW5MXW.js";
21
21
  import "./chunk-QYK3EWTE.js";
22
22
  import "./chunk-EPF36Q3Z.js";
23
23
  import "./chunk-ZXKFJQDE.js";
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "package": "hive-intelligence",
3
- "version": "1.12.1",
4
- "buildSha": "bb47e637ee6445ab8d7a79280b71bf8fdec93b92",
5
- "imageDigest": "sha256:fb28943da2081be56b56b5086361f6dd4c41ade2c8b5c1ea3e9ea46c605fd92c",
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.12.1/releases/v1.12.1.json"
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-TKLG6IOW.js");
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-4GBOUVUD.js";
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-PFX4AJNR.js";
108
+ } from "./chunk-ZRAW5MXW.js";
109
109
  import {
110
110
  HIVE_AGENT_SKILLS
111
111
  } from "./chunk-QYK3EWTE.js";
package/build/stdio.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  createHiveMcpServer,
8
8
  secureLogger
9
- } from "./chunk-PFX4AJNR.js";
9
+ } from "./chunk-ZRAW5MXW.js";
10
10
  import "./chunk-QYK3EWTE.js";
11
11
  import "./chunk-EPF36Q3Z.js";
12
12
  import {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hive-intelligence",
3
- "version": "1.12.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",