@cryptoquant_official/mcp 0.0.3 → 0.0.5

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
@@ -40,17 +40,41 @@ Add the same configuration to your app's MCP settings file.
40
40
 
41
41
  ## Authentication
42
42
 
43
- On first use, call `initialize()` - a browser window opens automatically for API key setup.
43
+ Configure your API key using one of these methods:
44
44
 
45
- Your API key is saved securely to `~/.cryptoquant/credentials`.
45
+ ### Option 1: Environment Variable (Recommended)
46
46
 
47
- **Get your API key**: [cryptoquant.com](https://cryptoquant.com) → Dashboard → API
47
+ Add `CRYPTOQUANT_API_KEY` to your MCP config:
48
+
49
+ ```json
50
+ {
51
+ "mcpServers": {
52
+ "cryptoquant": {
53
+ "command": "npx",
54
+ "args": ["-y", "@cryptoquant_official/mcp"],
55
+ "env": {
56
+ "CRYPTOQUANT_API_KEY": "your-api-key"
57
+ }
58
+ }
59
+ }
60
+ }
61
+ ```
62
+
63
+ ### Option 2: Direct Parameter
64
+
65
+ Call `initialize()` with your API key:
66
+
67
+ ```
68
+ initialize(api_key='your-api-key')
69
+ ```
70
+
71
+ **Get your API key**: [cryptoquant.com/settings/api](https://cryptoquant.com/settings/api)
48
72
 
49
73
  ## Available Tools
50
74
 
51
75
  | Tool | Description |
52
76
  |------|-------------|
53
- | `initialize` | Start session, auto-opens browser for API key |
77
+ | `initialize` | Start session with API key |
54
78
  | `discover_endpoints` | Browse 245+ available API endpoints |
55
79
  | `get_endpoint_info` | Get endpoint parameter details |
56
80
  | `query_data` | Query raw on-chain data |
@@ -72,6 +96,29 @@ Claude: Let me check the MVRV ratio...
72
96
  → Returns analysis with current valuation status
73
97
  ```
74
98
 
99
+ ## Environment Variables
100
+
101
+ | Variable | Description | Default |
102
+ |----------|-------------|---------|
103
+ | `CRYPTOQUANT_API_KEY` | API key for authentication | (none) |
104
+ | `DEBUG` | Enable debug logging (`true` or `1`) | (disabled) |
105
+
106
+ Example with debug logging:
107
+ ```json
108
+ {
109
+ "mcpServers": {
110
+ "cryptoquant": {
111
+ "command": "npx",
112
+ "args": ["-y", "@cryptoquant_official/mcp"],
113
+ "env": {
114
+ "CRYPTOQUANT_API_KEY": "your-api-key",
115
+ "DEBUG": "true"
116
+ }
117
+ }
118
+ }
119
+ }
120
+ ```
121
+
75
122
  ## Requirements
76
123
 
77
124
  - Node.js 18+
@@ -1,58 +1,293 @@
1
1
  # Metric Descriptions for describe_metric() tool
2
2
  # Format: TOON (Token-Oriented Object Notation)
3
3
  # Schema: id, name, category, asset, description, thresholds, interpretation
4
+ # Note: Commas in field values are replaced with semicolons
4
5
 
5
- metrics[50]{id,name,category,asset,description,thresholds,interpretation}:
6
-
7
- # Market Indicators - BTC
8
- mvrv,Market Value to Realized Value,market-indicator,btc,Compares current market cap to realized cap (aggregate cost basis of all coins),<1 undervalued|1-2.5 neutral|2.5-3.7 overheated|>3.7 extreme top,Primary cycle indicator. Values below 1 historically mark accumulation zones. Values above 3.7 indicate cycle tops.
9
- nupl,Net Unrealized Profit/Loss,market-indicator,btc,Percentage of coins in profit or loss relative to total market cap,<0 capitulation|0-0.25 hope|0.25-0.5 belief|0.5-0.75 optimism|>0.75 euphoria,Sentiment gauge. Extreme values (below 0 or above 0.75) often precede major reversals.
10
- sopr,Spent Output Profit Ratio,market-indicator,btc,Ratio of price sold to price paid for coins moved on-chain,<1 selling at loss|=1 breakeven|>1 selling at profit,Real-time profit/loss behavior. SOPR=1 often acts as support in bull markets resistance in bear markets.
11
- asopr,Adjusted SOPR,market-indicator,btc,SOPR excluding coins younger than 1 hour to filter noise,<1 loss realization|>1 profit taking,More accurate than raw SOPR for trend analysis. Filters out exchange-related movements.
12
- realized-price,Realized Price,market-indicator,btc,Average acquisition price of all BTC based on when each coin last moved,N/A - use as reference price,Aggregate cost basis. Price below realized price = most holders in loss (capitulation zone).
13
- puell-multiple,Puell Multiple,market-indicator,btc,Daily miner revenue divided by 365-day moving average revenue,<0.5 undervalued|0.5-4 neutral|>4 overheated,Miner profitability indicator. Low values indicate miner stress high values indicate excess profitability.
14
-
15
- # Market Indicators - ETH
16
- eth-mvrv,Market Value to Realized Value (ETH),market-indicator,eth,Compares ETH market cap to realized cap,<1 undervalued|1-2 neutral|>2 overheated,ETH valuation indicator. Similar interpretation to BTC MVRV but with different threshold ranges.
17
-
18
- # Exchange Flows - BTC
19
- netflow,Exchange Netflow,exchange-flows,btc,Net flow of BTC into (positive) or out of (negative) exchanges,positive sell pressure|negative accumulation,Key supply dynamics indicator. Sustained outflows suggest accumulation sustained inflows suggest distribution.
20
- reserve,Exchange Reserve,exchange-flows,btc,Total BTC held across all tracked exchanges,increasing distribution|decreasing accumulation,Long-term trend indicator. Declining reserves bullish for price (less liquid supply).
21
- inflow,Exchange Inflow,exchange-flows,btc,Total BTC deposited to exchanges,high inflow potential sell pressure,Immediate selling potential. Large inflows may precede price drops.
22
- outflow,Exchange Outflow,exchange-flows,btc,Total BTC withdrawn from exchanges,high outflow accumulation,Accumulation signal. Large outflows suggest coins moving to cold storage.
23
- exchange-whale-ratio,Exchange Whale Ratio,exchange-flows,btc,Ratio of top 10 inflow transactions to total inflows,>0.9 whale dominated|<0.5 retail dominated,Who is moving coins. High ratio means large players dominating exchange activity.
24
-
25
- # Exchange Flows - ETH
26
- eth-netflow,Exchange Netflow (ETH),exchange-flows,eth,Net flow of ETH into or out of exchanges,positive sell pressure|negative accumulation,ETH supply dynamics. Same interpretation as BTC netflow.
27
- eth-reserve,Exchange Reserve (ETH),exchange-flows,eth,Total ETH held on exchanges,increasing distribution|decreasing accumulation,ETH long-term supply trend.
28
-
29
- # Derivatives Data
30
- funding-rates,Funding Rates,market-data,btc,Periodic payment between long and short perpetual swap holders,<0 bearish bias|0-0.03% neutral|>0.1% extreme bullish,Leverage sentiment. Extreme positive rates often precede corrections.
31
- open-interest,Open Interest,market-data,btc,Total value of outstanding derivative contracts,rising with price continuation|falling unwinding,Position buildup indicator. Rising OI with rising price = new money entering. Falling OI = positions closing.
32
- long-short-ratio,Long/Short Ratio,market-data,btc,Ratio of accounts holding long vs short positions,>1 more longs|<1 more shorts,Retail positioning. Can be contrarian - extreme ratios often precede reversals.
33
- liquidations,Liquidations,market-data,btc,Value of forced position closures,high liquidations volatility and trend exhaustion,Leverage washout. Large liquidation events often mark local tops or bottoms.
34
-
35
- # Miner Flows
36
- miner-netflow,Miner Netflow,miner-flows,btc,Net flow from miner wallets to exchanges (positive = selling),positive miner selling|negative miner accumulating,Miner behavior. Sustained miner selling can add supply pressure. Miner accumulation bullish.
37
- hashrate,Hash Rate,network-indicator,btc,Total computational power securing the Bitcoin network,rising network growth|falling miner stress,Network health. Declining hashrate may indicate miner capitulation.
38
- difficulty,Mining Difficulty,network-indicator,btc,Computational difficulty of mining a block,rising competition|falling capitulation,Mining economics. Difficulty adjustments follow hashrate changes.
39
-
40
- # Network Indicators
41
- active-addresses,Active Addresses,network-indicator,btc,Number of unique addresses transacting daily,rising adoption|falling reduced activity,Network usage proxy. More active addresses = more organic usage.
42
- transaction-count,Transaction Count,network-indicator,btc,Number of on-chain transactions per day,rising demand|falling reduced usage,Network demand. High transaction counts indicate active usage.
43
- nvt-ratio,NVT Ratio,network-indicator,btc,Network Value to Transactions ratio (market cap / daily tx volume),high overvalued|low undervalued,Valuation vs usage. High NVT suggests price outpacing network activity.
44
-
45
- # Stablecoin Data
46
- stablecoin-supply,Stablecoin Supply Ratio,stablecoin,btc,Ratio of stablecoin market cap to BTC market cap,high buying power|low limited firepower,Dry powder indicator. High ratio = lots of stables ready to buy BTC.
47
- usdt-exchange-reserve,USDT Exchange Reserve,stablecoin,stablecoin,USDT held on exchanges,increasing ready to buy|decreasing deployed or withdrawn,Immediate buying potential. Rising USDT reserves suggest incoming demand.
48
-
49
- # ETH Specific
50
- eth-staking-rate,ETH Staking Rate,network-indicator,eth,Percentage of ETH supply staked in beacon chain,high reduced liquid supply|low more tradeable,ETH supply dynamics. Higher staking = less sell pressure.
51
- eth-validator-count,Validator Count,network-indicator,eth,Number of active Ethereum validators,rising network security|falling concerning,Network participation. More validators = more decentralized and secure.
52
- eth-gas-used,Gas Used,network-indicator,eth,Total gas consumed in transactions,high network congestion|low low activity,Network demand. High gas usage indicates strong demand for block space.
53
-
54
- # Advanced Metrics
55
- sthr-sopr,Short-Term Holder SOPR,market-indicator,btc,SOPR for coins held less than 155 days,<1 STH capitulation|>1 STH profit taking,Recent buyer behavior. STH panic often marks local bottoms.
56
- lth-sopr,Long-Term Holder SOPR,market-indicator,btc,SOPR for coins held more than 155 days,rarely below 1 LTH selling at loss is extreme|high profit taking at tops,Diamond hands behavior. LTH selling at loss is historically rare and marks deep capitulation.
57
- supply-in-profit,Supply in Profit,market-indicator,btc,Percentage of circulating supply currently in profit,<50% capitulation zone|>95% euphoria zone,Market-wide profit state. Extreme readings mark cycle phases.
58
- coin-days-destroyed,Coin Days Destroyed,network-indicator,btc,Sum of coins multiplied by days held when moved,spike old coins moving (distribution)|low hodling,Old money movement. CDD spikes often occur at market tops as long-term holders distribute.
6
+ metrics[200]{id,name,category,asset,description,thresholds,interpretation}:
7
+
8
+ # ============================================================================
9
+ # BTC - Market Data
10
+ # ============================================================================
11
+ price-ohlcv,Price OHLCV,market-data,btc,BTC price data including open; high; low; close; and volume. CryptoQuant's BTC Index Price is VWAP aggregated from all supported exchanges.,,Core price data for technical analysis and trading decisions
12
+ open-interest,Open Interest,market-data,btc,BTC Perpetual Open Interest from derivative exchanges; unified to USD across all exchanges.,,Rising OI with price increase indicates strong trend; divergence signals potential reversal
13
+ funding-rates,Funding Rates,market-data,btc,Funding rates represent traders' sentiment in perpetual swaps market. Positive rates mean longs pay shorts (bullish); negative rates mean shorts pay longs (bearish).,>0.1% extremely bullish/overheated|<-0.1% extremely bearish|near 0 neutral,Extreme funding rates often precede mean reversion; sustained positive rates indicate strong bullish conviction
14
+ taker-buy-sell-stats,Taker Buy Sell Stats,market-data,btc,Taker buy/sell volume and ratios in perpetual swap markets; indicating active trading sentiment.,buy_sell_ratio >1 bullish|buy_sell_ratio <1 bearish,Taker buy dominance suggests aggressive buying pressure and potential upward momentum
15
+ liquidations,Liquidations,market-data,btc,Forced market orders from leveraged position closures due to price volatility; indicating trader sentiment and market direction.,,Large liquidation spikes often mark local tops/bottoms and can accelerate price moves
16
+ capitalization,Capitalization,market-data,btc,Market cap metrics including market_cap; realized_cap (UTXO-weighted); average_cap; delta_cap; and thermo_cap for fundamental analysis.,delta_cap near realized_cap market top|delta_cap low market bottom,Realized cap acts as on-chain VWAP; delta_cap oscillations help identify cycle extremes
17
+ coinbase-premium-index,Coinbase Premium Index,market-data,btc,Percent difference between Coinbase (BTCUSD) and Binance (BTCUSDT) prices; indicating US institutional spot buying pressure.,>0 US buying pressure|<0 US selling pressure,Positive premium signals strong US institutional demand; useful for gauging Western market sentiment
18
+
19
+ # ============================================================================
20
+ # BTC - Market Indicator
21
+ # ============================================================================
22
+ estimated-leverage-ratio,Estimated Leverage Ratio,market-indicator,btc,Open interest divided by exchange BTC reserve; estimating average user leverage. High values indicate aggressive speculation.,high values rapid volatility expected,Elevated leverage ratio signals overheated market conditions and increased liquidation risk
23
+ mvrv,MVRV,market-indicator,btc,Market-Value-to-Realized-Value ratio comparing market cap to realized cap; indicating if BTC is over/undervalued relative to holder cost basis.,<1 undervalued|1-3.7 neutral|>3.7 overvalued/top zone,Primary cycle indicator; extreme highs signal profit-taking zones; extreme lows signal accumulation opportunities
24
+ stablecoin-supply-ratio,Stablecoin Supply Ratio,market-indicator,btc,Ratio of BTC market cap to total stablecoin supply; measuring potential buying power available for BTC.,low SSR high buying power|high SSR low buying power,Lower SSR indicates more dry powder available to buy BTC; suggesting potential bullish pressure
25
+ sopr,Spent Output Profit Ratio,market-indicator,btc,Ratio of USD value at spent time vs created time for UTXOs; showing if market participants are selling at profit or loss.,>1 selling at profit|=1 break-even|<1 selling at loss,SOPR resetting to 1 in bull markets often marks local bottoms; sustained >1 indicates healthy profit-taking
26
+ sopr-ratio,SOPR Ratio,market-indicator,btc,Long-term holder SOPR divided by short-term holder SOPR; indicating relative profit-taking behavior between cohorts.,high values LTH selling more than STH (potential top),Elevated SOPR ratio suggests long-term holders are distributing; often seen near market tops
27
+ realized-price,Realized Price,market-indicator,btc,Realized Cap divided by total supply; representing average price weighted by supply that market participants paid for their coins.,price below realized price bear market|price above realized price bull market,Acts as on-chain support/resistance; price falling below realized price historically marks bear market lows
28
+ utxo-realized-price-age-distribution,UTxO Realized Price Age Distribution,market-indicator,btc,Set of realized prices across different age bands; showing cost basis of different holder cohorts.,,Overlaying cohort realized prices helps identify key support/resistance levels by holder group
29
+ asopr,Adjusted SOPR,market-indicator,btc,SOPR excluding coins younger than 1 hour to filter noise,<1 loss realization|>1 profit taking,More accurate than raw SOPR for trend analysis. Filters out exchange-related movements
30
+
31
+ # ============================================================================
32
+ # BTC - Exchange Flows
33
+ # ============================================================================
34
+ reserve,Exchange Reserve,exchange-flows,btc,Full historical on-chain balance of Bitcoin exchanges.,declining reserve bullish (accumulation)|rising reserve bearish (selling pressure),Decreasing exchange reserves indicate holders moving to cold storage; reducing available sell supply
35
+ transactions-count-ef,Exchange Transactions Count,exchange-flows,btc,Number of transactions flowing in/out of Bitcoin exchanges.,,Transaction count spikes can signal increased trading activity and potential volatility
36
+ inflow,Exchange Inflow,exchange-flows,btc,BTC flowing into exchange wallets; including total inflow and average transaction value.,high inflow potential selling pressure,Large inflows often precede selling; monitor for whale deposits signaling distribution
37
+ outflow,Exchange Outflow,exchange-flows,btc,BTC flowing out of exchange wallets; including total outflow and average transaction value.,high outflow accumulation signal,Large outflows indicate accumulation as holders move coins to cold storage
38
+ addresses-count-ef,Exchange Addresses Count,exchange-flows,btc,Number of addresses involved in exchange inflow/outflow transactions.,,Rising unique addresses suggests broader market participation
39
+ netflow,Exchange Netflow,exchange-flows,btc,Difference between exchange inflows and outflows; showing net movement of coins to/from exchanges.,positive netflow selling pressure|negative netflow accumulation,Sustained negative netflow is bullish as it reduces tradeable supply on exchanges
40
+ in-house-flow,In-House Flow,exchange-flows,btc,BTC movement within wallets of the same exchange; representing internal transfers.,,High in-house flow may indicate exchange wallet management or internal position changes
41
+ exchange-whale-ratio,Exchange Whale Ratio,flow-indicator,btc,Ratio of top 10 inflow transactions to total inflows,>0.9 whale dominated|<0.5 retail dominated,Who is moving coins. High ratio means large players dominating exchange activity
42
+
43
+ # ============================================================================
44
+ # BTC - Network Data
45
+ # ============================================================================
46
+ block-bytes,Block Bytes,network-data,btc,Mean size in bytes of all blocks generated.,,Block size trends indicate network utilization and transaction demand
47
+ block-count,Block Count,network-data,btc,Number of blocks generated in a given time window.,,Block count variations reflect mining difficulty adjustments and network health
48
+ block-interval,Block Interval,network-data,btc,Average time between blocks in seconds.,<600s hashrate increasing|>600s hashrate decreasing,Shorter intervals indicate hashrate growth outpacing difficulty; longer intervals suggest miner stress
49
+ utxo-count,UTXO Count,network-data,btc,Total number of unspent transaction outputs existing at a given point.,,Growing UTXO set indicates network expansion and holder base diversification
50
+ fees,Fees,network-data,btc,Statistics on fees paid to miners including total fees; average fee per block; and fees as percentage of block reward.,,High fees indicate network congestion and strong transaction demand
51
+ fees-transaction,Fees Transaction,network-data,btc,Average and median fee per transaction paid to miners.,,Per-transaction fee trends help gauge network demand and user urgency
52
+ blockreward,Blockreward,network-data,btc,Sum of block rewards including mining rewards and transaction fees; also available in USD.,,Block reward USD value impacts miner profitability and potential selling pressure
53
+ difficulty,Mining Difficulty,network-data,btc,Mean difficulty of mining a new block.,,Rising difficulty indicates growing network security and miner competition
54
+ hashrate,Hash Rate,network-data,btc,Mean speed at which miners solve hash problems; displayed as hashes per second.,,Hashrate growth signals network health and miner confidence in long-term BTC value
55
+ supply,Supply,network-data,btc,Bitcoin supply metrics including total supply and newly issued tokens per window.,,Supply growth rate decreases with each halving; reinforcing scarcity narrative
56
+ tokens-transferred,Tokens Transferred,network-data,btc,Transaction volume metrics including total; mean; and median tokens transferred per transaction.,,On-chain volume spikes often accompany significant price movements
57
+ velocity,Velocity,network-data,btc,Trailing 1-year transaction volume divided by current supply; measuring how actively money circulates.,,Low velocity suggests hodling behavior; high velocity indicates active trading/spending
58
+ inflation,Inflation,network-data,btc,Daily inflation rate calculated by dividing newly issued tokens by total supply.,,Inflation rate decreases with halvings; making BTC increasingly scarce over time
59
+ top100,Top100,network-data,btc,Metrics relating to top 100 BTC rich holder addresses.,,Top holder accumulation/distribution patterns can signal major market moves
60
+ days-destroyed,Days Destroyed,network-data,btc,Tokens transferred multiplied by days since last movement; filtering noise by weighting long-dormant coins.,high values old coins moving,Spikes indicate long-term holders are moving coins; potentially for distribution
61
+
62
+ # ============================================================================
63
+ # BTC - Network Indicator
64
+ # ============================================================================
65
+ stock-to-flow,Stock to Flow,network-indicator,btc,Scarcity metric dividing circulating supply by newly supplied coins; similar to precious metals valuation.,,Higher S2F after halvings historically correlates with price appreciation cycles
66
+ nvt,NVT Ratio,network-indicator,btc,Network Value to Transaction ratio - market cap divided by on-chain transaction volume; assessing if network value matches activity.,high NVT overvalued|low NVT undervalued,High NVT suggests price outpacing network usage; low NVT indicates undervaluation
67
+ nvt-golden-cross,NVT Golden Cross,network-indicator,btc,Modified NVT index providing local tops and bottoms signals.,>2.2 downside risk|<-1.6 upside potential,Actionable signal: above 2.2 suggests overvaluation; below -1.6 suggests accumulation zone
68
+ nvm,NVM,network-indicator,btc,Network Value to Metcalfe ratio - market cap divided by daily active addresses squared; based on Metcalfe's law.,low NVM undervalued|high NVM overvalued,Low NVM relative to history suggests network value is underestimated
69
+ puell-multiple,Puell Multiple,network-indicator,btc,Mining revenue USD divided by 365-day MA mining revenue; showing historically low/high periods for miner income.,<0.5 accumulation zone|>4 overheated/distribution,Low Puell Multiple historically marks great buying opportunities; high values signal tops
70
+ cdd,Coin Days Destroyed,network-indicator,btc,Sum of spent output alive days multiplied by value; giving weight to long-term holder movements. Includes supply-adjusted and binary CDD.,binary_cdd=1 above average old coin movement,High CDD spikes indicate long-term holders are distributing; often near market tops
71
+ sca,Sum Coin Age,network-indicator,btc,Sum of unspent transaction output alive days multiplied by value; measuring accumulated holder conviction.,,Rising SCA indicates coins are being held longer; showing strong holder conviction
72
+ mca,Mean Coin Age,network-indicator,btc,Mean of unspent transaction output alive days multiplied by value.,,Declining MCA suggests distribution as old coins are spent; rising MCA indicates accumulation
73
+ nupl,Net Unrealized Profit/Loss,network-indicator,btc,Difference between market cap and realized cap divided by market cap; showing overall market profit/loss state.,>0.75 euphoria/greed|0.5-0.75 belief|0.25-0.5 optimism|0-0.25 hope|<0 capitulation,Extreme NUPL values mark cycle tops (euphoria) and bottoms (capitulation)
74
+ nrpl,Net Realized Profit/Loss,network-indicator,btc,Net magnitude of realized profit or loss by holders spending coins; assessed relative to acquisition price.,,Large realized losses during downtrends can mark capitulation bottoms
75
+ pnl-utxo,Profit and Loss (UTxO),network-indicator,btc,Number of UTXOs in profit vs loss by comparing creation and destruction prices.,,High percentage of UTXOs in profit indicates strong market position
76
+ pnl-supply,Profit and Loss (Supply),network-indicator,btc,Sum of UTXO values in profit vs loss; weighted by coin amount for accurate supply tracking.,,Percentage of supply in profit helps gauge overall market health and sentiment
77
+ sca-distribution,Sum Coin Age Distribution,network-indicator,btc,Distribution of long-term vs short-term holders weighted by UTXO age; highlighting long-term holder presence.,rising LTH ratio bullish,Increasing long-term SCA distribution ratio suggests accumulation and bullish momentum
78
+ dormancy,Dormancy,network-indicator,btc,Average number of days destroyed per coin transacted; with supply-adjusted variant normalizing for supply growth.,,High dormancy indicates old coins are being spent; low dormancy suggests young coin activity
79
+ utxo-age-distribution,UTxO Age Distribution,network-indicator,btc,Active supply distribution across age bands; summarizing long-term and short-term holder behavior.,,Shifting age bands reveal accumulation/distribution patterns across holder cohorts
80
+ utxo-realized-age-distribution,UTxO Realized Age Distribution,network-indicator,btc,Active supply across age bands weighted by acquisition price; showing capitalization held by different cohorts.,,Reveals realized cap concentration across holder groups for deeper cycle analysis
81
+ utxo-count-age-distribution,UTxO Count Age Distribution,network-indicator,btc,Number of holders across age bands; showing how many long-term vs short-term holders exist.,,Growing count in older bands indicates broadening long-term holder base
82
+ spent-output-age-distribution,Spent Output Age Distribution,network-indicator,btc,Sum of spent outputs across age bands; showing which cohorts are spending their coins.,,Old coin spending spikes often signal distribution phases near cycle tops
83
+ utxo-supply-distribution,UTxO Supply Distribution,network-indicator,btc,Active supply across balance bands; separating whale and retail behavior by holdings size.,,Whale accumulation in higher bands suggests institutional confidence
84
+ utxo-realized-supply-distribution,UTxO Realized Supply Distribution,network-indicator,btc,Active supply across balance bands weighted by acquisition price; showing capitalization held by whales vs retail.,,Reveals cost basis distribution between retail and whale cohorts
85
+ utxo-count-supply-distribution,UTxO Count Supply Distribution,network-indicator,btc,Number of holders across balance bands; showing whale vs retail participant counts.,,Growing retail participation indicates broadening market adoption
86
+ spent-output-supply-distribution,Spent Output Supply Distribution,network-indicator,btc,Sum of spent outputs across balance bands; showing which holder sizes are spending.,,Whale spending in large bands often precedes significant price movements
87
+ active-addresses,Active Addresses,network-indicator,btc,Number of unique addresses transacting daily,rising adoption|falling reduced activity,Network usage proxy. More active addresses = more organic usage
88
+ transaction-count,Transaction Count,network-indicator,btc,Number of on-chain transactions per day,rising demand|falling reduced usage,Network demand. High transaction counts indicate active usage
89
+
90
+ # ============================================================================
91
+ # BTC - Miner Flows
92
+ # ============================================================================
93
+ miner-reserve,Miner Reserve,miner-flows,btc,Full historical on-chain balance of Bitcoin mining pools.,declining reserve bullish|rising reserve potential sell pressure,Miner reserve depletion may signal selling pressure; accumulation suggests confidence
94
+ miner-transactions-count,Miner Transactions Count,miner-flows,btc,Number of transactions flowing in/out of Bitcoin miners.,,High miner transaction activity may precede significant market moves
95
+ miner-inflow,Miner Inflow,miner-flows,btc,BTC flowing into mining pool wallets with average transaction value.,,Miner inflows from exchanges may indicate OTC deals or operational funding
96
+ miner-outflow,Miner Outflow,miner-flows,btc,BTC flowing out of mining pool wallets with average transaction value.,high outflow potential selling,Large miner outflows often signal selling to cover operational costs
97
+ miner-addresses-count,Miner Addresses Count,miner-flows,btc,Number of addresses involved in miner inflow/outflow transactions.,,Address count changes may indicate miner consolidation or distribution
98
+ miner-hashrate,Miner Hashrate,miner-flows,btc,Mining pool hashrate inferred from percent of blocks mined multiplied by total network hashrate.,,Pool hashrate share changes indicate mining centralization trends
99
+ miner-revenue,Miner Revenue,miner-flows,btc,Bitcoin earned by mining pool through block rewards (coinbase + transaction fees).,,Miner revenue trends impact selling pressure and network security investment
100
+ miner-netflow,Miner Netflow,miner-flows,btc,Difference between miner inflows and outflows; showing net accumulation or distribution.,positive netflow accumulation|negative netflow selling,Sustained negative miner netflow indicates distribution; positive suggests accumulation
101
+ miner-in-house-flow,Miner In-House Flow,miner-flows,btc,BTC movement within wallets of the same miner; representing internal transfers.,,Internal miner flows may indicate wallet management or position preparation
102
+
103
+ # ============================================================================
104
+ # BTC - Flow Indicator
105
+ # ============================================================================
106
+ exchange-shutdown-index,Exchange Shutdown Index,flow-indicator,btc,Identifies sudden increases then zeroing of exchange outflows; potentially detecting hacks or shutdowns.,,Spikes may indicate exchange security incidents or operational issues
107
+ fund-flow-ratio,Fund Flow Ratio,flow-indicator,btc,Amount of BTC that exchanges occupy among all BTC sent on the network; measuring trading involvement.,high ratio high trading activity,Rising fund flow ratio indicates increased exchange-related activity and potential volatility
108
+ mpi,Miners Position Index (MPI),flow-indicator,btc,Z-score of miner outflows highlighting periods of extremely high or low miner selling activity.,>2 heavy miner selling|<0 low selling pressure,MPI above 2 signals significant miner distribution; below 0 indicates accumulation
109
+ stablecoins-ratio,Stablecoins Ratio,flow-indicator,btc,BTC reserve divided by all stablecoins reserve on an exchange; indicating potential sell pressure.,high ratio potential selling pressure|low ratio buying power available,Low stablecoins ratio suggests dry powder available for BTC purchases
110
+ exchange-inflow-age-distribution,Exchange Inflow Age Distribution,flow-indicator,btc,Active inflows to exchanges across age bands; showing which holder cohorts are depositing to exchanges.,,Old coin inflows to exchanges often signal long-term holder distribution
111
+ exchange-inflow-supply-distribution,Exchange Inflow Supply Distribution,flow-indicator,btc,Active inflows to exchanges across balance bands; separating whale vs retail deposit behavior.,,Large balance band inflows indicate whale selling pressure
112
+ exchange-inflow-cdd,Exchange Inflow CDD,flow-indicator,btc,Coin Days Destroyed for coins flowing into exchanges; noise-removed signal for exchange dumping.,high values old coins moving to exchanges,High exchange inflow CDD signals long-term holders preparing to sell
113
+ exchange-supply-ratio,Exchange Supply Ratio,flow-indicator,btc,Exchange reserve divided by total supply; measuring percentage of BTC held on exchanges.,declining ratio bullish|rising ratio bearish,Lower exchange supply ratio indicates coins moving to cold storage; reducing sell pressure
114
+ miner-supply-ratio,Miner Supply Ratio,flow-indicator,btc,Miner reserve divided by total supply; measuring percentage of BTC held by miners.,,Miner supply changes indicate accumulation or distribution by miners
115
+
116
+ # ============================================================================
117
+ # BTC - Inter-Entity Flows
118
+ # ============================================================================
119
+ exchange-to-exchange,Exchange to Exchange,inter-entity-flows,btc,Token flows between exchanges including total; mean; and transaction count for inter-exchange transfers.,,Large inter-exchange flows may indicate arbitrage or position repositioning
120
+ exchange-to-miner,Exchange to Miner,inter-entity-flows,btc,Token flows from exchanges to mining pools; tracking exchange-to-miner fund movements.,,Exchange to miner flows may indicate OTC deals or operational payments
121
+ miner-to-miner,Miner to Miner,inter-entity-flows,btc,Token flows between mining pools; tracking inter-miner fund movements.,,Miner to miner flows may indicate pool consolidation or partnerships
122
+ miner-to-exchange,Miner to Exchange,inter-entity-flows,btc,Token flows from mining pools to exchanges; tracking miner selling behavior.,high flows miner selling pressure,Large miner to exchange flows often precede selling pressure on markets
123
+
124
+ # ============================================================================
125
+ # BTC - Fund Data
126
+ # ============================================================================
127
+ market-price-usd,Fund Market Price USD,fund-data,btc,USD price of fund-related stocks like GBTC; reflecting institutional investor sentiment in regulated markets.,,Fund price movements indicate traditional finance sentiment toward BTC exposure
128
+ market-volume,Fund Market Volume,fund-data,btc,Traded volume of fund-related stocks; reflecting institutional trading activity.,,High fund volume indicates strong institutional interest and participation
129
+ market-premium,Fund Market Premium,fund-data,btc,Premium or discount of fund shares vs NAV (Net Asset Value); indicating market sentiment.,positive premium bullish TradFi sentiment|negative premium bearish TradFi sentiment,Persistent premium indicates strong institutional demand; discount signals weak interest
130
+ digital-asset-holdings,Digital Asset Holdings,fund-data,btc,Amount of BTC held by funds like Grayscale; indicating stock market investor sentiment.,rising holdings bullish institutional demand,Growing fund holdings signal increasing institutional adoption and demand
131
+
132
+ # ============================================================================
133
+ # BTC - Other
134
+ # ============================================================================
135
+ entity-list,Entity List,entity-status,btc,List of tracked entities including exchanges and miners with market type classification (spot vs derivative).,,Reference data for filtering and analyzing specific exchanges or miners
136
+ stats-by-relative-fee,Mempool Stats by Fee,mempool,btc,Mempool statistics (transaction count; total size; total fee) categorized by fee level for unconfirmed transactions.,,Fee distribution reveals urgency of pending transactions and network congestion
137
+ stats-in-total,Mempool Stats Total,mempool,btc,Average mempool statistics including transaction count; aggregate size; and total fees for unconfirmed transactions.,,Rising mempool congestion often accompanies high-activity market periods
138
+ lightning-stats-in-total,Lightning Network Stats,lightning-network,btc,Lightning Network metrics including network capacity; node/channel counts; average capacities; and fee statistics.,,Growing Lightning capacity indicates increasing Layer 2 adoption and scalability
139
+ companies,Mining Companies,miner-data,btc,Mining company data including coinbase rewards; total rewards; unique transactions; and production metrics for public miners.,,Public miner production data helps gauge institutional mining health and market supply
140
+
141
+ # ============================================================================
142
+ # ETH - Market Data
143
+ # ============================================================================
144
+ eth-price-ohlcv,Price OHLCV,market-data,eth,ETH price data including open; close; high; low; and volume. Provides CryptoQuant ETH Index Price and USD/USDT prices from global exchanges.,,Price movements indicate market sentiment and can be used to identify trends and entry/exit points
145
+ eth-open-interest,Open Interest,market-data,eth,ETH Perpetual Open Interest from derivative exchanges; unified to USD value.,,Rising OI with price suggests trend strength; high OI indicates potential volatility
146
+ eth-funding-rates,Funding Rates,market-data,eth,Represents traders' sentiments in perpetual swaps market. Positive rates mean bullish sentiment with longs paying shorts; negative rates mean bearish sentiment.,positive bullish longs pay shorts|negative bearish shorts pay longs,Extreme funding rates often precede reversals as overleveraged positions get liquidated
147
+ eth-taker-buy-sell-stats,Taker Buy Sell Stats,market-data,eth,Taker buy/sell volumes and ratios in perpetual swap markets; showing which positions takers are taking.,,Higher taker buy ratio indicates aggressive buying; useful for short-term momentum signals
148
+ eth-liquidations,Liquidations,market-data,eth,Sum of forced market orders to exit leveraged positions caused by price volatility; indicating current volatility and trader sentiment.,,Large liquidation spikes often signal local bottoms or tops as overleveraged traders are flushed out
149
+ eth-coinbase-premium-index,Coinbase Premium Index,market-data,eth,Percent difference between Coinbase price (ETHUSD) and Binance price (ETHUSDT). Higher premium indicates stronger spot buying pressure.,high premium strong US buying pressure|negative premium weak US demand,Positive premium suggests institutional US buying interest; often preceding price rallies
150
+ eth-capitalization,Capitalization,market-data,eth,Total market capitalization of ETH; calculated by multiplying circulating supply with USD price.,,Market cap trends help assess ETH dominance and overall market health
151
+
152
+ # ============================================================================
153
+ # ETH - Exchange Flows
154
+ # ============================================================================
155
+ eth-reserve,Exchange Reserve,exchange-flows,eth,Full historical on-chain balance of Ethereum exchanges.,,Declining reserves suggest accumulation and reduced sell pressure
156
+ eth-transactions-count,Transactions Count,exchange-flows,eth,Number of transactions flowing in/out of Ethereum exchanges.,,High transaction counts indicate increased exchange activity and potential volatility
157
+ eth-inflow,Exchange Inflow,exchange-flows,eth,ETH flowing into exchange wallets with average transaction values.,,Rising inflows often precede selling pressure as holders move to exchanges
158
+ eth-outflow,Exchange Outflow,exchange-flows,eth,ETH flowing out of exchange wallets with average transaction values.,,Strong outflows indicate accumulation as investors move ETH to cold storage
159
+ eth-addresses-count-ef,Exchange Addresses Count,exchange-flows,eth,Number of addresses involved in exchange inflow/outflow transactions.,,More unique addresses indicate broader market participation
160
+ eth-netflow,Exchange Netflow,exchange-flows,eth,Difference between coins flowing into and out of exchanges; showing idle coins waiting to be traded.,positive potential sell pressure|negative accumulation,Negative netflow is bullish as it indicates more ETH leaving exchanges than entering
161
+
162
+ # ============================================================================
163
+ # ETH - Network Data
164
+ # ============================================================================
165
+ eth-block-bytes,Block Bytes,network-data,eth,Mean size in bytes of all blocks generated.,,Larger blocks indicate higher network utilization and demand for block space
166
+ eth-block-count,Block Count,network-data,eth,Number of blocks generated in a given window.,,Consistent block production indicates healthy network operation
167
+ eth-block-interval,Block Interval,network-data,eth,Average time between blocks generated; displayed in seconds.,,Stable block intervals indicate consistent network performance
168
+ eth-fees,Fees,network-data,eth,Statistics related to fees paid from executing transactions; including total fees; average fee per block; and percentage of fees relative to block reward.,,High fees indicate network congestion and strong demand for block space
169
+ eth-fees-burnt,Fees Burnt,network-data,eth,Total fees burnt in Ethereum chain by executing transactions; introduced after London upgrade.,,Higher burnt fees reduce ETH supply; potentially increasing scarcity value
170
+ eth-fees-tips,Fees Tips,network-data,eth,Fees directly paid to Ethereum miners/validators; introduced after London upgrade.,,Tips reflect priority fee market dynamics and validator incentives
171
+ eth-fees-transaction,Fees Transaction,network-data,eth,Average and median fees per transaction paid from executing transactions.,,Transaction fees indicate network demand and user willingness to pay for inclusion
172
+ eth-blockreward,Blockreward,network-data,eth,Sum of block rewards including mining/staking rewards and transaction fees.,,Block rewards affect validator economics and ETH issuance rate
173
+ eth-difficulty,Difficulty,network-data,eth,Mean difficulty of mining a new block.,,Higher difficulty indicates more mining competition and network security
174
+ eth-hashrate,Hashrate,network-data,eth,Mean speed at which miners solve hash problems; displayed in hashes per second.,,Higher hashrate indicates stronger network security and miner commitment
175
+ eth-supply,Supply,network-data,eth,Total amount of Ethereum in existence and newly issued tokens in a given window.,,Supply growth rate affects inflation and long-term value proposition
176
+ eth-gas,Gas,network-data,eth,Statistics related to gas used including total gas; average gas used; average gas price in Gwei; and average gas limit.,,High gas usage indicates strong demand for Ethereum computational resources
177
+ eth-base-fee,Base Fee,network-data,eth,Base fee per gas used to burn fees; introduced after London upgrade. Average value in Gwei.,,Base fee fluctuations indicate network congestion levels
178
+ eth-velocity,Velocity,network-data,eth,Trailing 1 year transaction volume divided by current supply; measuring how actively money circulates.,,Higher velocity suggests more economic activity and usage as medium of exchange
179
+ eth-contracts-count,Contracts Count,network-data,eth,Number of contracts created; destroyed; and total unique contracts on the network.,,Growing contract deployment indicates increasing developer activity
180
+ eth-tokens-transferred,Tokens Transferred,network-data,eth,Transaction volume metrics including total; mean; and median tokens transferred per transaction.,,Transfer volume indicates economic throughput on the network
181
+ eth-inflation,Inflation,network-data,eth,Daily inflation rate calculated by dividing newly issued tokens by total supply.,,Lower inflation rate is deflationary; potentially supporting price
182
+ eth-top100,Top100,network-data,eth,Metrics relating to top 100 ETH rich holders addresses.,,Whale accumulation or distribution patterns can signal market direction
183
+ eth-days-destroyed,Days Destroyed,network-data,eth,Tokens transferred multiplied by days since last movement; filtering noise by weighting recently dormant coins.,,High coin days destroyed suggests long-term holders are moving coins
184
+
185
+ # ============================================================================
186
+ # ETH - ETH2 / Staking
187
+ # ============================================================================
188
+ eth-total-value-staked,Total Value Staked,eth2,eth,Valid ETH balance of the deposit contract.,,Growing staked value indicates confidence in Ethereum 2.0 and reduces circulating supply
189
+ eth-staking-inflow-total,Staking Inflow Total,eth2,eth,Valid ETH inflow into the deposit contract.,,Strong inflows indicate ongoing commitment to staking
190
+ eth-staking-transaction-count,Staking Transaction Count,eth2,eth,Number of valid transactions to the deposit contract.,,Transaction counts show staking participation breadth
191
+ eth-staking-validator-total,Staking Validator Total,eth2,eth,Number of total validators.,,More validators indicate stronger network decentralization and security
192
+ eth-depositor-count-total,Depositor Count Total,eth2,eth,Number of unique accounts who deposited over 32 ETH to the deposit contract.,,Growing depositors show expanding staker base
193
+ eth-depositor-count-new,Depositor Count New,eth2,eth,Number of new unique accounts who deposited over 32 ETH to the deposit contract.,,New depositor growth indicates fresh capital entering staking
194
+ eth-staking-rate,Staking Rate,eth2,eth,Percentage of ETH 2.0 deposit contract balance to total supply.,,Higher staking rate reduces liquid supply and may support price
195
+
196
+ # ============================================================================
197
+ # ETH - Market Indicator
198
+ # ============================================================================
199
+ eth-estimated-leverage-ratio,Estimated Leverage Ratio,market-indicator,eth,Open interest divided by ETH reserve; estimating average user leverage. High leverage leads to rapid volatility.,high leverage high volatility risk|low leverage stable market,Elevated leverage ratios often precede sharp price movements and liquidation cascades
200
+
201
+ # ============================================================================
202
+ # ETH - Flow Indicator
203
+ # ============================================================================
204
+ eth-exchange-supply-ratio,Exchange Supply Ratio,flow-indicator,eth,Exchange reserve divided by total supply; measuring tokens reserved on exchanges relative to total supply.,,Lower ratio suggests more ETH in cold storage; reducing sell pressure potential
205
+
206
+ # ============================================================================
207
+ # ETH - Other
208
+ # ============================================================================
209
+ eth-entity-list,Entity List,entity-status,eth,List of entities including exchanges with market type classification (spot or derivative).,,Reference data for identifying tracked entities and their types
210
+ eth-miner-reserve,Miner Reserve,miner-flows,eth,Full historical on-chain balance of mining pools.,,Miner reserve changes indicate potential selling or accumulation
211
+ eth-miner-outflow,Miner Outflow,miner-flows,eth,ETH flowing out of mining pool wallets with average transaction values.,,Large miner outflows may indicate selling to cover operational costs
212
+ eth-miner-revenue,Miner Revenue,miner-flows,eth,Amount earned by mining pools through block rewards including coinbase and transaction fees.,,Miner revenue affects mining profitability and network security
213
+ eth-exchange-to-exchange,Exchange to Exchange,inter-entity-flows,eth,Token flows between exchanges including total flow; mean flow; and transaction count.,,Inter-exchange flows may indicate arbitrage activity or liquidity movement
214
+ eth-miner-to-exchange,Miner to Exchange,inter-entity-flows,eth,Token flows from mining pools to exchanges including total flow; mean flow; and transaction count.,,Miner-to-exchange flows often precede selling pressure
215
+ eth-fund-market-price,Fund Market Price USD,fund-data,eth,USD price of fund-related stocks like ETHE; reflecting regulated market investor sentiment.,,Fund prices indicate institutional demand in regulated markets
216
+ eth-fund-market-volume,Fund Market Volume,fund-data,eth,Traded volume of fund-related stocks like ETHE; reflecting regulated market sentiment.,,High volume indicates strong institutional interest
217
+ eth-fund-market-premium,Fund Market Premium,fund-data,eth,Premium calculated as (market price - NAV) / NAV indicating market sentiment.,high premium bullish but downside risk|low/negative premium bearish but upside potential,Premium levels indicate institutional sentiment and potential mean reversion opportunities
218
+ eth-digital-asset-holdings,Digital Asset Holdings,fund-data,eth,Digital asset holdings status of funds like Grayscale ETH Holdings; indicating stock market sentiment.,,Rising holdings indicate institutional accumulation and bullish sentiment
219
+
220
+ # ============================================================================
221
+ # Stablecoin
222
+ # ============================================================================
223
+ stablecoin-price-ohlcv,Price OHLCV,market-data,stablecoin,Stablecoin price data including open; close; high; low; and volume. Price is calculated using VWAP from global exchanges.,,Significant deviation from $1 peg indicates market stress or depegging risk
224
+ stablecoin-capitalization,Capitalization,market-data,stablecoin,Total market capitalization calculated by multiplying circulating supply with USD price.,,Rising market cap signals growing demand for stablecoins and potential buying power entering crypto markets
225
+ stablecoin-reserve,Exchange Reserve,exchange-flows,stablecoin,Full historical on-chain balance of stablecoins held on exchanges.,,Increasing exchange reserves indicate dry powder ready to buy crypto assets
226
+ stablecoin-inflow,Exchange Inflow,exchange-flows,stablecoin,Amount of stablecoins flowing into exchange wallets.,,Large stablecoin inflows to exchanges are bullish as they represent potential buying pressure
227
+ stablecoin-outflow,Exchange Outflow,exchange-flows,stablecoin,Amount of stablecoins flowing out of exchange wallets.,,Stablecoin outflows from exchanges may indicate capital leaving the crypto market
228
+ stablecoin-netflow,Exchange Netflow,exchange-flows,stablecoin,Difference between stablecoins flowing into exchanges and flowing out.,,Positive netflow (more inflows) is bullish as it indicates buying power accumulating on exchanges
229
+ stablecoin-supply,Supply,network-data,stablecoin,Token supply metrics including total supply; circulating supply; minted; burned; issued; and redeemed amounts.,,Growing stablecoin supply indicates capital inflows to crypto markets and potential bullish momentum
230
+ stablecoin-tokens-transferred,Tokens Transferred,network-data,stablecoin,Transaction volume metrics including total tokens transferred and mean tokens per transaction.,,High transfer volume indicates active usage and liquidity in stablecoin markets
231
+ stablecoin-addresses-count,Addresses Count,network-data,stablecoin,Number of unique active addresses including senders and receivers on the blockchain.,,Growing active addresses indicate increasing adoption and network usage
232
+ stablecoin-exchange-supply-ratio,Exchange Supply Ratio,flow-indicator,stablecoin,Exchange reserve divided by total supply; measuring the proportion of tokens held on exchanges relative to total supply.,,Higher ratios indicate more stablecoins ready for trading; rising ratios suggest potential buying pressure
233
+ stablecoin-entity-list,Entity List,entity-status,stablecoin,List of entities (exchanges; banks) holding stablecoins with market type classification.,,Useful for identifying which exchanges and entities hold significant stablecoin reserves
234
+
235
+ # ============================================================================
236
+ # ERC20
237
+ # ============================================================================
238
+ erc20-price-ohlcv,Price OHLCV,market-data,erc20,ERC20 token index price data including open; high; low; close; and volume. Calculated using VWAP from global exchanges.,,Use price and volume trends to identify momentum and potential breakout or breakdown levels
239
+ erc20-reserve,Exchange Reserve,exchange-flows,erc20,Full historical on-chain ERC20 token balance held on exchanges.,,Rising reserves suggest increased selling pressure; declining reserves indicate accumulation and potential bullish sentiment
240
+ erc20-inflow,Exchange Inflow,exchange-flows,erc20,Amount of ERC20 tokens flowing into exchange wallets.,,High inflows typically signal potential selling pressure as tokens move to exchanges for trading
241
+ erc20-outflow,Exchange Outflow,exchange-flows,erc20,Amount of ERC20 tokens flowing out of exchange wallets.,,High outflows suggest accumulation as investors move tokens to cold storage for long-term holding
242
+ erc20-netflow,Exchange Netflow,exchange-flows,erc20,Difference between exchange inflows and outflows; measuring net change in idle tokens on exchanges.,,Positive netflow signals bearish pressure; negative netflow indicates bullish accumulation as tokens leave exchanges
243
+ erc20-supply,Supply,network-data,erc20,ERC20 token supply metrics including total supply; newly minted tokens; and burned tokens.,,Monitor supply changes to assess inflationary or deflationary dynamics affecting token value
244
+ erc20-transactions-count,Transactions Count,network-data,erc20,Total and mean number of transactions executed by the ERC20 contract.,,Rising transaction counts indicate growing network usage and adoption momentum
245
+ erc20-addresses-count,Addresses Count,network-data,erc20,Number of active addresses including senders and receivers interacting with the token.,,Increasing active addresses signal growing adoption and network health
246
+ erc20-tokens-transferred,Tokens Transferred,network-data,erc20,Transaction volume metrics including total; mean; and median tokens transferred per transaction.,,Large transfer volumes may indicate whale activity or significant market positioning
247
+ erc20-velocity,Velocity,network-data,erc20,Token velocity calculated as trailing 1-year transaction volume divided by current supply.,,High velocity suggests active trading; low velocity indicates holding behavior and potential price stability
248
+ erc20-exchange-supply-ratio,Exchange Supply Ratio,flow-indicator,erc20,Ratio of exchange reserve to total supply; measuring the proportion of tokens held on exchanges.,,Rising ratio indicates more tokens available for selling; declining ratio suggests accumulation and reduced sell pressure
249
+ erc20-entity-list,Entity List,entity-status,erc20,List of tracked entities for ERC20 tokens including exchanges and their market types.,,Use entity data to filter and analyze flows across specific exchanges or entity types
250
+
251
+ # ============================================================================
252
+ # XRP
253
+ # ============================================================================
254
+ xrp-price-ohlcv,Price OHLCV,market-data,xrp,XRP price data including open; close; high; low; and 24h trading volume from spot and perpetual markets.,,Rising volume with price increase confirms bullish momentum; divergence may signal trend reversal
255
+ xrp-open-interest,Open Interest,market-data,xrp,Total value of outstanding XRP perpetual futures contracts across derivative exchanges; unified in USD.,,Rising open interest with price increase indicates strong trend; declining OI suggests position unwinding
256
+ xrp-funding-rates,Funding Rates,market-data,xrp,Funding rates reflect trader sentiment in perpetual swaps. Positive rates indicate bullish bias; negative rates indicate bearish sentiment.,Positive bullish sentiment|Negative bearish sentiment,Extreme positive funding rates often precede corrections as overleveraged longs get liquidated
257
+ xrp-taker-buy-sell-stats,Taker Buy Sell Stats,market-data,xrp,Taker sentiment metrics showing buy/sell volumes; ratios; and total volume from perpetual swap trades.,buy_sell_ratio >1 buying pressure|<1 selling pressure,High taker buy ratio indicates aggressive buying and potential bullish momentum
258
+ xrp-estimated-leverage-ratio,Estimated Leverage Ratio,market-data,xrp,Ratio of open interest divided by exchange reserve; measuring average leverage used by traders.,,High leverage ratio indicates elevated risk appetite; sudden drops may signal deleveraging events
259
+ xrp-liquidations,Liquidations,market-data,xrp,Sum of forced liquidations from leveraged positions due to price volatility.,,Large liquidation spikes often mark local tops or bottoms as overleveraged positions get flushed
260
+ xrp-capitalization,Capitalization,market-data,xrp,Total market capitalization of XRP calculated by multiplying total supply with USD price.,,Market cap trends help gauge XRP's relative market position and overall investor interest
261
+ xrp-addresses-count,Addresses Count,network-data,xrp,Number of unique XRP addresses including active; sender; and receiver addresses.,,Increasing active addresses signals growing network adoption and user engagement
262
+ xrp-velocity,Velocity,network-data,xrp,Measures how quickly XRP circulates in the network; calculated as on-chain volume divided by market cap.,,Higher velocity suggests increased economic activity and token utility on the network
263
+ xrp-nvt,NVT,network-indicator,xrp,Network Value to Transaction ratio comparing market cap to on-chain transaction volume.,High NVT potentially overvalued|Low NVT potentially undervalued,Elevated NVT suggests price may be outpacing network utility; low NVT indicates undervaluation
264
+ xrp-reserve,Entity Reserve,entity-flows,xrp,Historical on-chain XRP balance held by XRP Ledger entities such as exchanges.,,Declining exchange reserves suggest accumulation; rising reserves may signal selling pressure
265
+ xrp-inflow,Entity Inflow,entity-flows,xrp,Amount of XRP flowing into entity addresses such as exchanges.,,Large exchange inflows typically signal potential selling pressure ahead
266
+ xrp-outflow,Entity Outflow,entity-flows,xrp,Amount of XRP flowing out of entity addresses such as exchanges.,,Sustained outflows from exchanges suggest accumulation and reduced sell pressure
267
+ xrp-whale-movements,Whale Movements,entity-flows,xrp,Transaction counts and transfer volumes associated with whale addresses.,,Large whale movements often precede significant price volatility
268
+ xrp-exchange-supply-ratio,Exchange Supply Ratio,flow-indicator,xrp,Ratio of exchange XRP reserves compared to total XRP supply.,,Declining exchange supply ratio indicates accumulation trend; rising ratio suggests increased sell pressure
269
+ xrp-dex-volume,DEX Volume,dex-data,xrp,XRP trading volume on the native XRPL decentralized exchange.,,Rising DEX volume indicates growing on-chain trading activity and decentralized liquidity
270
+ xrp-dex-liquidity,DEX Liquidity,dex-data,xrp,Total USD liquidity available in the XRPL native decentralized exchange.,,Higher DEX liquidity enables better price execution and attracts more traders
271
+ xrp-amm-liquidity,AMM Liquidity,amm-data,xrp,Total liquidity amount in XRPL AMM pools for non-XRP/XRP trading pairs.,,Growing AMM liquidity improves trading efficiency and reduces slippage for swaps
272
+ xrp-entity-list,Entity List,entity-status,xrp,List of tracked XRP Ledger entities including exchanges; builders; team; foundation; custody; OTC; banks; and bridges.,,Understanding entity classification helps contextualize flow data and market dynamics
273
+
274
+ # ============================================================================
275
+ # TRX
276
+ # ============================================================================
277
+ trx-price-ohlcv,Price OHLCV,market-data,trx,TRX price data including open; close; high; low; and trading volume from spot markets.,,Price and volume trends help identify momentum and potential trend reversals
278
+ trx-capitalization,Capitalization,market-data,trx,Total market capitalization of TRX calculated by multiplying total supply with USD price.,,Market cap changes reflect investor sentiment and TRX's relative market position
279
+ trx-supply,Supply,network-data,trx,TRX supply metrics including total; circulating; minted; burned; and staked amounts.,,Supply dynamics from minting and burning affect long-term tokenomics and price
280
+ trx-transactions-count,Transactions Count,network-data,trx,Total and mean number of transactions on the TRON network.,,Transaction growth indicates increasing network utility and blockchain adoption
281
+ trx-addresses-count,Addresses Count,network-data,trx,Number of unique TRX addresses including active; sender; and receiver addresses.,,Growing active addresses signal expanding user base and network adoption
282
+ trx-tokens-transferred,Tokens Transferred,network-data,trx,Total; mean; and median TRX tokens transferred on-chain in the given period.,,Transfer volume trends help identify accumulation or distribution phases
283
+ trx-fees,Fees,network-data,trx,Transaction fees on TRON including total fees; USD value; and average fee per block.,,Rising fees indicate increased network demand and potential congestion
284
+ trx-tps,TPS,network-data,trx,Transactions per second processed on the TRON network.,,Higher TPS demonstrates network scalability and capacity to handle increased load
285
+ trx-total-value-staked,Total Value Staked,network-data,trx,Total TRX staked across Stake 1.0 (legacy) and Stake 2.0 (newer) staking models.,,High staking levels reduce circulating supply and indicate long-term holder confidence
286
+ trx-staking-rate,Staking Rate,network-data,trx,Percentage of TRX supply that is staked on the network.,,Higher staking rates suggest strong holder commitment and reduced sell pressure
287
+ trx-sunpump-tokens,Sunpump Tokens,defi,trx,Token creation metrics on SunPump platform including creation count and cumulative events.,,Rising token creation indicates growing developer interest in TRON DeFi ecosystem
288
+ trx-sunswap-activity,Sunswap Activity,defi,trx,Sunswap DEX activity including transaction counts; WTRX volume; dominance; and USD values.,,Sunswap activity levels reflect TRON DeFi adoption and decentralized trading demand
289
+
290
+ # ============================================================================
291
+ # ALT
292
+ # ============================================================================
293
+ alt-price-ohlcv,Price OHLCV,market-data,alt,Alt token index price data including open; high; low; close prices and volume. Calculated using VWAP from global exchanges.,,Use price and volume trends to identify momentum shifts and potential breakout or reversal points in altcoin markets
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,iBAAiB,CAAC;IAC9B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,MAAM,EAAE;QAAE,IAAI,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAC;CACvC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,iBAAiB,CAAC;IAC9B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IACvC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAC1C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAC/C,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA4B/C;AAsDD,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,IAAI,CAE3D;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAmBD,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,cAAc,EAAE,CAWnB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1E;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAmBtC;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAI9G;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,IAAI,CAe7D;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAUrE;AAED,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,iBAAiB,CAAC;IAC9B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,MAAM,EAAE;QAAE,IAAI,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAC;CACvC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,iBAAiB,CAAC;IAC9B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IACvC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAC1C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAC/C,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAoC/C;AAsDD,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,IAAI,CAE3D;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAmBD,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,cAAc,EAAE,CAoBnB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1E;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAmBtC;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAI9G;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,IAAI,CAe7D;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAUrE;AAED,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
package/dist/discovery.js CHANGED
@@ -1,11 +1,14 @@
1
+ import { logger } from "./utils.js";
1
2
  let endpointCatalog = null;
2
3
  export async function fetchDiscoveryEndpoints(apiKey, apiUrl) {
3
4
  try {
4
5
  const discoveryUrl = apiUrl.replace(/\/v1$/, "") + "/v1/discovery/endpoints?source=mcp";
6
+ logger.debug("[fetchDiscoveryEndpoints] fetching from:", discoveryUrl);
5
7
  const response = await fetch(discoveryUrl, {
6
8
  method: "GET",
7
9
  headers: { Authorization: `Bearer ${apiKey}` },
8
10
  });
11
+ logger.debug("[fetchDiscoveryEndpoints] response status:", response.status, response.statusText);
9
12
  if (!response.ok) {
10
13
  return { success: false, error: `Discovery API failed: ${response.status} ${response.statusText}` };
11
14
  }
@@ -20,6 +23,9 @@ export async function fetchDiscoveryEndpoints(apiKey, apiUrl) {
20
23
  return { success: false, error: `Invalid discovery response: ${data.status.message}` };
21
24
  }
22
25
  endpointCatalog = parseEndpoints(data.result.data);
26
+ logger.debug("[fetchDiscoveryEndpoints] parsed", endpointCatalog.endpoints.length, "endpoints");
27
+ logger.debug("[fetchDiscoveryEndpoints] assets:", endpointCatalog.assets.join(", "));
28
+ logger.debug("[fetchDiscoveryEndpoints] categories:", endpointCatalog.categories.join(", "));
23
29
  return { success: true };
24
30
  }
25
31
  catch (error) {
@@ -92,13 +98,19 @@ function getBaseEndpoints(catalog, asset, category) {
92
98
  return catalog.endpoints;
93
99
  }
94
100
  export function searchEndpoints(options) {
95
- if (!endpointCatalog)
101
+ logger.debug("[searchEndpoints] search options:", options);
102
+ if (!endpointCatalog) {
103
+ logger.debug("[searchEndpoints] catalog not loaded");
96
104
  return [];
105
+ }
97
106
  const results = getBaseEndpoints(endpointCatalog, options.asset, options.category);
107
+ logger.debug("[searchEndpoints] base results:", results.length);
98
108
  if (!options.query)
99
109
  return results;
100
110
  const queryLower = options.query.toLowerCase();
101
- return results.filter((ep) => ep.path.toLowerCase().includes(queryLower) || ep.metric.toLowerCase().includes(queryLower));
111
+ const filtered = results.filter((ep) => ep.path.toLowerCase().includes(queryLower) || ep.metric.toLowerCase().includes(queryLower));
112
+ logger.debug("[searchEndpoints] filtered by query:", filtered.length);
113
+ return filtered;
102
114
  }
103
115
  export function getEndpointByPath(path) {
104
116
  return endpointCatalog?.endpoints.find((ep) => ep.path === path);
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAkCA,IAAI,eAAe,GAA2B,IAAI,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAc,EACd,MAAc;IAEd,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,oCAAoC,CAAC;QACxF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE;YACzC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE;SAC/C,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;QACtG,CAAC;QAED,IAAI,IAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC;QACzE,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;YACnD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACzF,CAAC;QAED,eAAe,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,KAAK,EAAE,EAAE,CAAC;IACtE,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAI,GAA6B,EAAE,GAAM,EAAE,QAAwB;IACpF,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,YAAiC;IACvD,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IACpD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA4B,CAAC;IACvD,MAAM,eAAe,GAAG,IAAI,GAAG,EAA4B,CAAC;IAE5D,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAE/B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAmB;YAC7B,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,KAAK;YACL,QAAQ;YACR,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAChC,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,mBAAmB,EAAE,EAAE,CAAC,mBAAmB;SAC5C,CAAC;QAEF,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEzB,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACnC,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzC,UAAU,CAAC,eAAe,EAAE,GAAG,KAAK,IAAI,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO;QACL,SAAS;QACT,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;QACjC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE;QACzC,OAAO;QACP,UAAU;QACV,eAAe;QACf,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,eAAe,KAAK,IAAI,CAAC;AAClC,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAwB,EACxB,KAAc,EACd,QAAiB;IAEjB,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,OAAO,CAAC,SAAS,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAI/B;IACC,IAAI,CAAC,eAAe;QAAE,OAAO,EAAE,CAAC;IAEhC,MAAM,OAAO,GAAG,gBAAgB,CAAC,eAAe,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnF,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IAEnC,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAC/C,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CACnG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,eAAe,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,QAAwB,EACxB,MAA+B;IAE/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QACpD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YAChE,MAAM,CAAC,IAAI,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QAEpD,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,aAAa,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACjF,MAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,OAAO,KAAK,eAAe,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,EAAE,CAAC;AACrF,CAAC;AASD,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAElC,OAAO;QACL,eAAe,EAAE,eAAe,CAAC,SAAS,CAAC,MAAM;QACjD,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,eAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;SACxD,CAAC,CAAC;QACH,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,eAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;SACzD,CAAC,CAAC;QACH,UAAU,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;KAC/D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;QAC3C,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}