@surf-ai/sdk 0.1.0 → 0.1.4

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.
@@ -12,7 +12,7 @@ import express from 'express';
12
12
  */
13
13
 
14
14
  interface ServerOptions {
15
- /** Port to listen on (default: PORT env or 3001) */
15
+ /** Port to listen on (default: PORT env, fallback 3001) */
16
16
  port?: number;
17
17
  /** Directory containing route files (default: ./routes) */
18
18
  routesDir?: string;
@@ -55,21 +55,23 @@ interface ApiCursorResponse<T> {
55
55
  }
56
56
  interface ExchangeDepthItem {
57
57
  /** Total ask-side depth in base currency units */
58
- ask_depth: unknown;
58
+ ask_depth: number;
59
+ /** Sell orders, price ascending */
59
60
  asks: ExchangeDepthItemAsksItem[];
60
61
  /** Total bid-side depth in base currency units */
61
- bid_depth: unknown;
62
+ bid_depth: number;
63
+ /** Buy orders, price descending */
62
64
  bids: ExchangeDepthItemBidsItem[];
63
65
  /** Exchange identifier */
64
66
  exchange: string;
65
67
  /** (best_bid + best_ask) / 2 */
66
- mid_price: unknown;
68
+ mid_price: number;
67
69
  /** Trading pair like BTC/USDT */
68
70
  pair: string;
69
71
  /** Best ask - best bid */
70
- spread: unknown;
72
+ spread: number;
71
73
  /** Spread as percent of mid price */
72
- spread_pct: unknown;
74
+ spread_pct: number;
73
75
  }
74
76
  interface ExchangeDepthItemAsksItem {
75
77
  /** Amount at this level */
@@ -85,7 +87,7 @@ interface ExchangeDepthItemBidsItem {
85
87
  }
86
88
  interface ExchangeDepthParams {
87
89
  /** Trading pair (e.g. BTC/USDT) */
88
- pair?: string;
90
+ pair: string;
89
91
  /** Market type: spot for spot trading, swap for perpetual contracts — @default 'spot' */
90
92
  type?: 'spot' | 'swap';
91
93
  /** Number of price levels (1-100) — @default '20' */
@@ -97,15 +99,15 @@ interface ExchangeFundingHistoryItem {
97
99
  /** Exchange identifier */
98
100
  exchange: string;
99
101
  /** Funding rate at this settlement */
100
- funding_rate: unknown;
102
+ funding_rate: number;
101
103
  /** Perpetual contract pair like BTC/USDT */
102
104
  pair: string;
103
105
  /** Unix timestamp in seconds */
104
- timestamp: unknown;
106
+ timestamp: number;
105
107
  }
106
108
  interface ExchangeFundingHistoryParams {
107
109
  /** Trading pair (e.g. BTC/USDT) */
108
- pair?: string;
110
+ pair: string;
109
111
  /** Start of time range. Accepts Unix seconds or date string (YYYY-MM-DD, ISO8601). Not all exchanges support historical queries; some only return recent data regardless of this value. */
110
112
  from?: string;
111
113
  /** Max number of records. For longer history, paginate using the last returned timestamp as the next from value. — @default '100' */
@@ -114,6 +116,7 @@ interface ExchangeFundingHistoryParams {
114
116
  exchange?: 'binance' | 'okx' | 'bybit' | 'bitget' | 'gate' | 'htx' | 'mexc' | 'bitfinex' | 'bitmex';
115
117
  }
116
118
  interface ExchangeKlinesItem {
119
+ /** OHLCV candles */
117
120
  candles: ExchangeKlinesItemCandlesItem[];
118
121
  /** Number of candles */
119
122
  count: number;
@@ -124,15 +127,15 @@ interface ExchangeKlinesItem {
124
127
  /** Trading pair */
125
128
  pair: string;
126
129
  /** Last candle datetime */
127
- period_end: unknown;
130
+ period_end: string;
128
131
  /** Highest price in period */
129
- period_high: unknown;
132
+ period_high: number;
130
133
  /** Lowest price in period */
131
- period_low: unknown;
134
+ period_low: number;
132
135
  /** First candle datetime */
133
- period_start: unknown;
136
+ period_start: string;
134
137
  /** Total volume in period */
135
- period_volume: unknown;
138
+ period_volume: number;
136
139
  }
137
140
  interface ExchangeKlinesItemCandlesItem {
138
141
  /** Closing price */
@@ -144,13 +147,13 @@ interface ExchangeKlinesItemCandlesItem {
144
147
  /** Opening price */
145
148
  open: number;
146
149
  /** Candle open time in Unix seconds */
147
- timestamp: unknown;
150
+ timestamp: number;
148
151
  /** Trading volume in base currency units */
149
152
  volume: number;
150
153
  }
151
154
  interface ExchangeKlinesParams {
152
155
  /** Trading pair (e.g. BTC/USDT) */
153
- pair?: string;
156
+ pair: string;
154
157
  /** Market type: spot for spot trading, swap for perpetual contracts — @default 'spot' */
155
158
  type?: 'spot' | 'swap';
156
159
  /** Candle interval — @default '1h' */
@@ -166,15 +169,15 @@ interface ExchangeLongShortRatioItem {
166
169
  /** Exchange identifier */
167
170
  exchange: string;
168
171
  /** Ratio of longs to shorts (e.g. 1.5 means 60% long / 40% short). To get percentages: long% = ratio/(ratio+1)*100, short% = 100/(ratio+1) */
169
- long_short_ratio: unknown;
172
+ long_short_ratio: number;
170
173
  /** Perpetual contract pair like BTC/USDT */
171
174
  pair: string;
172
175
  /** Unix timestamp in seconds */
173
- timestamp: unknown;
176
+ timestamp: number;
174
177
  }
175
178
  interface ExchangeLongShortRatioParams {
176
179
  /** Trading pair (e.g. BTC/USDT) */
177
- pair?: string;
180
+ pair: string;
178
181
  /** Data interval — @default '1h' */
179
182
  interval?: '1h' | '4h' | '1d';
180
183
  /** Start of time range. Accepts Unix seconds or date string (YYYY-MM-DD, ISO8601). Not all exchanges support historical queries; some only return recent data regardless of this value. */
@@ -186,21 +189,21 @@ interface ExchangeLongShortRatioParams {
186
189
  }
187
190
  interface ExchangeMarketsItem {
188
191
  /** Whether the market is active */
189
- active: unknown;
192
+ active: boolean;
190
193
  /** Base currency */
191
- base: unknown;
194
+ base: string;
192
195
  /** Exchange identifier */
193
196
  exchange: string;
194
197
  /** Default maker fee rate */
195
- maker_fee: unknown;
198
+ maker_fee: number;
196
199
  /** Trading pair like BTC/USDT */
197
200
  pair: string;
198
201
  /** Quote currency */
199
- quote: unknown;
202
+ quote: string;
200
203
  /** Default taker fee rate */
201
- taker_fee: unknown;
204
+ taker_fee: number;
202
205
  /** Market type: spot, swap, future, option */
203
- type: unknown;
206
+ type: string;
204
207
  }
205
208
  interface ExchangeMarketsParams {
206
209
  /** Exchange identifier. When omitted, searches across all supported exchanges. */
@@ -228,15 +231,15 @@ interface ExchangePerpDataFunding {
228
231
  /** Exchange identifier */
229
232
  exchange: string;
230
233
  /** Current funding rate (0.0001 = 0.01%) */
231
- funding_rate: unknown;
234
+ funding_rate: number;
232
235
  /** Index price derived from the weighted average of spot prices across multiple exchanges */
233
- index_price: unknown;
236
+ index_price: number;
234
237
  /** Funding interval like 8h */
235
- interval: unknown;
238
+ interval: string;
236
239
  /** Mark price calculated by the exchange from the index price and funding rate, used as the reference for liquidations */
237
- mark_price: unknown;
240
+ mark_price: number;
238
241
  /** Next settlement time ISO8601 */
239
- next_funding: unknown;
242
+ next_funding: string;
240
243
  /** Perpetual contract pair like BTC/USDT */
241
244
  pair: string;
242
245
  }
@@ -244,47 +247,47 @@ interface ExchangePerpDataOpenInterest {
244
247
  /** Exchange identifier */
245
248
  exchange: string;
246
249
  /** Open interest in contracts */
247
- open_interest_amount: unknown;
250
+ open_interest_amount: number;
248
251
  /** Open interest in USD */
249
- open_interest_usd: unknown;
252
+ open_interest_usd: number;
250
253
  /** Trading pair like BTC/USDT */
251
254
  pair: string;
252
255
  /** Unix timestamp in seconds */
253
- timestamp: unknown;
256
+ timestamp: number;
254
257
  }
255
258
  interface ExchangePerpParams {
256
259
  /** Trading pair (e.g. BTC/USDT). The swap suffix ':USDT' is added automatically. */
257
- pair?: string;
258
- /** Comma-separated fields to include: 'funding' (current funding rate), 'oi' (open interest). Defaults to all fields. — @default 'funding' */
260
+ pair: string;
261
+ /** Comma-separated fields to include: 'funding' (current funding rate), 'oi' (open interest). Defaults to all fields. — @default 'funding,oi' */
259
262
  fields?: string;
260
263
  /** Exchange identifier — @default 'binance' */
261
264
  exchange?: 'binance' | 'okx' | 'bybit' | 'bitget' | 'htx' | 'bitfinex' | 'bitmex';
262
265
  }
263
266
  interface ExchangePriceItem {
264
267
  /** Best ask price */
265
- ask: unknown;
268
+ ask: number;
266
269
  /** Best bid price */
267
- bid: unknown;
270
+ bid: number;
268
271
  /** Price change percentage in 24h */
269
- change_24h_pct: unknown;
272
+ change_24h_pct: number;
270
273
  /** Exchange identifier like binance, okx */
271
274
  exchange: string;
272
275
  /** 24h high price */
273
- high_24h: unknown;
276
+ high_24h: number;
274
277
  /** Last traded price */
275
- last: unknown;
278
+ last: number;
276
279
  /** 24h low price */
277
- low_24h: unknown;
280
+ low_24h: number;
278
281
  /** Trading pair like BTC/USDT */
279
282
  pair: string;
280
283
  /** Unix timestamp in seconds */
281
- timestamp: unknown;
284
+ timestamp: number;
282
285
  /** 24h trading volume in base currency units */
283
- volume_24h_base: unknown;
286
+ volume_24h_base: number;
284
287
  }
285
288
  interface ExchangePriceParams {
286
289
  /** Trading pair (e.g. BTC/USDT) */
287
- pair?: string;
290
+ pair: string;
288
291
  /** Market type: spot for spot trading, swap for perpetual contracts — @default 'spot' */
289
292
  type?: 'spot' | 'swap';
290
293
  /** Exchange identifier — @default 'binance' */
@@ -301,15 +304,19 @@ interface FundDetailData {
301
304
  invested_projects_count: number;
302
305
  /** Fund jurisdiction */
303
306
  jurisdiction?: string;
307
+ /** Fund links (website, social, etc.) */
304
308
  links: FundDetailDataLinksItem[];
309
+ /** Fund team members */
305
310
  members: FundDetailDataMembersItem[];
306
311
  /** Fund name */
307
312
  name: string;
313
+ /** Recent research publications */
308
314
  recent_researches: FundDetailDataRecentResearchesItem[];
309
315
  /** Fund tier ranking (lower is better) */
310
316
  tier: number;
311
317
  /** Fund type like `VC` or `Accelerator` */
312
318
  type?: string;
319
+ /** X (Twitter) accounts */
313
320
  x_accounts: FundDetailDataXAccountsItem[];
314
321
  }
315
322
  interface FundDetailDataLinksItem {
@@ -323,6 +330,7 @@ interface FundDetailDataMembersItem {
323
330
  avatar?: string;
324
331
  /** Member name */
325
332
  name: string;
333
+ /** Member roles */
326
334
  roles: unknown;
327
335
  }
328
336
  interface FundDetailDataRecentResearchesItem {
@@ -402,6 +410,7 @@ interface FundRankingItem {
402
410
  name: string;
403
411
  /** Fund tier ranking (lower is better) */
404
412
  tier: number;
413
+ /** Top invested projects (up to 5) */
405
414
  top_projects: FundRankingItemTopProjectsItem[];
406
415
  /** Fund type */
407
416
  type?: string;
@@ -426,13 +435,14 @@ interface FundRankingItemTopProjectsItem {
426
435
  }
427
436
  interface FundRankingParams {
428
437
  /** Ranking metric. Can be `tier` (lower is better) or `portfolio_count` (number of invested projects). */
429
- metric?: 'tier' | 'portfolio_count';
438
+ metric: 'tier' | 'portfolio_count';
430
439
  /** Results per page — @default '20' */
431
440
  limit?: number;
432
441
  /** Pagination offset — @default '0' */
433
442
  offset?: number;
434
443
  }
435
444
  interface MarketEtfItem {
445
+ /** Flow breakdown by individual ETF ticker */
436
446
  etfs?: MarketEtfItemEtfsItem[];
437
447
  /** Daily net flow in USD (positive=inflow, negative=outflow) */
438
448
  flow_usd: number;
@@ -449,7 +459,7 @@ interface MarketEtfItemEtfsItem {
449
459
  }
450
460
  interface MarketEtfParams {
451
461
  /** Token symbol. Can be `BTC` or `ETH`. */
452
- symbol?: 'BTC' | 'ETH';
462
+ symbol: 'BTC' | 'ETH';
453
463
  /** Field to sort results by — @default 'timestamp' */
454
464
  sort_by?: 'flow_usd' | 'timestamp';
455
465
  /** Sort order — @default 'desc' */
@@ -507,7 +517,7 @@ interface MarketLiquidationChartItem {
507
517
  }
508
518
  interface MarketLiquidationChartParams {
509
519
  /** Token ticker symbol like `BTC` or `ETH` */
510
- symbol?: string;
520
+ symbol: string;
511
521
  /** Candlestick interval. Can be `1m`, `3m`, `5m`, `15m`, `30m`, `1h`, `4h`, `6h`, `8h`, `12h`, `1d`, or `1w`. — @default '1h' */
512
522
  interval?: '1m' | '3m' | '5m' | '15m' | '30m' | '1h' | '4h' | '6h' | '8h' | '12h' | '1d' | '1w';
513
523
  /** Exchange name. Can be `Binance`, `OKX`, `Bybit`, `Bitget`, `Hyperliquid`, `Gate`, `HTX`, `Bitmex`, `Bitfinex`, `CoinEx`, `Aster`, or `Lighter`. — @default 'Binance' */
@@ -585,9 +595,9 @@ interface MarketOnchainIndicatorItem {
585
595
  }
586
596
  interface MarketOnchainIndicatorParams {
587
597
  /** Token ticker symbol. Can be `BTC` or `ETH`. */
588
- symbol?: 'BTC' | 'ETH';
598
+ symbol: 'BTC' | 'ETH';
589
599
  /** On-chain metric name. Can be `nupl`, `sopr`, `mvrv`, `puell-multiple`, `nvm`, `nvt`, `nvt-golden-cross`, or `exchange-flows/{inflow,outflow,netflow,reserve}`. */
590
- metric?: 'nupl' | 'sopr' | 'mvrv' | 'puell-multiple' | 'nvm' | 'nvt' | 'nvt-golden-cross' | 'exchange-flows/inflow' | 'exchange-flows/outflow' | 'exchange-flows/netflow' | 'exchange-flows/reserve';
600
+ metric: 'nupl' | 'sopr' | 'mvrv' | 'puell-multiple' | 'nvm' | 'nvt' | 'nvt-golden-cross' | 'exchange-flows/inflow' | 'exchange-flows/outflow' | 'exchange-flows/netflow' | 'exchange-flows/reserve';
591
601
  /** Aggregation granularity. — @default 'day' */
592
602
  granularity?: 'day';
593
603
  /** Start of time range. Accepts Unix seconds or date string (YYYY-MM-DD). Defaults to 90 days ago when omitted. Maximum range is 365 days. */
@@ -615,7 +625,7 @@ interface MarketOptionsItem {
615
625
  }
616
626
  interface MarketOptionsParams {
617
627
  /** Token symbol. Can be `BTC`, `ETH`, `SOL`, `XRP`, `BNB`, `DOGE`, `ADA`, or `AVAX`. */
618
- symbol?: 'BTC' | 'ETH' | 'SOL' | 'XRP' | 'BNB' | 'DOGE' | 'ADA' | 'AVAX';
628
+ symbol: 'BTC' | 'ETH' | 'SOL' | 'XRP' | 'BNB' | 'DOGE' | 'ADA' | 'AVAX';
619
629
  /** Field to sort results by — @default 'volume_24h' */
620
630
  sort_by?: 'open_interest' | 'volume_24h';
621
631
  /** Sort order — @default 'desc' */
@@ -633,7 +643,7 @@ interface MarketPriceItem {
633
643
  }
634
644
  interface MarketPriceParams {
635
645
  /** Single token ticker symbol like `BTC`, `ETH`, or `SOL` (multi-symbol not supported) */
636
- symbol?: string;
646
+ symbol: string;
637
647
  /** Predefined time range for historical data. Ignored when `from`/`to` are set. Can be `1d`, `7d`, `14d`, `30d`, `90d`, `180d`, `365d`, or `max`. — @default '30d' */
638
648
  time_range?: '1d' | '7d' | '14d' | '30d' | '90d' | '180d' | '365d' | 'max';
639
649
  /** Start of custom date range (Unix timestamp or YYYY-MM-DD). Must be used together with `to`. Overrides `time_range` when set. */
@@ -704,9 +714,9 @@ interface MarketPriceIndicatorItemValues {
704
714
  }
705
715
  interface MarketPriceIndicatorParams {
706
716
  /** Technical indicator name. Can be `rsi`, `macd`, `ema`, `sma`, `bbands`, `stoch`, `adx`, `atr`, `cci`, `obv`, `vwap`, `dmi`, `ichimoku`, or `supertrend`. */
707
- indicator?: 'rsi' | 'macd' | 'ema' | 'sma' | 'bbands' | 'stoch' | 'adx' | 'atr' | 'cci' | 'obv' | 'vwap' | 'dmi' | 'ichimoku' | 'supertrend';
717
+ indicator: 'rsi' | 'macd' | 'ema' | 'sma' | 'bbands' | 'stoch' | 'adx' | 'atr' | 'cci' | 'obv' | 'vwap' | 'dmi' | 'ichimoku' | 'supertrend';
708
718
  /** Trading pair as `BTC/USDT` or bare symbol like `BTC` */
709
- symbol?: string;
719
+ symbol: string;
710
720
  /** Candlestick interval. Can be `1m`, `5m`, `15m`, `30m`, `1h`, `2h`, `4h`, `12h`, `1d`, or `1w`. — @default '1d' */
711
721
  interval?: '1m' | '5m' | '15m' | '30m' | '1h' | '2h' | '4h' | '12h' | '1d' | '1w';
712
722
  /** Exchange for price data. Can be `binance`, `bybit`, `coinbase`, or `kraken`. — @default 'binance' */
@@ -786,9 +796,10 @@ interface NewsDetailData {
786
796
  }
787
797
  interface NewsDetailParams {
788
798
  /** Article ID (returned as id in feed/search results) */
789
- id?: string;
799
+ id: string;
790
800
  }
791
801
  interface NewsFeedItem {
802
+ /** Search highlight fragments with <em> tags around matching terms. Only present in search results. */
792
803
  highlights?: NewsFeedItemHighlights;
793
804
  /** Article ID. Use with the detail endpoint to fetch full content. */
794
805
  id: string;
@@ -852,18 +863,20 @@ interface OnchainGasPriceData {
852
863
  }
853
864
  interface OnchainGasPriceParams {
854
865
  /** Chain. Can be `ethereum`, `polygon`, `bsc`, `arbitrum`, `optimism`, `base`, `avalanche`, `fantom`, `linea`, or `cyber`. */
855
- chain?: 'ethereum' | 'polygon' | 'bsc' | 'arbitrum' | 'optimism' | 'base' | 'avalanche' | 'fantom' | 'linea' | 'cyber';
866
+ chain: 'ethereum' | 'polygon' | 'bsc' | 'arbitrum' | 'optimism' | 'base' | 'avalanche' | 'fantom' | 'linea' | 'cyber';
856
867
  }
857
868
  interface OnchainStructuredQueryItem {
858
- [key: string]: unknown;
859
869
  }
860
870
  interface OnchainStructuredQueryParams {
871
+ /** Columns to return. Omit to return all columns. Example for agent.ethereum_transactions: [`transaction_hash`, `from_address`, `value`] */
861
872
  fields?: unknown;
873
+ /** WHERE conditions (ANDed together) */
862
874
  filters?: OnchainStructuredQueryParamsFiltersItem[];
863
875
  /** Max rows to return. Default 20, max 10000 */
864
876
  limit?: number;
865
877
  /** Rows to skip for pagination. Default 0 */
866
878
  offset?: number;
879
+ /** ORDER BY clauses */
867
880
  sort?: OnchainStructuredQueryParamsSortItem[];
868
881
  /** Fully-qualified table name like `agent.my_table` */
869
882
  source: string;
@@ -873,7 +886,7 @@ interface OnchainStructuredQueryParamsFiltersItem {
873
886
  field: string;
874
887
  /** Comparison operator: eq, neq, gt, gte, lt, lte, like, in, not_in. For `in`/`not_in`, value must be a JSON array */
875
888
  op: string;
876
- /** <any> */
889
+ /** Comparison value. Use a JSON array for `in`/`not_in` operators like `[21000000, 21000001]` */
877
890
  value: unknown;
878
891
  }
879
892
  interface OnchainStructuredQueryParamsSortItem {
@@ -883,6 +896,7 @@ interface OnchainStructuredQueryParamsSortItem {
883
896
  order?: string;
884
897
  }
885
898
  interface OnchainSchemaItem {
899
+ /** List of columns in this table */
886
900
  columns: OnchainSchemaItemColumnsItem[];
887
901
  /** Database name (always `agent`) */
888
902
  database: string;
@@ -898,7 +912,6 @@ interface OnchainSchemaItemColumnsItem {
898
912
  type: string;
899
913
  }
900
914
  interface OnchainSqlItem {
901
- [key: string]: unknown;
902
915
  }
903
916
  interface OnchainSqlParams {
904
917
  /** Maximum number of rows to return — @default '1000' */
@@ -907,12 +920,14 @@ interface OnchainSqlParams {
907
920
  sql: string;
908
921
  }
909
922
  interface OnchainTxItem {
923
+ /** List of addresses and storage keys. Empty array for legacy; populated for EIP-2930+ */
910
924
  accessList: OnchainTxItemAccesslistItem[];
925
+ /** Versioned hashes of blob commitments. EIP-4844 only */
911
926
  blobVersionedHashes?: unknown;
912
927
  /** Block hash, null if pending */
913
- blockHash: unknown;
928
+ blockHash: string;
914
929
  /** Block number (hex), null if pending */
915
- blockNumber: unknown;
930
+ blockNumber: string;
916
931
  /** Chain ID (hex) */
917
932
  chainId?: string;
918
933
  /** Sender address (0x-prefixed) */
@@ -938,9 +953,9 @@ interface OnchainTxItem {
938
953
  /** Signature S (hex) */
939
954
  s: string;
940
955
  /** Recipient address, null for contract creation */
941
- to: unknown;
956
+ to: string;
942
957
  /** Index in block (hex), null if pending */
943
- transactionIndex: unknown;
958
+ transactionIndex: string;
944
959
  /** Transaction type: 0x0=legacy, 0x1=EIP-2930, 0x2=EIP-1559, 0x3=EIP-4844 */
945
960
  type: string;
946
961
  /** Signature V (hex). Legacy: recovery ID (0x1b/0x1c); EIP-2930+: parity (0x0/0x1) */
@@ -953,13 +968,14 @@ interface OnchainTxItem {
953
968
  interface OnchainTxItemAccesslistItem {
954
969
  /** Account address (0x-prefixed) */
955
970
  address: string;
971
+ /** List of storage slot keys (0x-prefixed hex) */
956
972
  storageKeys: unknown;
957
973
  }
958
974
  interface OnchainTxParams {
959
975
  /** Transaction hash (0x-prefixed hex) */
960
- hash?: string;
976
+ hash: string;
961
977
  /** Chain. Can be `ethereum`, `polygon`, `bsc`, `arbitrum`, `optimism`, `base`, `avalanche`, `fantom`, `linea`, or `cyber`. */
962
- chain?: 'ethereum' | 'polygon' | 'bsc' | 'arbitrum' | 'optimism' | 'base' | 'avalanche' | 'fantom' | 'linea' | 'cyber';
978
+ chain: 'ethereum' | 'polygon' | 'bsc' | 'arbitrum' | 'optimism' | 'base' | 'avalanche' | 'fantom' | 'linea' | 'cyber';
963
979
  }
964
980
  interface OnchainYieldRankingItem {
965
981
  /** Total APY (base + reward) */
@@ -1014,7 +1030,7 @@ interface PredictionMarketCategoryMetricsParams {
1014
1030
  category?: 'crypto' | 'culture' | 'economics' | 'financials' | 'politics' | 'stem' | 'sports';
1015
1031
  /** Predefined time range: `7d`, `30d`, `90d`, `180d`, `1y`, or `all` — @default '30d' */
1016
1032
  time_range?: '7d' | '30d' | '90d' | '180d' | '1y' | 'all';
1017
- /** Results per page — @default '20' */
1033
+ /** Maximum rows to return — @default '200' */
1018
1034
  limit?: number;
1019
1035
  /** Pagination offset — @default '0' */
1020
1036
  offset?: number;
@@ -1028,6 +1044,7 @@ interface KalshiEventsItem {
1028
1044
  event_title: string;
1029
1045
  /** Number of markets in this event */
1030
1046
  market_count: number;
1047
+ /** Markets within this event */
1031
1048
  markets: KalshiEventsItemMarketsItem[];
1032
1049
  }
1033
1050
  interface KalshiEventsItemMarketsItem {
@@ -1066,7 +1083,7 @@ interface KalshiEventsItemMarketsItem {
1066
1083
  }
1067
1084
  interface KalshiEventsParams {
1068
1085
  /** Event ticker identifier */
1069
- event_ticker?: string;
1086
+ event_ticker: string;
1070
1087
  /** Results per page — @default '20' */
1071
1088
  limit?: number;
1072
1089
  /** Pagination offset — @default '0' */
@@ -1108,7 +1125,7 @@ interface KalshiMarketsItem {
1108
1125
  }
1109
1126
  interface KalshiMarketsParams {
1110
1127
  /** Market ticker identifier */
1111
- market_ticker?: string;
1128
+ market_ticker: string;
1112
1129
  /** Results per page — @default '20' */
1113
1130
  limit?: number;
1114
1131
  /** Pagination offset — @default '0' */
@@ -1122,7 +1139,7 @@ interface KalshiOpenInterestItem {
1122
1139
  }
1123
1140
  interface KalshiOpenInterestParams {
1124
1141
  /** Market ticker identifier */
1125
- ticker?: string;
1142
+ ticker: string;
1126
1143
  /** Predefined time range: `7d`, `30d`, `90d`, `180d`, or `1y` — @default '30d' */
1127
1144
  time_range?: '7d' | '30d' | '90d' | '180d' | '1y';
1128
1145
  }
@@ -1152,7 +1169,7 @@ interface KalshiPricesItemSideB {
1152
1169
  }
1153
1170
  interface KalshiPricesParams {
1154
1171
  /** Market ticker identifier */
1155
- ticker?: string;
1172
+ ticker: string;
1156
1173
  /** Predefined time range: `7d`, `30d`, `90d`, `180d`, or `1y`. Ignored when `interval=latest`. — @default '30d' */
1157
1174
  time_range?: '7d' | '30d' | '90d' | '180d' | '1y';
1158
1175
  /** Data interval: `1h` for hourly, `1d` for daily OHLC, `latest` for real-time price from trades — @default '1d' */
@@ -1224,7 +1241,7 @@ interface KalshiTradesItem {
1224
1241
  }
1225
1242
  interface KalshiTradesParams {
1226
1243
  /** Market ticker identifier */
1227
- ticker?: string;
1244
+ ticker: string;
1228
1245
  /** Filter by taker side: `yes` or `no` */
1229
1246
  taker_side?: 'yes' | 'no';
1230
1247
  /** Minimum notional volume in USD (each contract = $1) */
@@ -1250,7 +1267,7 @@ interface KalshiVolumesItem {
1250
1267
  }
1251
1268
  interface KalshiVolumesParams {
1252
1269
  /** Market ticker identifier */
1253
- ticker?: string;
1270
+ ticker: string;
1254
1271
  /** Predefined time range: `7d`, `30d`, `90d`, `180d`, or `1y` — @default '30d' */
1255
1272
  time_range?: '7d' | '30d' | '90d' | '180d' | '1y';
1256
1273
  }
@@ -1278,7 +1295,7 @@ interface PolymarketActivityItem {
1278
1295
  }
1279
1296
  interface PolymarketActivityParams {
1280
1297
  /** Polymarket proxy wallet address */
1281
- address?: string;
1298
+ address: string;
1282
1299
  /** Results per page — @default '50' */
1283
1300
  limit?: number;
1284
1301
  /** Pagination offset — @default '0' */
@@ -1297,6 +1314,7 @@ interface PolymarketEventsItem {
1297
1314
  image?: string;
1298
1315
  /** Number of markets in this event */
1299
1316
  market_count: number;
1317
+ /** Markets within this event */
1300
1318
  markets: PolymarketEventsItemMarketsItem[];
1301
1319
  /** Resolution source URL */
1302
1320
  settlement_sources?: string;
@@ -1306,6 +1324,7 @@ interface PolymarketEventsItem {
1306
1324
  status: string;
1307
1325
  /** Surf curated event subcategory */
1308
1326
  subcategory?: string;
1327
+ /** Event tags */
1309
1328
  tags?: unknown;
1310
1329
  /** Event title */
1311
1330
  title: string;
@@ -1347,6 +1366,7 @@ interface PolymarketEventsItemMarketsItem {
1347
1366
  status: string;
1348
1367
  /** Surf curated market subcategory */
1349
1368
  subcategory?: string;
1369
+ /** Market tags */
1350
1370
  tags?: unknown;
1351
1371
  /** Market title */
1352
1372
  title: string;
@@ -1375,7 +1395,7 @@ interface PolymarketEventsItemMarketsItemSideB {
1375
1395
  }
1376
1396
  interface PolymarketEventsParams {
1377
1397
  /** Event slug identifier */
1378
- event_slug?: string;
1398
+ event_slug: string;
1379
1399
  /** Results per page — @default '20' */
1380
1400
  limit?: number;
1381
1401
  /** Pagination offset — @default '0' */
@@ -1416,6 +1436,7 @@ interface PolymarketMarketsItem {
1416
1436
  status: string;
1417
1437
  /** Surf curated market subcategory */
1418
1438
  subcategory?: string;
1439
+ /** Market tags */
1419
1440
  tags?: unknown;
1420
1441
  /** Market title */
1421
1442
  title: string;
@@ -1444,7 +1465,7 @@ interface PolymarketMarketsItemSideB {
1444
1465
  }
1445
1466
  interface PolymarketMarketsParams {
1446
1467
  /** Market slug identifier */
1447
- market_slug?: string;
1468
+ market_slug: string;
1448
1469
  /** Results per page — @default '20' */
1449
1470
  limit?: number;
1450
1471
  /** Pagination offset — @default '0' */
@@ -1460,7 +1481,7 @@ interface PolymarketOpenInterestItem {
1460
1481
  }
1461
1482
  interface PolymarketOpenInterestParams {
1462
1483
  /** Market condition identifier */
1463
- condition_id?: string;
1484
+ condition_id: string;
1464
1485
  /** Predefined time range — @default '30d' */
1465
1486
  time_range?: '7d' | '30d' | '90d' | '180d' | '1y';
1466
1487
  }
@@ -1488,7 +1509,7 @@ interface PolymarketPositionsItem {
1488
1509
  }
1489
1510
  interface PolymarketPositionsParams {
1490
1511
  /** Polymarket proxy wallet address */
1491
- address?: string;
1512
+ address: string;
1492
1513
  /** Results per page — @default '50' */
1493
1514
  limit?: number;
1494
1515
  /** Pagination offset — @default '0' */
@@ -1518,7 +1539,7 @@ interface PolymarketPricesItemSideB {
1518
1539
  }
1519
1540
  interface PolymarketPricesParams {
1520
1541
  /** Market condition identifier */
1521
- condition_id?: string;
1542
+ condition_id: string;
1522
1543
  /** Predefined time range. Ignored when `interval` is `latest`. — @default '30d' */
1523
1544
  time_range?: '7d' | '30d' | '90d' | '180d' | '1y';
1524
1545
  /** Aggregation interval: `1h` (hourly), `1d` (daily), or `latest` (most recent snapshot) — @default '1d' */
@@ -1543,6 +1564,7 @@ interface PolymarketRankingItem {
1543
1564
  status: string;
1544
1565
  /** Surf curated market subcategory */
1545
1566
  subcategory?: string;
1567
+ /** Market tags */
1546
1568
  tags?: unknown;
1547
1569
  }
1548
1570
  interface PolymarketRankingParams {
@@ -1625,7 +1647,7 @@ interface PolymarketVolumesItem {
1625
1647
  }
1626
1648
  interface PolymarketVolumesParams {
1627
1649
  /** Market condition identifier */
1628
- condition_id?: string;
1650
+ condition_id: string;
1629
1651
  /** Predefined time range — @default '30d' */
1630
1652
  time_range?: '7d' | '30d' | '90d' | '180d' | '1y';
1631
1653
  /** Aggregation interval: `1h` (hourly) or `1d` (daily) — @default '1d' */
@@ -1643,7 +1665,7 @@ interface ProjectDefiMetricsParams {
1643
1665
  /** Fuzzy entity name search. Only use when 'id' is not available. May return unexpected results for ambiguous names. */
1644
1666
  q?: string;
1645
1667
  /** Metric to query. Can be `volume`, `fees` (or `fee` alias), `revenue`, `tvl`, or `users`. */
1646
- metric?: 'volume' | 'fee' | 'fees' | 'revenue' | 'tvl' | 'users';
1668
+ metric: 'volume' | 'fee' | 'fees' | 'revenue' | 'tvl' | 'users';
1647
1669
  /** Start of time range. Accepts Unix seconds (`1704067200`) or date string (`2024-01-01`) */
1648
1670
  from?: string;
1649
1671
  /** End of time range. Accepts Unix seconds (`1706745600`) or date string (`2024-02-01`) */
@@ -1668,7 +1690,7 @@ interface ProjectDefiRankingItem {
1668
1690
  }
1669
1691
  interface ProjectDefiRankingParams {
1670
1692
  /** Ranking metric. Can be `tvl`, `revenue`, `fees`, `volume`, or `users`. */
1671
- metric?: 'tvl' | 'revenue' | 'fees' | 'volume' | 'users';
1693
+ metric: 'tvl' | 'revenue' | 'fees' | 'volume' | 'users';
1672
1694
  /** Results per page — @default '20' */
1673
1695
  limit?: number;
1674
1696
  /** Pagination offset — @default '0' */
@@ -1685,17 +1707,21 @@ interface ProjectDetailData {
1685
1707
  tokenomics?: ProjectDetailDataTokenomics;
1686
1708
  }
1687
1709
  interface ProjectDetailDataContracts {
1710
+ /** List of deployed smart contract addresses across chains */
1688
1711
  contracts?: ProjectDetailDataContractsContractsItem[];
1689
1712
  }
1690
1713
  interface ProjectDetailDataFunding {
1714
+ /** List of individual funding rounds */
1691
1715
  rounds?: ProjectDetailDataFundingRoundsItem[];
1692
1716
  /** Total capital raised across all rounds in USD */
1693
1717
  total_raise?: number;
1694
1718
  }
1695
1719
  interface ProjectDetailDataOverview {
1720
+ /** Chains the project is deployed on */
1696
1721
  chains?: unknown;
1697
1722
  /** Short description of the project */
1698
1723
  description?: string;
1724
+ /** Exchange names where the token is listed */
1699
1725
  exchanges?: unknown;
1700
1726
  /** Surf project UUID — pass as 'id' parameter to /project/detail, /project/events, or /project/defi/metrics for exact lookup. Prefer over 'q' (fuzzy name search). */
1701
1727
  id: string;
@@ -1705,6 +1731,7 @@ interface ProjectDetailDataOverview {
1705
1731
  name: string;
1706
1732
  /** URL-friendly project slug */
1707
1733
  slug?: string;
1734
+ /** Project category tags like `DeFi`, `NFT`, or `Layer2` */
1708
1735
  tags?: unknown;
1709
1736
  /** TGE status: pre, upcoming, or post */
1710
1737
  tge_status?: string;
@@ -1724,11 +1751,13 @@ interface ProjectDetailDataSocial {
1724
1751
  twitter?: ProjectDetailDataSocialTwitter;
1725
1752
  }
1726
1753
  interface ProjectDetailDataTeam {
1754
+ /** List of team members with their roles and social links */
1727
1755
  members?: ProjectDetailDataTeamMembersItem[];
1728
1756
  }
1729
1757
  interface ProjectDetailDataTgeStatus {
1730
1758
  /** TGE status: `pre`, `upcoming`, or `post`. Omitted when unknown. */
1731
1759
  current_status?: string;
1760
+ /** Exchange names where the token is listed */
1732
1761
  exchanges?: unknown;
1733
1762
  /** Unix timestamp of the last TGE event */
1734
1763
  last_event_time?: number;
@@ -1790,6 +1819,7 @@ interface ProjectDetailDataFundingRoundsItem {
1790
1819
  amount?: number;
1791
1820
  /** Date when the round closed in ISO 8601 format */
1792
1821
  date?: string;
1822
+ /** Investors participating in this round */
1793
1823
  investors?: ProjectDetailDataFundingRoundsItemInvestorsItem[];
1794
1824
  /** Funding round name like `Seed`, `Series A`, or `Private` */
1795
1825
  round_name: string;
@@ -1835,6 +1865,7 @@ interface ProjectDetailDataTeamMembersItem {
1835
1865
  name: string;
1836
1866
  /** Team member's role or title */
1837
1867
  role?: string;
1868
+ /** Social profile links keyed by platform name like `twitter` or `linkedin` */
1838
1869
  social_links?: ProjectDetailDataTeamMembersItemSocialLinks;
1839
1870
  }
1840
1871
  interface ProjectDetailDataFundingRoundsItemInvestorsItem {
@@ -1855,7 +1886,7 @@ interface ProjectDetailParams {
1855
1886
  id?: string;
1856
1887
  /** Fuzzy entity name search. Only use when 'id' is not available. May return unexpected results for ambiguous names. */
1857
1888
  q?: string;
1858
- /** Comma-separated sub-resources to include. Can be `overview`, `token_info`, `tokenomics`, `funding`, `team`, `contracts`, `social`, or `tge_status`. — @default 'overview' */
1889
+ /** Comma-separated sub-resources to include. Can be `overview`, `token_info`, `tokenomics`, `funding`, `team`, `contracts`, `social`, or `tge_status`. — @default 'overview,token_info,tokenomics,funding,team,contracts,social,tge_status' */
1859
1890
  fields?: string;
1860
1891
  }
1861
1892
  interface SearchAirdropItem {
@@ -1878,6 +1909,7 @@ interface SearchAirdropItem {
1878
1909
  /** Airdrop lifecycle stage: `POTENTIAL` (speculated, tasks open), `CONFIRMED` (announced, tasks open), `SNAPSHOT` (eligibility snapshot taken), `VERIFICATION` (claim window open), `REWARD_AVAILABLE` (ready to claim), `DISTRIBUTED` (sent, historical) */
1879
1910
  status: string;
1880
1911
  task_summary?: SearchAirdropItemTaskSummary;
1912
+ /** Full task list (only with include_tasks=true) */
1881
1913
  tasks?: SearchAirdropItemTasksItem[];
1882
1914
  /** Total project fundraise in USD (0 if unknown) */
1883
1915
  total_raise: number;
@@ -1889,9 +1921,11 @@ interface SearchAirdropItemTaskSummary {
1889
1921
  open: number;
1890
1922
  /** Total number of tasks */
1891
1923
  total: number;
1924
+ /** Distinct task types */
1892
1925
  types: unknown;
1893
1926
  }
1894
1927
  interface SearchAirdropItemTasksItem {
1928
+ /** Supported blockchain names */
1895
1929
  blockchains?: unknown;
1896
1930
  /** Task close date as Unix seconds (0 if unknown) */
1897
1931
  close_date: number;
@@ -1915,13 +1949,13 @@ interface SearchAirdropItemTasksItem {
1915
1949
  interface SearchAirdropParams {
1916
1950
  /** Search keyword for coin name */
1917
1951
  q?: string;
1918
- /** Comma-separated lifecycle phases. `active` = tasks open, can participate (POTENTIAL + CONFIRMED). `claimable` = eligible, can claim (SNAPSHOT + VERIFICATION + REWARD_AVAILABLE). `completed` = done (DISTRIBUTED). Defaults to `active,claimable` to show actionable airdrops. — @default 'active' */
1952
+ /** Comma-separated lifecycle phases. `active` = tasks open, can participate (POTENTIAL + CONFIRMED). `claimable` = eligible, can claim (SNAPSHOT + VERIFICATION + REWARD_AVAILABLE). `completed` = done (DISTRIBUTED). Defaults to `active,claimable` to show actionable airdrops. — @default 'active,claimable' */
1919
1953
  phase?: string;
1920
1954
  /** Filter by reward type */
1921
1955
  reward_type?: 'airdrop' | 'points' | 'whitelist' | 'nft' | 'role' | 'ambassador';
1922
1956
  /** Filter activities containing tasks of this type */
1923
1957
  task_type?: 'social' | 'bounty-platforms' | 'testnet' | 'mainnet' | 'role' | 'form' | 'liquidity' | 'mint-nft' | 'game' | 'trading' | 'staking' | 'depin' | 'node' | 'ambassador' | 'hold' | 'check-wallet' | 'mint-domain' | 'predictions' | 'deploy';
1924
- /** Only return activities with currently OPEN tasks — @default 'false' */
1958
+ /** Only return activities with currently OPEN tasks — @default 'False' */
1925
1959
  has_open?: boolean;
1926
1960
  /** Field to sort results by — @default 'last_status_update' */
1927
1961
  sort_by?: 'total_raise' | 'xscore' | 'last_status_update';
@@ -1931,7 +1965,7 @@ interface SearchAirdropParams {
1931
1965
  limit?: number;
1932
1966
  /** Pagination offset — @default '0' */
1933
1967
  offset?: number;
1934
- /** Include full task list per activity — @default 'false' */
1968
+ /** Include full task list per activity — @default 'False' */
1935
1969
  include_tasks?: boolean;
1936
1970
  }
1937
1971
  interface SearchEventsItem {
@@ -1969,6 +2003,7 @@ interface SearchFundItem {
1969
2003
  name: string;
1970
2004
  /** Fund tier ranking (lower is better) */
1971
2005
  tier: number;
2006
+ /** Top invested projects (up to 5) */
1972
2007
  top_projects: SearchFundItemTopProjectsItem[];
1973
2008
  /** Fund type */
1974
2009
  type?: string;
@@ -1993,7 +2028,7 @@ interface SearchFundItemTopProjectsItem {
1993
2028
  }
1994
2029
  interface SearchFundParams {
1995
2030
  /** Search keyword — fund name like `a16z`, `paradigm`, or `coinbase ventures` */
1996
- q?: string;
2031
+ q: string;
1997
2032
  /** Results per page — @default '20' */
1998
2033
  limit?: number;
1999
2034
  /** Pagination offset — @default '0' */
@@ -2008,6 +2043,7 @@ interface SearchKalshiItem {
2008
2043
  event_title: string;
2009
2044
  /** Number of markets in this event */
2010
2045
  market_count: number;
2046
+ /** Markets within this event */
2011
2047
  markets: SearchKalshiItemMarketsItem[];
2012
2048
  }
2013
2049
  interface SearchKalshiItemMarketsItem {
@@ -2057,6 +2093,7 @@ interface SearchKalshiParams {
2057
2093
  offset?: number;
2058
2094
  }
2059
2095
  interface SearchNewsItem {
2096
+ /** Search highlight fragments with <em> tags around matching terms. Only present in search results. */
2060
2097
  highlights?: SearchNewsItemHighlights;
2061
2098
  /** Article ID. Use with the detail endpoint to fetch full content. */
2062
2099
  id: string;
@@ -2080,7 +2117,7 @@ interface SearchNewsItemHighlights {
2080
2117
  }
2081
2118
  interface SearchNewsParams {
2082
2119
  /** Search keyword or phrase */
2083
- q?: string;
2120
+ q: string;
2084
2121
  }
2085
2122
  interface SearchPolymarketItem {
2086
2123
  /** Surf curated event category */
@@ -2095,6 +2132,7 @@ interface SearchPolymarketItem {
2095
2132
  image?: string;
2096
2133
  /** Number of markets in this event */
2097
2134
  market_count: number;
2135
+ /** Markets within this event */
2098
2136
  markets: SearchPolymarketItemMarketsItem[];
2099
2137
  /** Resolution source URL */
2100
2138
  settlement_sources?: string;
@@ -2104,6 +2142,7 @@ interface SearchPolymarketItem {
2104
2142
  status: string;
2105
2143
  /** Surf curated event subcategory */
2106
2144
  subcategory?: string;
2145
+ /** Event tags */
2107
2146
  tags?: unknown;
2108
2147
  /** Event title */
2109
2148
  title: string;
@@ -2145,6 +2184,7 @@ interface SearchPolymarketItemMarketsItem {
2145
2184
  status: string;
2146
2185
  /** Surf curated market subcategory */
2147
2186
  subcategory?: string;
2187
+ /** Market tags */
2148
2188
  tags?: unknown;
2149
2189
  /** Market title */
2150
2190
  title: string;
@@ -2186,6 +2226,7 @@ interface SearchPolymarketParams {
2186
2226
  offset?: number;
2187
2227
  }
2188
2228
  interface SearchProjectItem {
2229
+ /** Chains the project operates on */
2189
2230
  chains?: unknown;
2190
2231
  /** Short description of the project */
2191
2232
  description?: string;
@@ -2199,7 +2240,9 @@ interface SearchProjectItem {
2199
2240
  slug?: string;
2200
2241
  /** Primary token symbol like `BTC` or `ETH` */
2201
2242
  symbol?: string;
2243
+ /** Project category tags */
2202
2244
  tags?: unknown;
2245
+ /** Associated tokens */
2203
2246
  tokens?: SearchProjectItemTokensItem[];
2204
2247
  }
2205
2248
  interface SearchProjectItemTokensItem {
@@ -2214,7 +2257,7 @@ interface SearchProjectItemTokensItem {
2214
2257
  }
2215
2258
  interface SearchProjectParams {
2216
2259
  /** Search keyword — project name or ticker like `uniswap`, `bitcoin`, or `ETH` */
2217
- q?: string;
2260
+ q: string;
2218
2261
  /** Results per page — @default '20' */
2219
2262
  limit?: number;
2220
2263
  /** Pagination offset — @default '0' */
@@ -2238,7 +2281,7 @@ interface SearchSocialPeopleItem {
2238
2281
  }
2239
2282
  interface SearchSocialPeopleParams {
2240
2283
  /** Search keyword or `@handle` for exact handle lookup. Use a keyword like `vitalik` for fuzzy matching across names and bios, or `@VitalikButerin` to find a specific account by handle */
2241
- q?: string;
2284
+ q: string;
2242
2285
  /** Results per page — @default '20' */
2243
2286
  limit?: number;
2244
2287
  /** Opaque cursor token from a previous response's next_cursor field for fetching the next page */
@@ -2248,6 +2291,7 @@ interface SearchSocialPostsItem {
2248
2291
  author: SearchSocialPostsItemAuthor;
2249
2292
  /** Unix timestamp (seconds) when the tweet was posted */
2250
2293
  created_at: number;
2294
+ /** Attached media items (photos, videos, GIFs) */
2251
2295
  media?: SearchSocialPostsItemMediaItem[];
2252
2296
  stats: SearchSocialPostsItemStats;
2253
2297
  /** Full text content of the tweet */
@@ -2285,7 +2329,7 @@ interface SearchSocialPostsItemStats {
2285
2329
  }
2286
2330
  interface SearchSocialPostsParams {
2287
2331
  /** Search keyword or `from:handle` syntax like `ethereum` or `from:cz_binance` */
2288
- q?: string;
2332
+ q: string;
2289
2333
  /** Results per page — @default '20' */
2290
2334
  limit?: number;
2291
2335
  /** Opaque cursor token from a previous response's next_cursor field for fetching the next page */
@@ -2294,6 +2338,7 @@ interface SearchSocialPostsParams {
2294
2338
  interface SearchWalletItem {
2295
2339
  /** Primary wallet address for this entity */
2296
2340
  address?: string;
2341
+ /** Known wallet addresses for this entity (max 10, use num_addresses for the total count) */
2297
2342
  addresses?: SearchWalletItemAddressesItem[];
2298
2343
  /** Chain of the primary address */
2299
2344
  chain?: string;
@@ -2316,7 +2361,7 @@ interface SearchWalletItemAddressesItem {
2316
2361
  }
2317
2362
  interface SearchWalletParams {
2318
2363
  /** Search keyword like `binance`, `vitalik.eth`, or `0xd8dA...` */
2319
- q?: string;
2364
+ q: string;
2320
2365
  /** Results per page — @default '20' */
2321
2366
  limit?: number;
2322
2367
  /** Pagination offset — @default '0' */
@@ -2334,7 +2379,7 @@ interface SearchWebItem {
2334
2379
  }
2335
2380
  interface SearchWebParams {
2336
2381
  /** Search query like `bitcoin price prediction 2026` */
2337
- q?: string;
2382
+ q: string;
2338
2383
  /** Results per page — @default '20' */
2339
2384
  limit?: number;
2340
2385
  /** Pagination offset — @default '0' */
@@ -2354,19 +2399,21 @@ interface SocialDetailData {
2354
2399
  twitter_id: string;
2355
2400
  }
2356
2401
  interface SocialDetailDataFollowerGeo {
2402
+ /** Follower count breakdown by geographic location */
2357
2403
  locations: SocialDetailDataFollowerGeoLocationsItem[];
2358
2404
  /** Total number of followers across all locations */
2359
2405
  total_follower_count: number;
2360
2406
  }
2361
2407
  interface SocialDetailDataSentiment {
2362
2408
  /** Sentiment score from -1 (very negative) to 1 (very positive) */
2363
- score: unknown;
2409
+ score: number;
2364
2410
  /** Time range for the sentiment analysis like 7d or 30d */
2365
2411
  time_range: string;
2366
2412
  }
2367
2413
  interface SocialDetailDataSmartFollowers {
2368
2414
  /** Total number of smart followers */
2369
2415
  count: number;
2416
+ /** List of top smart followers sorted by influence score */
2370
2417
  followers: SocialDetailDataSmartFollowersFollowersItem[];
2371
2418
  }
2372
2419
  interface SocialDetailDataFollowerGeoLocationsItem {
@@ -2402,7 +2449,7 @@ interface SocialDetailParams {
2402
2449
  x_id?: string;
2403
2450
  /** Entity name to resolve like `uniswap`, `ethereum`, or `aave` */
2404
2451
  q?: string;
2405
- /** Comma-separated sub-resources to include. Can be `sentiment`, `follower_geo`, or `smart_followers`. — @default 'sentiment' */
2452
+ /** Comma-separated sub-resources to include. Can be `sentiment`, `follower_geo`, or `smart_followers`. — @default 'sentiment,follower_geo,smart_followers' */
2406
2453
  fields?: string;
2407
2454
  /** Timeframe for sentiment data. Can be `24h`, `48h`, `7d`, `30d`, `3m`, `6m`, or `1y`. — @default '7d' */
2408
2455
  time_range?: '24h' | '48h' | '7d' | '30d' | '3m' | '6m' | '1y';
@@ -2417,9 +2464,9 @@ interface SocialMindshareItem {
2417
2464
  }
2418
2465
  interface SocialMindshareParams {
2419
2466
  /** Entity name to resolve like `uniswap`, `ethereum`, or `aave` */
2420
- q?: string;
2467
+ q: string;
2421
2468
  /** Time aggregation interval. Can be `5m`, `1h`, `1d`, or `7d`. */
2422
- interval?: '5m' | '1h' | '1d' | '7d';
2469
+ interval: '5m' | '1h' | '1d' | '7d';
2423
2470
  /** Start timestamp. Accepts Unix seconds (1704067200) or date string (2024-01-01) */
2424
2471
  from?: string;
2425
2472
  /** End timestamp. Accepts Unix seconds (1706745600) or date string (2024-02-01) */
@@ -2433,6 +2480,7 @@ interface SocialRankingItem {
2433
2480
  sentiment?: string;
2434
2481
  /** Weighted sentiment score from -1 (very negative) to 1 (very positive) */
2435
2482
  sentiment_score?: number;
2483
+ /** Project category tags */
2436
2484
  tags?: unknown;
2437
2485
  token?: SocialRankingItemToken;
2438
2486
  /** Deprecated: no longer populated. */
@@ -2499,6 +2547,7 @@ interface SocialTweetRepliesItem {
2499
2547
  author: SocialTweetRepliesItemAuthor;
2500
2548
  /** Unix timestamp (seconds) when the tweet was posted */
2501
2549
  created_at: number;
2550
+ /** Attached media items (photos, videos, GIFs) */
2502
2551
  media?: SocialTweetRepliesItemMediaItem[];
2503
2552
  stats: SocialTweetRepliesItemStats;
2504
2553
  /** Full text content of the tweet */
@@ -2536,7 +2585,7 @@ interface SocialTweetRepliesItemStats {
2536
2585
  }
2537
2586
  interface SocialTweetRepliesParams {
2538
2587
  /** Tweet ID to get replies for */
2539
- tweet_id?: string;
2588
+ tweet_id: string;
2540
2589
  /** Max results to return — @default '20' */
2541
2590
  limit?: number;
2542
2591
  /** Opaque cursor token from a previous response's next_cursor field for fetching the next page */
@@ -2546,6 +2595,7 @@ interface SocialTweetsItem {
2546
2595
  author: SocialTweetsItemAuthor;
2547
2596
  /** Unix timestamp (seconds) when the tweet was posted */
2548
2597
  created_at: number;
2598
+ /** Attached media items (photos, videos, GIFs) */
2549
2599
  media?: SocialTweetsItemMediaItem[];
2550
2600
  stats: SocialTweetsItemStats;
2551
2601
  /** Full text content of the tweet */
@@ -2583,7 +2633,7 @@ interface SocialTweetsItemStats {
2583
2633
  }
2584
2634
  interface SocialTweetsParams {
2585
2635
  /** Comma-separated numeric post ID strings, max 100 */
2586
- ids?: string;
2636
+ ids: string;
2587
2637
  }
2588
2638
  interface SocialUserData {
2589
2639
  /** Profile picture URL */
@@ -2603,7 +2653,7 @@ interface SocialUserData {
2603
2653
  }
2604
2654
  interface SocialUserParams {
2605
2655
  /** X (Twitter) username without @ like `cz_binance` or `vitalikbuterin` */
2606
- handle?: string;
2656
+ handle: string;
2607
2657
  }
2608
2658
  interface SocialUserFollowersItem {
2609
2659
  /** Profile picture URL */
@@ -2623,7 +2673,7 @@ interface SocialUserFollowersItem {
2623
2673
  }
2624
2674
  interface SocialUserFollowersParams {
2625
2675
  /** X (Twitter) username without @ like `vitalikbuterin` or `cz_binance` */
2626
- handle?: string;
2676
+ handle: string;
2627
2677
  /** Max results to return — @default '20' */
2628
2678
  limit?: number;
2629
2679
  /** Opaque cursor token from a previous response's next_cursor field for fetching the next page */
@@ -2647,7 +2697,7 @@ interface SocialUserFollowingItem {
2647
2697
  }
2648
2698
  interface SocialUserFollowingParams {
2649
2699
  /** X (Twitter) username without @ like `vitalikbuterin` or `cz_binance` */
2650
- handle?: string;
2700
+ handle: string;
2651
2701
  /** Max results to return — @default '20' */
2652
2702
  limit?: number;
2653
2703
  /** Opaque cursor token from a previous response's next_cursor field for fetching the next page */
@@ -2657,6 +2707,7 @@ interface SocialUserPostsItem {
2657
2707
  author: SocialUserPostsItemAuthor;
2658
2708
  /** Unix timestamp (seconds) when the tweet was posted */
2659
2709
  created_at: number;
2710
+ /** Attached media items (photos, videos, GIFs) */
2660
2711
  media?: SocialUserPostsItemMediaItem[];
2661
2712
  stats: SocialUserPostsItemStats;
2662
2713
  /** Full text content of the tweet */
@@ -2694,7 +2745,7 @@ interface SocialUserPostsItemStats {
2694
2745
  }
2695
2746
  interface SocialUserPostsParams {
2696
2747
  /** X (Twitter) username without @ like `vitalikbuterin` or `cz_binance` */
2697
- handle?: string;
2748
+ handle: string;
2698
2749
  /** Results per page — @default '20' */
2699
2750
  limit?: number;
2700
2751
  /** Opaque cursor token from a previous response's next_cursor field for fetching the next page */
@@ -2706,6 +2757,7 @@ interface SocialUserRepliesItem {
2706
2757
  author: SocialUserRepliesItemAuthor;
2707
2758
  /** Unix timestamp (seconds) when the tweet was posted */
2708
2759
  created_at: number;
2760
+ /** Attached media items (photos, videos, GIFs) */
2709
2761
  media?: SocialUserRepliesItemMediaItem[];
2710
2762
  stats: SocialUserRepliesItemStats;
2711
2763
  /** Full text content of the tweet */
@@ -2743,7 +2795,7 @@ interface SocialUserRepliesItemStats {
2743
2795
  }
2744
2796
  interface SocialUserRepliesParams {
2745
2797
  /** X (Twitter) username without @ like `vitalikbuterin` or `cz_binance` */
2746
- handle?: string;
2798
+ handle: string;
2747
2799
  /** Max results to return — @default '20' */
2748
2800
  limit?: number;
2749
2801
  /** Opaque cursor token from a previous response's next_cursor field for fetching the next page */
@@ -2779,7 +2831,7 @@ interface TokenDexTradesItem {
2779
2831
  }
2780
2832
  interface TokenDexTradesParams {
2781
2833
  /** Token contract address (0x-prefixed hex) */
2782
- address?: string;
2834
+ address: string;
2783
2835
  /** Chain. Can be `ethereum` or `base`. — @default 'ethereum' */
2784
2836
  chain?: 'ethereum' | 'base';
2785
2837
  /** Results per page — @default '20' */
@@ -2801,15 +2853,16 @@ interface TokenHoldersItem {
2801
2853
  }
2802
2854
  interface TokenHoldersParams {
2803
2855
  /** Token contract address (0x-prefixed hex or Solana base58) */
2804
- address?: string;
2856
+ address: string;
2805
2857
  /** Chain. Can be `ethereum`, `polygon`, `bsc`, `solana`, `avalanche`, `arbitrum`, `optimism`, or `base`. */
2806
- chain?: 'ethereum' | 'polygon' | 'bsc' | 'solana' | 'avalanche' | 'arbitrum' | 'optimism' | 'base';
2858
+ chain: 'ethereum' | 'polygon' | 'bsc' | 'solana' | 'avalanche' | 'arbitrum' | 'optimism' | 'base';
2807
2859
  /** Results per page — @default '20' */
2808
2860
  limit?: number;
2809
2861
  /** Pagination offset (accepted for API consistency but currently ignored) — @default '0' */
2810
2862
  offset?: number;
2811
2863
  }
2812
2864
  interface TokenTokenomicsItem {
2865
+ /** Breakdown by allocation */
2813
2866
  allocations?: TokenTokenomicsItemAllocationsItem[];
2814
2867
  /** Unix timestamp in seconds */
2815
2868
  timestamp: number;
@@ -2852,9 +2905,9 @@ interface TokenTransfersItem {
2852
2905
  }
2853
2906
  interface TokenTransfersParams {
2854
2907
  /** Token contract address (0x-prefixed hex or Solana base58) */
2855
- address?: string;
2908
+ address: string;
2856
2909
  /** Chain. Can be `ethereum`, `base`, `solana`, or `tron`. */
2857
- chain?: 'ethereum' | 'base' | 'solana' | 'tron';
2910
+ chain: 'ethereum' | 'base' | 'solana' | 'tron';
2858
2911
  /** Start of date range. Accepts Unix seconds or YYYY-MM-DD. Defaults to 30 days ago. */
2859
2912
  from?: string;
2860
2913
  /** End of date range. Accepts Unix seconds or YYYY-MM-DD. Defaults to today. */
@@ -2865,14 +2918,20 @@ interface TokenTransfersParams {
2865
2918
  offset?: number;
2866
2919
  }
2867
2920
  interface WalletDetailData {
2921
+ /** Chains the wallet has non-zero balances on. Always present (not controlled by fields param). For Solana addresses, returns a single entry. */
2868
2922
  active_chains?: WalletDetailDataActiveChainsItem[];
2923
+ /** Token approvals (EVM-only, up to 50). Only present when `approvals` is included in the `fields` param. */
2869
2924
  approvals?: WalletDetailDataApprovalsItem[];
2925
+ /** Per-field errors for any fields that failed to load */
2870
2926
  errors?: WalletDetailDataErrorsItem[];
2871
2927
  evm_balance?: WalletDetailDataEvmBalance;
2928
+ /** EVM token holdings (up to 50). Populated for EVM chains only. */
2872
2929
  evm_tokens?: WalletDetailDataEvmTokensItem[];
2873
2930
  labels?: WalletDetailDataLabels;
2931
+ /** NFT holdings (EVM-only, top 200 by value) */
2874
2932
  nft?: WalletDetailDataNftItem[];
2875
2933
  sol_balance?: WalletDetailDataSolBalance;
2934
+ /** Solana SPL token holdings from Solscan (up to 50). Populated for Solana chain only. */
2876
2935
  sol_tokens?: WalletDetailDataSolTokensItem[];
2877
2936
  }
2878
2937
  interface WalletDetailDataActiveChainsItem {
@@ -2890,6 +2949,7 @@ interface WalletDetailDataApprovalsItem {
2890
2949
  chain: string;
2891
2950
  /** Full token name */
2892
2951
  name?: string;
2952
+ /** List of approved spender contracts */
2893
2953
  spenders: WalletDetailDataApprovalsItemSpendersItem[];
2894
2954
  /** Token ticker symbol */
2895
2955
  symbol: string;
@@ -2905,6 +2965,7 @@ interface WalletDetailDataErrorsItem {
2905
2965
  interface WalletDetailDataEvmBalance {
2906
2966
  /** Wallet address */
2907
2967
  address: string;
2968
+ /** Per-chain balance breakdown, sorted by value descending (EVM only) */
2908
2969
  chain_balances?: WalletDetailDataEvmBalanceChainBalancesItem[];
2909
2970
  /** Total portfolio value in USD (EVM only) */
2910
2971
  total_usd: number;
@@ -2936,6 +2997,7 @@ interface WalletDetailDataLabels {
2936
2997
  entity_name?: string;
2937
2998
  /** Type of entity like `exchange`, `fund`, or `whale` */
2938
2999
  entity_type?: string;
3000
+ /** List of labels assigned to this address */
2939
3001
  labels: WalletDetailDataLabelsLabelsItem[];
2940
3002
  }
2941
3003
  interface WalletDetailDataNftItem {
@@ -2996,10 +3058,10 @@ interface WalletDetailDataLabelsLabelsItem {
2996
3058
  }
2997
3059
  interface WalletDetailParams {
2998
3060
  /** Wallet address (0x hex for EVM, base58 for Solana) */
2999
- address?: string;
3061
+ address: string;
3000
3062
  /** Chain filter for `tokens`, `nft`, and `approvals`. When omitted, inferred from address format: 0x addresses query all EVM chains, base58 addresses query Solana. */
3001
3063
  chain?: 'ethereum' | 'polygon' | 'bsc' | 'avalanche' | 'arbitrum' | 'optimism' | 'fantom' | 'base' | 'solana';
3002
- /** Comma-separated sub-resources to include. Valid: `balance`, `tokens`, `labels`, `nft`, `approvals`. The `active_chains` field is always returned. `approvals` is opt-in (not in default) as it triggers additional upstream calls. — @default 'balance' */
3064
+ /** Comma-separated sub-resources to include. Valid: `balance`, `tokens`, `labels`, `nft`, `approvals`. The `active_chains` field is always returned. `approvals` is opt-in (not in default) as it triggers additional upstream calls. — @default 'balance,tokens,labels,nft' */
3003
3065
  fields?: string;
3004
3066
  }
3005
3067
  interface WalletHistoryItem {
@@ -3018,7 +3080,7 @@ interface WalletHistoryItem {
3018
3080
  }
3019
3081
  interface WalletHistoryParams {
3020
3082
  /** Wallet address — must be a raw 0x-prefixed hex address, not an ENS name */
3021
- address?: string;
3083
+ address: string;
3022
3084
  /** Chain filter. Can be `ethereum`, `polygon`, `bsc`, `avalanche`, `arbitrum`, `optimism`, `fantom`, or `base`. — @default 'ethereum' */
3023
3085
  chain?: 'ethereum' | 'polygon' | 'bsc' | 'avalanche' | 'arbitrum' | 'optimism' | 'fantom' | 'base';
3024
3086
  /** Results per page — @default '20' */
@@ -3037,6 +3099,7 @@ interface WalletLabelsBatchItem {
3037
3099
  entity_name?: string;
3038
3100
  /** Type of entity like `exchange`, `fund`, or `whale` */
3039
3101
  entity_type?: string;
3102
+ /** List of labels assigned to this address */
3040
3103
  labels: WalletLabelsBatchItemLabelsItem[];
3041
3104
  }
3042
3105
  interface WalletLabelsBatchItemLabelsItem {
@@ -3047,7 +3110,7 @@ interface WalletLabelsBatchItemLabelsItem {
3047
3110
  }
3048
3111
  interface WalletLabelsBatchParams {
3049
3112
  /** Comma-separated wallet addresses to look up, max 100 */
3050
- addresses?: string;
3113
+ addresses: string;
3051
3114
  }
3052
3115
  interface WalletNetWorthItem {
3053
3116
  /** Unix timestamp in seconds */
@@ -3057,13 +3120,14 @@ interface WalletNetWorthItem {
3057
3120
  }
3058
3121
  interface WalletNetWorthParams {
3059
3122
  /** Wallet address (0x hex, base58, or ENS name like `vitalik.eth`) */
3060
- address?: string;
3123
+ address: string;
3061
3124
  }
3062
3125
  interface WalletProtocolsItem {
3063
3126
  /** Canonical chain name where the protocol operates */
3064
3127
  chain: string;
3065
3128
  /** Protocol logo image URL */
3066
3129
  logo_url?: string;
3130
+ /** Individual positions held in this protocol */
3067
3131
  positions: WalletProtocolsItemPositionsItem[];
3068
3132
  /** Human-readable protocol name */
3069
3133
  protocol_name: string;
@@ -3075,11 +3139,15 @@ interface WalletProtocolsItem {
3075
3139
  interface WalletProtocolsItemPositionsItem {
3076
3140
  /** Total USD value of this position */
3077
3141
  balance_usd: number;
3142
+ /** Tokens borrowed in this position */
3078
3143
  borrow_tokens?: WalletProtocolsItemPositionsItemBorrowTokensItem[];
3144
+ /** LP tokens in this position */
3079
3145
  lp_tokens?: WalletProtocolsItemPositionsItemLpTokensItem[];
3080
3146
  /** Position name or type like `Lending` or `Staking` */
3081
3147
  name: string;
3148
+ /** Unclaimed reward tokens in this position */
3082
3149
  reward_tokens?: WalletProtocolsItemPositionsItemRewardTokensItem[];
3150
+ /** Tokens supplied/deposited in this position */
3083
3151
  supply_tokens?: WalletProtocolsItemPositionsItemSupplyTokensItem[];
3084
3152
  }
3085
3153
  interface WalletProtocolsItemPositionsItemBorrowTokensItem {
@@ -3140,7 +3208,7 @@ interface WalletProtocolsItemPositionsItemSupplyTokensItem {
3140
3208
  }
3141
3209
  interface WalletProtocolsParams {
3142
3210
  /** Wallet address — must be a raw 0x-prefixed hex address, not an ENS name */
3143
- address?: string;
3211
+ address: string;
3144
3212
  /** Results per page — @default '20' */
3145
3213
  limit?: number;
3146
3214
  /** Pagination offset — @default '0' */
@@ -3170,7 +3238,7 @@ interface WalletTransfersItem {
3170
3238
  }
3171
3239
  interface WalletTransfersParams {
3172
3240
  /** Wallet address — must be a raw address (0x-prefixed hex for EVM, base58 for Solana). ENS names like `vitalik.eth` are not supported; resolve to a 0x address first. */
3173
- address?: string;
3241
+ address: string;
3174
3242
  /** Chain. Can be `ethereum`, `base`, or `solana`. — @default 'ethereum' */
3175
3243
  chain?: 'ethereum' | 'base' | 'solana';
3176
3244
  /** Filter by transfer direction relative to the queried wallet. `in` for incoming, `out` for outgoing. Omit for both directions. */
@@ -3192,7 +3260,7 @@ interface WebFetchData {
3192
3260
  }
3193
3261
  interface WebFetchParams {
3194
3262
  /** URL to fetch and parse */
3195
- url?: string;
3263
+ url: string;
3196
3264
  /** CSS selector to extract specific content */
3197
3265
  target_selector?: string;
3198
3266
  /** CSS selector to remove unwanted elements */
@@ -3227,115 +3295,115 @@ declare const dataApi: {
3227
3295
  /** Escape hatch: raw POST to any endpoint path. */
3228
3296
  post: typeof post;
3229
3297
  exchange: {
3230
- depth: (params?: ExchangeDepthParams) => Promise<ApiResponse<ExchangeDepthItem>>;
3231
- funding_history: (params?: ExchangeFundingHistoryParams) => Promise<ApiResponse<ExchangeFundingHistoryItem>>;
3232
- klines: (params?: ExchangeKlinesParams) => Promise<ApiResponse<ExchangeKlinesItem>>;
3233
- long_short_ratio: (params?: ExchangeLongShortRatioParams) => Promise<ApiResponse<ExchangeLongShortRatioItem>>;
3298
+ depth: (params: ExchangeDepthParams) => Promise<ApiResponse<ExchangeDepthItem>>;
3299
+ funding_history: (params: ExchangeFundingHistoryParams) => Promise<ApiResponse<ExchangeFundingHistoryItem>>;
3300
+ klines: (params: ExchangeKlinesParams) => Promise<ApiResponse<ExchangeKlinesItem>>;
3301
+ long_short_ratio: (params: ExchangeLongShortRatioParams) => Promise<ApiResponse<ExchangeLongShortRatioItem>>;
3234
3302
  markets: (params?: ExchangeMarketsParams) => Promise<ApiResponse<ExchangeMarketsItem>>;
3235
- perp: (params?: ExchangePerpParams) => Promise<ApiObjectResponse<ExchangePerpData>>;
3236
- price: (params?: ExchangePriceParams) => Promise<ApiResponse<ExchangePriceItem>>;
3303
+ perp: (params: ExchangePerpParams) => Promise<ApiObjectResponse<ExchangePerpData>>;
3304
+ price: (params: ExchangePriceParams) => Promise<ApiResponse<ExchangePriceItem>>;
3237
3305
  };
3238
3306
  fund: {
3239
3307
  detail: (params?: FundDetailParams) => Promise<ApiObjectResponse<FundDetailData>>;
3240
3308
  portfolio: (params?: FundPortfolioParams) => Promise<ApiResponse<FundPortfolioItem>>;
3241
- ranking: (params?: FundRankingParams) => Promise<ApiResponse<FundRankingItem>>;
3309
+ ranking: (params: FundRankingParams) => Promise<ApiResponse<FundRankingItem>>;
3242
3310
  };
3243
3311
  kalshi: {
3244
- events: (params?: KalshiEventsParams) => Promise<ApiResponse<KalshiEventsItem>>;
3245
- markets: (params?: KalshiMarketsParams) => Promise<ApiResponse<KalshiMarketsItem>>;
3246
- open_interest: (params?: KalshiOpenInterestParams) => Promise<ApiResponse<KalshiOpenInterestItem>>;
3247
- prices: (params?: KalshiPricesParams) => Promise<ApiResponse<KalshiPricesItem>>;
3312
+ events: (params: KalshiEventsParams) => Promise<ApiResponse<KalshiEventsItem>>;
3313
+ markets: (params: KalshiMarketsParams) => Promise<ApiResponse<KalshiMarketsItem>>;
3314
+ open_interest: (params: KalshiOpenInterestParams) => Promise<ApiResponse<KalshiOpenInterestItem>>;
3315
+ prices: (params: KalshiPricesParams) => Promise<ApiResponse<KalshiPricesItem>>;
3248
3316
  ranking: (params?: KalshiRankingParams) => Promise<ApiResponse<KalshiRankingItem>>;
3249
- trades: (params?: KalshiTradesParams) => Promise<ApiResponse<KalshiTradesItem>>;
3250
- volumes: (params?: KalshiVolumesParams) => Promise<ApiResponse<KalshiVolumesItem>>;
3317
+ trades: (params: KalshiTradesParams) => Promise<ApiResponse<KalshiTradesItem>>;
3318
+ volumes: (params: KalshiVolumesParams) => Promise<ApiResponse<KalshiVolumesItem>>;
3251
3319
  };
3252
3320
  market: {
3253
- etf: (params?: MarketEtfParams) => Promise<ApiResponse<MarketEtfItem>>;
3321
+ etf: (params: MarketEtfParams) => Promise<ApiResponse<MarketEtfItem>>;
3254
3322
  fear_greed: (params?: MarketFearGreedParams) => Promise<ApiResponse<MarketFearGreedItem>>;
3255
3323
  futures: (params?: MarketFuturesParams) => Promise<ApiResponse<MarketFuturesItem>>;
3256
- liquidation_chart: (params?: MarketLiquidationChartParams) => Promise<ApiResponse<MarketLiquidationChartItem>>;
3324
+ liquidation_chart: (params: MarketLiquidationChartParams) => Promise<ApiResponse<MarketLiquidationChartItem>>;
3257
3325
  liquidation_exchange_list: (params?: MarketLiquidationExchangeListParams) => Promise<ApiResponse<MarketLiquidationExchangeListItem>>;
3258
3326
  liquidation_order: (params?: MarketLiquidationOrderParams) => Promise<ApiResponse<MarketLiquidationOrderItem>>;
3259
- onchain_indicator: (params?: MarketOnchainIndicatorParams) => Promise<ApiResponse<MarketOnchainIndicatorItem>>;
3260
- options: (params?: MarketOptionsParams) => Promise<ApiResponse<MarketOptionsItem>>;
3261
- price: (params?: MarketPriceParams) => Promise<ApiResponse<MarketPriceItem>>;
3262
- price_indicator: (params?: MarketPriceIndicatorParams) => Promise<ApiResponse<MarketPriceIndicatorItem>>;
3327
+ onchain_indicator: (params: MarketOnchainIndicatorParams) => Promise<ApiResponse<MarketOnchainIndicatorItem>>;
3328
+ options: (params: MarketOptionsParams) => Promise<ApiResponse<MarketOptionsItem>>;
3329
+ price: (params: MarketPriceParams) => Promise<ApiResponse<MarketPriceItem>>;
3330
+ price_indicator: (params: MarketPriceIndicatorParams) => Promise<ApiResponse<MarketPriceIndicatorItem>>;
3263
3331
  ranking: (params?: MarketRankingParams) => Promise<ApiResponse<MarketRankingItem>>;
3264
3332
  };
3265
3333
  news: {
3266
- detail: (params?: NewsDetailParams) => Promise<ApiObjectResponse<NewsDetailData>>;
3334
+ detail: (params: NewsDetailParams) => Promise<ApiObjectResponse<NewsDetailData>>;
3267
3335
  feed: (params?: NewsFeedParams) => Promise<ApiResponse<NewsFeedItem>>;
3268
3336
  };
3269
3337
  onchain: {
3270
3338
  bridge_ranking: (params?: OnchainBridgeRankingParams) => Promise<ApiResponse<OnchainBridgeRankingItem>>;
3271
- gas_price: (params?: OnchainGasPriceParams) => Promise<ApiObjectResponse<OnchainGasPriceData>>;
3339
+ gas_price: (params: OnchainGasPriceParams) => Promise<ApiObjectResponse<OnchainGasPriceData>>;
3272
3340
  structured_query: (body: OnchainStructuredQueryParams) => Promise<ApiResponse<OnchainStructuredQueryItem>>;
3273
3341
  schema: () => Promise<ApiResponse<OnchainSchemaItem>>;
3274
3342
  sql: (body: OnchainSqlParams) => Promise<ApiResponse<OnchainSqlItem>>;
3275
- tx: (params?: OnchainTxParams) => Promise<ApiResponse<OnchainTxItem>>;
3343
+ tx: (params: OnchainTxParams) => Promise<ApiResponse<OnchainTxItem>>;
3276
3344
  yield_ranking: (params?: OnchainYieldRankingParams) => Promise<ApiResponse<OnchainYieldRankingItem>>;
3277
3345
  };
3278
3346
  polymarket: {
3279
- activity: (params?: PolymarketActivityParams) => Promise<ApiResponse<PolymarketActivityItem>>;
3280
- events: (params?: PolymarketEventsParams) => Promise<ApiResponse<PolymarketEventsItem>>;
3281
- markets: (params?: PolymarketMarketsParams) => Promise<ApiResponse<PolymarketMarketsItem>>;
3282
- open_interest: (params?: PolymarketOpenInterestParams) => Promise<ApiResponse<PolymarketOpenInterestItem>>;
3283
- positions: (params?: PolymarketPositionsParams) => Promise<ApiResponse<PolymarketPositionsItem>>;
3284
- prices: (params?: PolymarketPricesParams) => Promise<ApiResponse<PolymarketPricesItem>>;
3347
+ activity: (params: PolymarketActivityParams) => Promise<ApiResponse<PolymarketActivityItem>>;
3348
+ events: (params: PolymarketEventsParams) => Promise<ApiResponse<PolymarketEventsItem>>;
3349
+ markets: (params: PolymarketMarketsParams) => Promise<ApiResponse<PolymarketMarketsItem>>;
3350
+ open_interest: (params: PolymarketOpenInterestParams) => Promise<ApiResponse<PolymarketOpenInterestItem>>;
3351
+ positions: (params: PolymarketPositionsParams) => Promise<ApiResponse<PolymarketPositionsItem>>;
3352
+ prices: (params: PolymarketPricesParams) => Promise<ApiResponse<PolymarketPricesItem>>;
3285
3353
  ranking: (params?: PolymarketRankingParams) => Promise<ApiResponse<PolymarketRankingItem>>;
3286
3354
  trades: (params?: PolymarketTradesParams) => Promise<ApiResponse<PolymarketTradesItem>>;
3287
- volumes: (params?: PolymarketVolumesParams) => Promise<ApiResponse<PolymarketVolumesItem>>;
3355
+ volumes: (params: PolymarketVolumesParams) => Promise<ApiResponse<PolymarketVolumesItem>>;
3288
3356
  };
3289
3357
  prediction_market: {
3290
3358
  category_metrics: (params?: PredictionMarketCategoryMetricsParams) => Promise<ApiResponse<PredictionMarketCategoryMetricsItem>>;
3291
3359
  };
3292
3360
  project: {
3293
- defi_metrics: (params?: ProjectDefiMetricsParams) => Promise<ApiResponse<ProjectDefiMetricsItem>>;
3294
- defi_ranking: (params?: ProjectDefiRankingParams) => Promise<ApiResponse<ProjectDefiRankingItem>>;
3361
+ defi_metrics: (params: ProjectDefiMetricsParams) => Promise<ApiResponse<ProjectDefiMetricsItem>>;
3362
+ defi_ranking: (params: ProjectDefiRankingParams) => Promise<ApiResponse<ProjectDefiRankingItem>>;
3295
3363
  detail: (params?: ProjectDetailParams) => Promise<ApiObjectResponse<ProjectDetailData>>;
3296
3364
  };
3297
3365
  search: {
3298
3366
  airdrop: (params?: SearchAirdropParams) => Promise<ApiResponse<SearchAirdropItem>>;
3299
3367
  events: (params?: SearchEventsParams) => Promise<ApiResponse<SearchEventsItem>>;
3300
- fund: (params?: SearchFundParams) => Promise<ApiResponse<SearchFundItem>>;
3368
+ fund: (params: SearchFundParams) => Promise<ApiResponse<SearchFundItem>>;
3301
3369
  kalshi: (params?: SearchKalshiParams) => Promise<ApiResponse<SearchKalshiItem>>;
3302
- news: (params?: SearchNewsParams) => Promise<ApiResponse<SearchNewsItem>>;
3370
+ news: (params: SearchNewsParams) => Promise<ApiResponse<SearchNewsItem>>;
3303
3371
  polymarket: (params?: SearchPolymarketParams) => Promise<ApiResponse<SearchPolymarketItem>>;
3304
- project: (params?: SearchProjectParams) => Promise<ApiResponse<SearchProjectItem>>;
3305
- social_people: (params?: SearchSocialPeopleParams) => Promise<ApiCursorResponse<SearchSocialPeopleItem>>;
3306
- social_posts: (params?: SearchSocialPostsParams) => Promise<ApiCursorResponse<SearchSocialPostsItem>>;
3307
- wallet: (params?: SearchWalletParams) => Promise<ApiResponse<SearchWalletItem>>;
3308
- web: (params?: SearchWebParams) => Promise<ApiResponse<SearchWebItem>>;
3372
+ project: (params: SearchProjectParams) => Promise<ApiResponse<SearchProjectItem>>;
3373
+ social_people: (params: SearchSocialPeopleParams) => Promise<ApiCursorResponse<SearchSocialPeopleItem>>;
3374
+ social_posts: (params: SearchSocialPostsParams) => Promise<ApiCursorResponse<SearchSocialPostsItem>>;
3375
+ wallet: (params: SearchWalletParams) => Promise<ApiResponse<SearchWalletItem>>;
3376
+ web: (params: SearchWebParams) => Promise<ApiResponse<SearchWebItem>>;
3309
3377
  };
3310
3378
  social: {
3311
3379
  detail: (params?: SocialDetailParams) => Promise<ApiObjectResponse<SocialDetailData>>;
3312
- mindshare: (params?: SocialMindshareParams) => Promise<ApiResponse<SocialMindshareItem>>;
3380
+ mindshare: (params: SocialMindshareParams) => Promise<ApiResponse<SocialMindshareItem>>;
3313
3381
  ranking: (params?: SocialRankingParams) => Promise<ApiResponse<SocialRankingItem>>;
3314
3382
  smart_followers_history: (params?: SocialSmartFollowersHistoryParams) => Promise<ApiResponse<SocialSmartFollowersHistoryItem>>;
3315
- tweet_replies: (params?: SocialTweetRepliesParams) => Promise<ApiCursorResponse<SocialTweetRepliesItem>>;
3316
- tweets: (params?: SocialTweetsParams) => Promise<ApiResponse<SocialTweetsItem>>;
3317
- user: (params?: SocialUserParams) => Promise<ApiObjectResponse<SocialUserData>>;
3318
- user_followers: (params?: SocialUserFollowersParams) => Promise<ApiCursorResponse<SocialUserFollowersItem>>;
3319
- user_following: (params?: SocialUserFollowingParams) => Promise<ApiCursorResponse<SocialUserFollowingItem>>;
3320
- user_posts: (params?: SocialUserPostsParams) => Promise<ApiCursorResponse<SocialUserPostsItem>>;
3321
- user_replies: (params?: SocialUserRepliesParams) => Promise<ApiCursorResponse<SocialUserRepliesItem>>;
3383
+ tweet_replies: (params: SocialTweetRepliesParams) => Promise<ApiCursorResponse<SocialTweetRepliesItem>>;
3384
+ tweets: (params: SocialTweetsParams) => Promise<ApiResponse<SocialTweetsItem>>;
3385
+ user: (params: SocialUserParams) => Promise<ApiObjectResponse<SocialUserData>>;
3386
+ user_followers: (params: SocialUserFollowersParams) => Promise<ApiCursorResponse<SocialUserFollowersItem>>;
3387
+ user_following: (params: SocialUserFollowingParams) => Promise<ApiCursorResponse<SocialUserFollowingItem>>;
3388
+ user_posts: (params: SocialUserPostsParams) => Promise<ApiCursorResponse<SocialUserPostsItem>>;
3389
+ user_replies: (params: SocialUserRepliesParams) => Promise<ApiCursorResponse<SocialUserRepliesItem>>;
3322
3390
  };
3323
3391
  token: {
3324
- dex_trades: (params?: TokenDexTradesParams) => Promise<ApiResponse<TokenDexTradesItem>>;
3325
- holders: (params?: TokenHoldersParams) => Promise<ApiResponse<TokenHoldersItem>>;
3392
+ dex_trades: (params: TokenDexTradesParams) => Promise<ApiResponse<TokenDexTradesItem>>;
3393
+ holders: (params: TokenHoldersParams) => Promise<ApiResponse<TokenHoldersItem>>;
3326
3394
  tokenomics: (params?: TokenTokenomicsParams) => Promise<ApiResponse<TokenTokenomicsItem>>;
3327
- transfers: (params?: TokenTransfersParams) => Promise<ApiResponse<TokenTransfersItem>>;
3395
+ transfers: (params: TokenTransfersParams) => Promise<ApiResponse<TokenTransfersItem>>;
3328
3396
  };
3329
3397
  wallet: {
3330
- detail: (params?: WalletDetailParams) => Promise<ApiObjectResponse<WalletDetailData>>;
3331
- history: (params?: WalletHistoryParams) => Promise<ApiResponse<WalletHistoryItem>>;
3332
- labels_batch: (params?: WalletLabelsBatchParams) => Promise<ApiResponse<WalletLabelsBatchItem>>;
3333
- net_worth: (params?: WalletNetWorthParams) => Promise<ApiResponse<WalletNetWorthItem>>;
3334
- protocols: (params?: WalletProtocolsParams) => Promise<ApiResponse<WalletProtocolsItem>>;
3335
- transfers: (params?: WalletTransfersParams) => Promise<ApiResponse<WalletTransfersItem>>;
3398
+ detail: (params: WalletDetailParams) => Promise<ApiObjectResponse<WalletDetailData>>;
3399
+ history: (params: WalletHistoryParams) => Promise<ApiResponse<WalletHistoryItem>>;
3400
+ labels_batch: (params: WalletLabelsBatchParams) => Promise<ApiResponse<WalletLabelsBatchItem>>;
3401
+ net_worth: (params: WalletNetWorthParams) => Promise<ApiResponse<WalletNetWorthItem>>;
3402
+ protocols: (params: WalletProtocolsParams) => Promise<ApiResponse<WalletProtocolsItem>>;
3403
+ transfers: (params: WalletTransfersParams) => Promise<ApiResponse<WalletTransfersItem>>;
3336
3404
  };
3337
3405
  web: {
3338
- fetch: (params?: WebFetchParams) => Promise<ApiObjectResponse<WebFetchData>>;
3406
+ fetch: (params: WebFetchParams) => Promise<ApiObjectResponse<WebFetchData>>;
3339
3407
  };
3340
3408
  };
3341
3409