@agentutility/mcp-edge-market 0.1.8 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  /** Auto-generated by scripts/generate-mcp-clusters.mjs. Do not edit by hand. */
2
2
  export const CLUSTER_SLUG = "edge-market";
3
- export const VERSION = "0.1.8";
3
+ export const VERSION = "0.13.0";
4
4
  export const TOOLS = [
5
5
  {
6
6
  "name": "agent-card-resolve",
@@ -59,14 +59,14 @@ export const TOOLS = [
59
59
  "properties": {
60
60
  "query": {
61
61
  "type": "string",
62
- "description": "A basename ('alice.base.eth' or bare 'alice') for forward, OR a 0x address for reverse."
62
+ "description": "Either a basename ('alice.base.eth', or bare 'alice' which is auto-suffixed) for forward resolution, OR a 0x-prefixed Ethereum address for reverse resolution."
63
63
  },
64
64
  "text_records": {
65
65
  "type": "array",
66
66
  "items": {
67
67
  "type": "string"
68
68
  },
69
- "description": "Optional text-record keys to fetch on forward lookups. Default: avatar/url/description/com.twitter/com.github/email/com.discord. Cap 12 keys."
69
+ "description": "Optional list of text-record keys to fetch on forward lookups. Default: avatar, url, description, com.twitter, com.github, email, com.discord. Cap 12 keys."
70
70
  }
71
71
  },
72
72
  "required": [
@@ -77,7 +77,7 @@ export const TOOLS = [
77
77
  {
78
78
  "name": "bridge-rates",
79
79
  "http_name": "bridge-rates",
80
- "description": "(0.03 USDC/call) Cross-chain bridge rate aggregator. LiFi public quote API aggregates Across, Stargate, Hop, deBridge, Synapse, CCTP. Free, commercial-OK with attribution.",
80
+ "description": "(0.03 USDC/call) Cross-chain bridge rate aggregator / bridge quote API / cheapest L1↔L2 route / Ethereum to Base + Arbitrum + Optimism + Polygon bridge / USDC + ETH bridging quotes / LiFi-powered route comparison / Across + Stargate + Hop + deBridge + Synapse + Circle CCTP aggregation / pre-bridge cost + slippage + ETA estimator. Wraps LiFi's public quote API: pass source chain, dest chain, source token, dest token, and amount, get back ranked routes with bridge tool, est_amount_out, gas + fee in USD, est_duration_seconds, and per-step transaction objects ready to sign. Commercial-OK with LiFi attribution.",
81
81
  "method": "POST",
82
82
  "input_schema": {
83
83
  "type": "object",
@@ -128,6 +128,67 @@ export const TOOLS = [
128
128
  ]
129
129
  }
130
130
  },
131
+ {
132
+ "name": "cid-fetch",
133
+ "http_name": "cid-fetch",
134
+ "description": "(0.005 USDC/call) CID fetch API / IPFS content reader / decentralized file fetcher. Resolves an IPFS CID and optional path through public gateways, returning text, JSON, or base64 with a 5 MB cap.",
135
+ "method": "POST",
136
+ "input_schema": {
137
+ "type": "object",
138
+ "properties": {
139
+ "cid": {
140
+ "type": "string",
141
+ "description": "IPFS CID, CIDv0 (Qm... base58, 46 chars) or CIDv1 (bafy... base32). Required."
142
+ },
143
+ "path": {
144
+ "type": "string",
145
+ "description": "Optional sub-path inside the IPFS directory, e.g. '/index.html' or 'metadata.json'. Leading slash optional."
146
+ },
147
+ "max_bytes": {
148
+ "type": "number",
149
+ "description": "Maximum response size in bytes. Default 1000000 (1 MB). Hard-capped at 5000000 (5 MB)."
150
+ },
151
+ "output": {
152
+ "type": "string",
153
+ "enum": [
154
+ "base64",
155
+ "text",
156
+ "json"
157
+ ],
158
+ "description": "How to return the content. 'base64' (default — safe for binary), 'text' (UTF-8 decode), or 'json' (UTF-8 decode + JSON.parse). Returns 502 if 'json' is requested and the body doesn't parse."
159
+ }
160
+ },
161
+ "required": [
162
+ "cid"
163
+ ]
164
+ }
165
+ },
166
+ {
167
+ "name": "coin-price",
168
+ "http_name": "coin-price",
169
+ "description": "(0.02 USDC/call) Coin price API / crypto spot price / BTC ETH SOL quote lookup. Resolves CoinGecko ids, ticker symbols, or contract addresses and returns current price, market cap, volume, rank, supply, ATH/ATL, and recent percent changes.",
170
+ "method": "POST",
171
+ "input_schema": {
172
+ "type": "object",
173
+ "properties": {
174
+ "query": {
175
+ "type": "string",
176
+ "description": "Coin id ('bitcoin'), ticker ('BTC', case-insensitive), or contract address (0x... or chain-native). When passing a contract, set 'chain' to disambiguate."
177
+ },
178
+ "vs_currency": {
179
+ "type": "string",
180
+ "description": "Quote currency. Default 'usd'. Any CoinGecko-supported fiat or crypto: usd, eur, gbp, jpy, btc, eth, etc."
181
+ },
182
+ "chain": {
183
+ "type": "string",
184
+ "description": "Chain slug for contract-address lookups, e.g. 'ethereum', 'base', 'polygon-pos', 'arbitrum-one', 'optimistic-ethereum', 'solana'. Ignored if query is an id or ticker."
185
+ }
186
+ },
187
+ "required": [
188
+ "query"
189
+ ]
190
+ }
191
+ },
131
192
  {
132
193
  "name": "contract-source",
133
194
  "http_name": "contract-source",
@@ -186,6 +247,58 @@ export const TOOLS = [
186
247
  ]
187
248
  }
188
249
  },
250
+ {
251
+ "name": "crypto-price",
252
+ "http_name": "crypto-price",
253
+ "description": "(0.02 USDC/call) Crypto price lookup / coin price API / BTC ETH SOL price / on-chain token spot price / contract-address quote API. Accepts CoinGecko ids, ticker symbols, or contract addresses and returns spot price, market cap, volume, supply, ATH/ATL, and percent changes.",
254
+ "method": "POST",
255
+ "input_schema": {
256
+ "type": "object",
257
+ "properties": {
258
+ "query": {
259
+ "type": "string",
260
+ "description": "Coin id ('bitcoin'), ticker ('BTC', case-insensitive), or contract address (0x... or chain-native). When passing a contract, set 'chain' to disambiguate."
261
+ },
262
+ "vs_currency": {
263
+ "type": "string",
264
+ "description": "Quote currency. Default 'usd'. Any CoinGecko-supported fiat or crypto: usd, eur, gbp, jpy, btc, eth, etc."
265
+ },
266
+ "chain": {
267
+ "type": "string",
268
+ "description": "Chain slug for contract-address lookups, e.g. 'ethereum', 'base', 'polygon-pos', 'arbitrum-one', 'optimistic-ethereum', 'solana'. Ignored if query is an id or ticker."
269
+ }
270
+ },
271
+ "required": [
272
+ "query"
273
+ ]
274
+ }
275
+ },
276
+ {
277
+ "name": "crypto-token-price",
278
+ "http_name": "crypto-token-price",
279
+ "description": "(0.02 USDC/call) Crypto token price API / token quote lookup / ERC-20 SPL token market data. Same CoinGecko-backed handler as token-price, listed for agents resolving coin ids, tickers, or contract addresses to spot price, market cap, volume, rank, supply, ATH/ATL, and recent percent changes.",
280
+ "method": "POST",
281
+ "input_schema": {
282
+ "type": "object",
283
+ "properties": {
284
+ "query": {
285
+ "type": "string",
286
+ "description": "Coin id ('bitcoin'), ticker ('BTC', case-insensitive), or contract address (0x... or chain-native). When passing a contract, set 'chain' to disambiguate."
287
+ },
288
+ "vs_currency": {
289
+ "type": "string",
290
+ "description": "Quote currency. Default 'usd'. Any CoinGecko-supported fiat or crypto: usd, eur, gbp, jpy, btc, eth, etc."
291
+ },
292
+ "chain": {
293
+ "type": "string",
294
+ "description": "Chain slug for contract-address lookups, e.g. 'ethereum', 'base', 'polygon-pos', 'arbitrum-one', 'optimistic-ethereum', 'solana'. Ignored if query is an id or ticker."
295
+ }
296
+ },
297
+ "required": [
298
+ "query"
299
+ ]
300
+ }
301
+ },
189
302
  {
190
303
  "name": "crypto-tx-explainer",
191
304
  "http_name": "crypto-tx-explainer",
@@ -195,8 +308,7 @@ export const TOOLS = [
195
308
  "type": "object",
196
309
  "properties": {
197
310
  "tx_hash": {
198
- "type": "string",
199
- "description": "Transaction hash (0x-prefixed) to look up on the chosen EVM chain."
311
+ "type": "string"
200
312
  },
201
313
  "chain": {
202
314
  "type": "string",
@@ -206,12 +318,10 @@ export const TOOLS = [
206
318
  "arbitrum",
207
319
  "optimism",
208
320
  "polygon"
209
- ],
210
- "description": "EVM chain to query: ethereum, base, arbitrum, optimism, or polygon."
321
+ ]
211
322
  },
212
323
  "explain": {
213
- "type": "boolean",
214
- "description": "If true, generates the plain-English Venice explanation alongside the raw receipt data."
324
+ "type": "boolean"
215
325
  }
216
326
  },
217
327
  "required": [
@@ -219,17 +329,46 @@ export const TOOLS = [
219
329
  ]
220
330
  }
221
331
  },
332
+ {
333
+ "name": "current-balance",
334
+ "http_name": "current-balance",
335
+ "description": "(0.002 USDC/call) Current balance API / wallet current balance / token balance lookup. Exact buyer-demand slug for agents that need a read-only ERC-20 balanceOf(wallet) call on Base, Ethereum, Arbitrum, Optimism, Polygon, BSC, or Avalanche. Uses public RPC only, co-fetches decimals, returns raw and decimal-formatted balance, and supports historical block reads. No custody, transfers, trading, or investment advice.",
336
+ "method": "POST",
337
+ "input_schema": {
338
+ "type": "object",
339
+ "properties": {
340
+ "token": {
341
+ "type": "string",
342
+ "description": "ERC-20 contract address (0x...)."
343
+ },
344
+ "wallet": {
345
+ "type": "string",
346
+ "description": "Wallet address to query (0x...)."
347
+ },
348
+ "chain": {
349
+ "description": "Chain id or slug. 8453|'base' (default), 1|'ethereum', 42161|'arbitrum', 10|'optimism', 137|'polygon', 56|'bsc', 43114|'avalanche'."
350
+ },
351
+ "block": {
352
+ "description": "'latest' default, or hex/decimal block number for historical reads."
353
+ }
354
+ },
355
+ "required": [
356
+ "token",
357
+ "wallet"
358
+ ]
359
+ }
360
+ },
222
361
  {
223
362
  "name": "dao-proposal-monitor",
224
363
  "http_name": "dao-proposal-monitor",
225
- "description": "(0.03 USDC/call) Snapshot.org DAO proposal monitor. Recent proposals + vote tallies + voter counts for any Snapshot space. Optional Venice TLDR.",
364
+ "description": "(0.03 USDC/call) DAO proposal monitor / Snapshot.org governance feed / DAO voting tracker / on-chain governance watch / Aave + Uniswap + ENS + Arbitrum proposal feed / DAO proposal TLDR. For any Snapshot space (e.g. 'aave.eth', 'uniswap', 'ens.eth'), returns recent proposals filtered by state (active / closed / pending / all) with title, body, choices, vote tallies (scores per choice), voter count, total voting power, start/end timestamps, and IPFS hash. Optional Venice-powered AI TLDR per proposal. Snapshot Hub public API — no auth.",
226
365
  "method": "POST",
227
366
  "input_schema": {
228
367
  "type": "object",
229
368
  "properties": {
230
369
  "space": {
231
370
  "type": "string",
232
- "description": "Snapshot space (e.g. 'aave.eth')."
371
+ "description": "Snapshot space slug, typically an ENS name (e.g. 'aave.eth', 'uniswap', 'ens.eth', 'arbitrumfoundation.eth')."
233
372
  },
234
373
  "state": {
235
374
  "type": "string",
@@ -255,17 +394,83 @@ export const TOOLS = [
255
394
  ]
256
395
  }
257
396
  },
397
+ {
398
+ "name": "defi-llama",
399
+ "http_name": "defi-llama",
400
+ "description": "(0.02 USDC/call) DefiLlama API / DeFi TVL protocol lookup. Resolves a DefiLlama protocol slug such as aave, lido, uniswap, makerdao, or curve-dex and returns current TVL, chain breakdown, protocol metadata, audit links, and optional historical TVL series.",
401
+ "method": "POST",
402
+ "input_schema": {
403
+ "type": "object",
404
+ "properties": {
405
+ "protocol": {
406
+ "type": "string",
407
+ "description": "DefiLlama slug (lowercase, hyphenated). Examples: 'aave', 'lido', 'uniswap', 'makerdao', 'curve-dex'. See defillama.com/protocols for the canonical slug list."
408
+ },
409
+ "include_tvl_series": {
410
+ "type": "boolean",
411
+ "description": "If true, attach the full historical TVL time-series under tvl_summary.series. Adds significant payload size. Default false."
412
+ }
413
+ },
414
+ "required": [
415
+ "protocol"
416
+ ]
417
+ }
418
+ },
419
+ {
420
+ "name": "defi-llama-api",
421
+ "http_name": "defi-llama-api",
422
+ "description": "(0.02 USDC/call) DeFiLlama API / DeFi protocol TVL lookup / protocol fundamentals. Same DefiLlama-backed handler as defi-llama, listed for agents searching exact DefiLlama wording to resolve protocol TVL, category, chains, token symbol, and protocol metadata.",
423
+ "method": "POST",
424
+ "input_schema": {
425
+ "type": "object",
426
+ "properties": {
427
+ "protocol": {
428
+ "type": "string",
429
+ "description": "DefiLlama slug (lowercase, hyphenated). Examples: 'aave', 'lido', 'uniswap', 'makerdao', 'curve-dex'. See defillama.com/protocols for the canonical slug list."
430
+ },
431
+ "include_tvl_series": {
432
+ "type": "boolean",
433
+ "description": "If true, attach the full historical TVL time-series under tvl_summary.series. Adds significant payload size. Default false."
434
+ }
435
+ },
436
+ "required": [
437
+ "protocol"
438
+ ]
439
+ }
440
+ },
258
441
  {
259
442
  "name": "defi-llama-protocol",
260
443
  "http_name": "defi-llama-protocol",
261
- "description": "(0.02 USDC/call) DefiLlama protocol lookup TVL, chain breakdown, current TVL, 24h/7d/30d changes, audits, parent protocol, categories. Free public API with attribution.",
444
+ "description": "(0.02 USDC/call) DefiLlama protocol lookup / DeFi TVL fetcher / total value locked / chain-breakdown of TVL / Aave + Lido + Uniswap + MakerDAO TVL / protocol metadata + audits / parent-protocol resolver / DeFi category classifier. Resolves a DefiLlama slug and returns canonical name, ticker symbol, category, primary chain, parent-protocol link, project URL, Twitter handle, audit count + audit links, description, logo URL, current USD TVL, per-chain TVL breakdown map, and a 24h / 7d / 30d change summary. Optional historical TVL series. Free public API; response includes attribution.",
445
+ "method": "POST",
446
+ "input_schema": {
447
+ "type": "object",
448
+ "properties": {
449
+ "protocol": {
450
+ "type": "string",
451
+ "description": "DefiLlama slug (lowercase, hyphenated). Examples: 'aave', 'lido', 'uniswap', 'makerdao', 'curve-dex'. See defillama.com/protocols for the canonical slug list."
452
+ },
453
+ "include_tvl_series": {
454
+ "type": "boolean",
455
+ "description": "If true, attach the full historical TVL time-series under tvl_summary.series. Adds significant payload size. Default false."
456
+ }
457
+ },
458
+ "required": [
459
+ "protocol"
460
+ ]
461
+ }
462
+ },
463
+ {
464
+ "name": "defi-tvl",
465
+ "http_name": "defi-tvl",
466
+ "description": "(0.02 USDC/call) DeFi TVL API / total value locked by protocol. Looks up one DefiLlama protocol slug and returns current USD TVL, chain TVL breakdown, TVL changes, protocol metadata, and attribution.",
262
467
  "method": "POST",
263
468
  "input_schema": {
264
469
  "type": "object",
265
470
  "properties": {
266
471
  "protocol": {
267
472
  "type": "string",
268
- "description": "DefiLlama slug (e.g. 'aave', 'lido')."
473
+ "description": "DefiLlama slug (lowercase, hyphenated). Examples: 'aave', 'lido', 'uniswap', 'makerdao', 'curve-dex'. See defillama.com/protocols for the canonical slug list."
269
474
  },
270
475
  "include_tvl_series": {
271
476
  "type": "boolean",
@@ -342,6 +547,28 @@ export const TOOLS = [
342
547
  }
343
548
  }
344
549
  },
550
+ {
551
+ "name": "defillama",
552
+ "http_name": "defillama",
553
+ "description": "(0.02 USDC/call) DefiLlama protocol TVL lookup / DeFi protocol metadata. Same backend as defi-llama-protocol with a compact slug for buyers searching DefiLlama directly.",
554
+ "method": "POST",
555
+ "input_schema": {
556
+ "type": "object",
557
+ "properties": {
558
+ "protocol": {
559
+ "type": "string",
560
+ "description": "DefiLlama slug (lowercase, hyphenated). Examples: 'aave', 'lido', 'uniswap', 'makerdao', 'curve-dex'. See defillama.com/protocols for the canonical slug list."
561
+ },
562
+ "include_tvl_series": {
563
+ "type": "boolean",
564
+ "description": "If true, attach the full historical TVL time-series under tvl_summary.series. Adds significant payload size. Default false."
565
+ }
566
+ },
567
+ "required": [
568
+ "protocol"
569
+ ]
570
+ }
571
+ },
345
572
  {
346
573
  "name": "dex-liquidity-depth",
347
574
  "http_name": "dex-liquidity-depth",
@@ -374,18 +601,16 @@ export const TOOLS = [
374
601
  {
375
602
  "name": "ens-resolve",
376
603
  "http_name": "ens-resolve",
377
- "description": "(0.03 USDC/call) ENS resolver / Ethereum Name Service lookup. Forward (vitalik.eth 0x...address) and reverse (0x... primary ENS name) with text records (avatar, url, description, com.twitter, com.github, email, org.telegram).",
604
+ "description": "(0.03 USDC/call) ENS resolver / Ethereum Name Service lookup. Forward (vitalik.eth to address) and reverse (address to primary ENS) with text records (avatar, twitter, github, etc).",
378
605
  "method": "POST",
379
606
  "input_schema": {
380
607
  "type": "object",
381
608
  "properties": {
382
609
  "query": {
383
- "type": "string",
384
- "description": "ENS name (vitalik.eth) or 0x address."
610
+ "type": "string"
385
611
  },
386
612
  "text_records": {
387
- "type": "array",
388
- "description": "Optional text record keys to fetch (max 15). Default: avatar, url, description, com.twitter, com.github, email, org.telegram."
613
+ "type": "array"
389
614
  }
390
615
  },
391
616
  "required": [
@@ -477,6 +702,29 @@ export const TOOLS = [
477
702
  }
478
703
  }
479
704
  },
705
+ {
706
+ "name": "flagged-tokens",
707
+ "http_name": "flagged-tokens",
708
+ "description": "(0.005 USDC/call) Flagged Solana tokens / risky token feed / DEX market-data risk screen. Same backend as solana-flagged-tokens, exposed under the high-demand buyer slug. Flags thin liquidity, extreme moves, sell pressure, very new pairs, and missing profile context.",
709
+ "method": "POST",
710
+ "input_schema": {
711
+ "type": "object",
712
+ "properties": {
713
+ "limit": {
714
+ "type": "number",
715
+ "description": "Max flagged tokens to return. Range 1-50. Default 20."
716
+ },
717
+ "min_liquidity_usd": {
718
+ "type": "number",
719
+ "description": "Optional minimum pair liquidity filter."
720
+ },
721
+ "min_volume_24h_usd": {
722
+ "type": "number",
723
+ "description": "Optional minimum 24h volume filter."
724
+ }
725
+ }
726
+ }
727
+ },
480
728
  {
481
729
  "name": "funding-rates",
482
730
  "http_name": "funding-rates",
@@ -500,9 +748,9 @@ export const TOOLS = [
500
748
  }
501
749
  },
502
750
  {
503
- "name": "gas-now-base",
504
- "http_name": "gas-now-base",
505
- "description": "(0.02 USDC/call) Gas oracle / EIP-1559 fee estimator. Real-time base fee + priority fee for Base / Ethereum / Optimism / Arbitrum / Polygon. USD-cost estimates for native transfer, USDC transfer, ERC-20 approve, Uniswap V2/V3 swap, NFT mint, contract deploy.",
751
+ "name": "gas-api",
752
+ "http_name": "gas-api",
753
+ "description": "(0.02 USDC/call) Gas API / blockchain gas fee estimator / EIP-1559 fee tiers. Returns base fee, safe-low, standard, and fast priority/max fees, plus USD tx-cost estimates for Base, Ethereum, Optimism, and Arbitrum.",
506
754
  "method": "POST",
507
755
  "input_schema": {
508
756
  "type": "object",
@@ -522,9 +770,9 @@ export const TOOLS = [
522
770
  }
523
771
  },
524
772
  {
525
- "name": "gas-price",
526
- "http_name": "gas-price",
527
- "description": "(0.02 USDC/call) Gas price API / EIP-1559 fee estimator / Base + Ethereum + Optimism + Arbitrum gas tracker / pre-tx cost estimator. Reads the chain's latest block, derives base fee, suggests priority fees for safe-low/standard/fast tiers, computes total maxFeePerGas, and converts cost to USD for common tx types.",
773
+ "name": "gas-fees",
774
+ "http_name": "gas-fees",
775
+ "description": "(0.02 USDC/call) Gas fees API / EIP-1559 transaction fee estimator / Base Ethereum Optimism Arbitrum gas tracker. Returns base fee, priority-fee tiers, maxFeePerGas, and USD cost estimates for common transactions.",
528
776
  "method": "POST",
529
777
  "input_schema": {
530
778
  "type": "object",
@@ -544,57 +792,280 @@ export const TOOLS = [
544
792
  }
545
793
  },
546
794
  {
547
- "name": "honeypot-check",
548
- "http_name": "honeypot-check",
549
- "description": "(0.05 USDC/call) Honeypot.is buy/sell simulation for any Base or Ethereum ERC-20. Returns is_honeypot verdict, buy/sell/transfer tax %, simulation success flag, and a reason string when a honeypot is detected. Use before every swap to detect sell-blocking risk.",
795
+ "name": "gas-now-base",
796
+ "http_name": "gas-now-base",
797
+ "description": "(0.02 USDC/call) Gas oracle / gas price API / EIP-1559 fee estimator / Base + Ethereum + Optimism + Arbitrum + Polygon gas tracker / etherscan-gas alternative / pre-tx cost estimator / USD gas-cost calculator / safe-low + standard + fast tier feed. Reads the chain's latest block, derives the EIP-1559 base fee, suggests priority fees for safe-low / standard / fast tiers, computes the total recommended maxFeePerGas, and converts cost to USD for common tx types (transfer, ERC-20 transfer, Uniswap swap, NFT mint).",
550
798
  "method": "POST",
551
799
  "input_schema": {
552
800
  "type": "object",
553
801
  "properties": {
554
- "token_address": {
555
- "type": "string",
556
- "description": "0x-prefixed 20-byte EVM token contract address."
557
- },
558
802
  "chain": {
559
803
  "type": "string",
560
804
  "enum": [
561
805
  "base",
562
806
  "ethereum",
563
- "bsc"
807
+ "optimism",
808
+ "arbitrum",
809
+ "polygon"
564
810
  ],
565
- "description": "EVM chain. Default 'base'."
811
+ "description": "EVM L1/L2 to read gas from. Default 'base'."
566
812
  }
567
- },
568
- "required": [
569
- "token_address"
570
- ]
813
+ }
571
814
  }
572
815
  },
573
816
  {
574
- "name": "ipfs-fetch",
575
- "http_name": "ipfs-fetch",
576
- "description": "(0.005 USDC/call) IPFS fetch / IPFS gateway / Web3 storage retrieval / NFT metadata fetcher / Filecoin gateway / decentralized content / pinned-content reader. Resolves a CID (CIDv0 Qm... or CIDv1 bafy...) and optional sub-path through a fallback chain of public gateways (cloudflare-ipfs.com → ipfs.io → dweb.link) and returns the content as base64 / text / parsed JSON. Hard cap 5 MB. HEAD pre-flight + streaming size cap so oversized files are rejected before they're fully downloaded. No API key required.",
817
+ "name": "gas-price",
818
+ "http_name": "gas-price",
819
+ "description": "(0.02 USDC/call) Gas price API / EIP-1559 fee estimator / Base + Ethereum + Optimism + Arbitrum gas tracker / pre-tx cost estimator. Reads the chain's latest block, derives base fee, suggests priority fees for safe-low/standard/fast tiers, computes total maxFeePerGas, and converts cost to USD for common tx types.",
577
820
  "method": "POST",
578
821
  "input_schema": {
579
822
  "type": "object",
580
823
  "properties": {
581
- "cid": {
582
- "type": "string",
583
- "description": "IPFS CID, CIDv0 (Qm... base58, 46 chars) or CIDv1 (bafy... base32). Required."
584
- },
585
- "path": {
586
- "type": "string",
587
- "description": "Optional sub-path inside the IPFS directory, e.g. '/index.html' or 'metadata.json'. Leading slash optional."
588
- },
589
- "max_bytes": {
590
- "type": "number",
591
- "description": "Maximum response size in bytes. Default 1000000 (1 MB). Hard-capped at 5000000 (5 MB)."
592
- },
593
- "output": {
824
+ "chain": {
594
825
  "type": "string",
595
826
  "enum": [
596
- "base64",
597
- "text",
827
+ "base",
828
+ "ethereum",
829
+ "optimism",
830
+ "arbitrum",
831
+ "polygon"
832
+ ],
833
+ "description": "EVM L1/L2 to read gas from. Default 'base'."
834
+ }
835
+ }
836
+ }
837
+ },
838
+ {
839
+ "name": "gas-price-api",
840
+ "http_name": "gas-price-api",
841
+ "description": "(0.02 USDC/call) Gas price API / EIP-1559 gas fee endpoint / blockchain transaction fee estimator. Same gas-price handler, discoverable for agents estimating base fee, priority fee tiers, maxFeePerGas, and USD transaction costs for Base, Ethereum, Optimism, and Arbitrum.",
842
+ "method": "POST",
843
+ "input_schema": {
844
+ "type": "object",
845
+ "properties": {
846
+ "chain": {
847
+ "type": "string",
848
+ "enum": [
849
+ "base",
850
+ "ethereum",
851
+ "optimism",
852
+ "arbitrum",
853
+ "polygon"
854
+ ],
855
+ "description": "EVM L1/L2 to read gas from. Default 'base'."
856
+ }
857
+ }
858
+ }
859
+ },
860
+ {
861
+ "name": "honeypot-check",
862
+ "http_name": "honeypot-check",
863
+ "description": "(0.05 USDC/call) Honeypot.is buy/sell simulation for any Base or Ethereum ERC-20. Returns is_honeypot verdict, buy/sell/transfer tax %, simulation success flag, and a reason string when a honeypot is detected. Use before every swap to detect sell-blocking risk.",
864
+ "method": "POST",
865
+ "input_schema": {
866
+ "type": "object",
867
+ "properties": {
868
+ "token_address": {
869
+ "type": "string",
870
+ "description": "0x-prefixed 20-byte EVM token contract address."
871
+ },
872
+ "chain": {
873
+ "type": "string",
874
+ "enum": [
875
+ "base",
876
+ "ethereum",
877
+ "bsc"
878
+ ],
879
+ "description": "EVM chain. Default 'base'."
880
+ }
881
+ },
882
+ "required": [
883
+ "token_address"
884
+ ]
885
+ }
886
+ },
887
+ {
888
+ "name": "hyperliquid-market",
889
+ "http_name": "hyperliquid-market",
890
+ "description": "(0.001 USDC/call) Hyperliquid market API / Hyperliquid market data / perps mark price / crypto futures market lookup. Low-cost exact-demand endpoint for active Hyperliquid markets. Returns mark price, size decimals, max leverage, margin table id, and active market list from Hyperliquid's public info API. Read-only; no wallet data, trading, private API keys, or order routing.",
891
+ "method": "POST",
892
+ "input_schema": {
893
+ "type": "object",
894
+ "properties": {
895
+ "market": {
896
+ "type": "string",
897
+ "description": "Hyperliquid market or symbol, e.g. 'BTC', 'ETH', or 'SOL'."
898
+ },
899
+ "mode": {
900
+ "type": "string",
901
+ "enum": [
902
+ "market"
903
+ ],
904
+ "description": "Lookup mode. Only read-only market data is enabled. Default 'market'."
905
+ },
906
+ "limit": {
907
+ "type": "number",
908
+ "description": "Maximum records to return when market is omitted. Suggested range 1-50."
909
+ }
910
+ }
911
+ }
912
+ },
913
+ {
914
+ "name": "hyperliquid-perps",
915
+ "http_name": "hyperliquid-perps",
916
+ "description": "(0.005 USDC/call) Hyperliquid perps market data / perpetual futures market lookup / crypto derivatives feed. Read-only public Hyperliquid info API wrapper returning active markets, mark prices, size decimals, max leverage, and margin table ids. No trading, private wallet data, or order routing.",
917
+ "method": "POST",
918
+ "input_schema": {
919
+ "type": "object",
920
+ "properties": {
921
+ "market": {
922
+ "type": "string",
923
+ "description": "Hyperliquid market or symbol, e.g. 'BTC', 'ETH', or 'SOL'."
924
+ },
925
+ "mode": {
926
+ "type": "string",
927
+ "enum": [
928
+ "market"
929
+ ],
930
+ "description": "Lookup mode. Only read-only market data is enabled. Default 'market'."
931
+ },
932
+ "limit": {
933
+ "type": "number",
934
+ "description": "Maximum records to return. Suggested range 1-50."
935
+ }
936
+ }
937
+ }
938
+ },
939
+ {
940
+ "name": "ipfs",
941
+ "http_name": "ipfs",
942
+ "description": "(0.005 USDC/call) IPFS API / IPFS fetch / IPFS content retrieval / CID resolver / NFT metadata fetcher. Resolves a CID and optional path through public IPFS gateways and returns content as base64, text, or parsed JSON with a 5 MB hard cap.",
943
+ "method": "POST",
944
+ "input_schema": {
945
+ "type": "object",
946
+ "properties": {
947
+ "cid": {
948
+ "type": "string",
949
+ "description": "IPFS CID, CIDv0 (Qm... base58, 46 chars) or CIDv1 (bafy... base32). Required."
950
+ },
951
+ "path": {
952
+ "type": "string",
953
+ "description": "Optional sub-path inside the IPFS directory, e.g. '/index.html' or 'metadata.json'. Leading slash optional."
954
+ },
955
+ "max_bytes": {
956
+ "type": "number",
957
+ "description": "Maximum response size in bytes. Default 1000000 (1 MB). Hard-capped at 5000000 (5 MB)."
958
+ },
959
+ "output": {
960
+ "type": "string",
961
+ "enum": [
962
+ "base64",
963
+ "text",
964
+ "json"
965
+ ],
966
+ "description": "How to return the content. 'base64' (default — safe for binary), 'text' (UTF-8 decode), or 'json' (UTF-8 decode + JSON.parse). Returns 502 if 'json' is requested and the body doesn't parse."
967
+ }
968
+ },
969
+ "required": [
970
+ "cid"
971
+ ]
972
+ }
973
+ },
974
+ {
975
+ "name": "ipfs-api",
976
+ "http_name": "ipfs-api",
977
+ "description": "(0.005 USDC/call) IPFS API / CID fetch API / IPFS gateway API / Web3 storage fetch. Resolves an IPFS CID and optional path through public gateways, returning text, parsed JSON, or base64 with content type, size, and gateway provenance. 5 MB cap.",
978
+ "method": "POST",
979
+ "input_schema": {
980
+ "type": "object",
981
+ "properties": {
982
+ "cid": {
983
+ "type": "string",
984
+ "description": "IPFS CID, CIDv0 (Qm... base58, 46 chars) or CIDv1 (bafy... base32). Required."
985
+ },
986
+ "path": {
987
+ "type": "string",
988
+ "description": "Optional sub-path inside the IPFS directory, e.g. '/index.html' or 'metadata.json'. Leading slash optional."
989
+ },
990
+ "max_bytes": {
991
+ "type": "number",
992
+ "description": "Maximum response size in bytes. Default 1000000 (1 MB). Hard-capped at 5000000 (5 MB)."
993
+ },
994
+ "output": {
995
+ "type": "string",
996
+ "enum": [
997
+ "base64",
998
+ "text",
999
+ "json"
1000
+ ],
1001
+ "description": "How to return the content. 'base64' (default — safe for binary), 'text' (UTF-8 decode), or 'json' (UTF-8 decode + JSON.parse). Returns 502 if 'json' is requested and the body doesn't parse."
1002
+ }
1003
+ },
1004
+ "required": [
1005
+ "cid"
1006
+ ]
1007
+ }
1008
+ },
1009
+ {
1010
+ "name": "ipfs-fetch",
1011
+ "http_name": "ipfs-fetch",
1012
+ "description": "(0.005 USDC/call) IPFS fetch API / IPFS gateway API / CID resolver / Web3 storage retrieval / NFT metadata fetcher / Filecoin gateway / decentralized content reader. Resolves a CID (CIDv0 Qm... or CIDv1 bafy...) and optional sub-path through a fallback chain of public gateways (cloudflare-ipfs.com, ipfs.io, dweb.link) and returns content as base64, UTF-8 text, or parsed JSON. Hard cap 5 MB with HEAD pre-flight and streaming size guard so oversized files are rejected before full download. No API key required.",
1013
+ "method": "POST",
1014
+ "input_schema": {
1015
+ "type": "object",
1016
+ "properties": {
1017
+ "cid": {
1018
+ "type": "string",
1019
+ "description": "IPFS CID, CIDv0 (Qm... base58, 46 chars) or CIDv1 (bafy... base32). Required."
1020
+ },
1021
+ "path": {
1022
+ "type": "string",
1023
+ "description": "Optional sub-path inside the IPFS directory, e.g. '/index.html' or 'metadata.json'. Leading slash optional."
1024
+ },
1025
+ "max_bytes": {
1026
+ "type": "number",
1027
+ "description": "Maximum response size in bytes. Default 1000000 (1 MB). Hard-capped at 5000000 (5 MB)."
1028
+ },
1029
+ "output": {
1030
+ "type": "string",
1031
+ "enum": [
1032
+ "base64",
1033
+ "text",
1034
+ "json"
1035
+ ],
1036
+ "description": "How to return the content. 'base64' (default — safe for binary), 'text' (UTF-8 decode), or 'json' (UTF-8 decode + JSON.parse). Returns 502 if 'json' is requested and the body doesn't parse."
1037
+ }
1038
+ },
1039
+ "required": [
1040
+ "cid"
1041
+ ]
1042
+ }
1043
+ },
1044
+ {
1045
+ "name": "ipfs-gateway",
1046
+ "http_name": "ipfs-gateway",
1047
+ "description": "(0.005 USDC/call) IPFS gateway fetcher / IPFS gateway API / CID gateway resolver / decentralized file retrieval. Reads a CID through a fallback chain of public gateways and returns content type, size, gateway used, and body as base64, text, or JSON.",
1048
+ "method": "POST",
1049
+ "input_schema": {
1050
+ "type": "object",
1051
+ "properties": {
1052
+ "cid": {
1053
+ "type": "string",
1054
+ "description": "IPFS CID, CIDv0 (Qm... base58, 46 chars) or CIDv1 (bafy... base32). Required."
1055
+ },
1056
+ "path": {
1057
+ "type": "string",
1058
+ "description": "Optional sub-path inside the IPFS directory, e.g. '/index.html' or 'metadata.json'. Leading slash optional."
1059
+ },
1060
+ "max_bytes": {
1061
+ "type": "number",
1062
+ "description": "Maximum response size in bytes. Default 1000000 (1 MB). Hard-capped at 5000000 (5 MB)."
1063
+ },
1064
+ "output": {
1065
+ "type": "string",
1066
+ "enum": [
1067
+ "base64",
1068
+ "text",
598
1069
  "json"
599
1070
  ],
600
1071
  "description": "How to return the content. 'base64' (default — safe for binary), 'text' (UTF-8 decode), or 'json' (UTF-8 decode + JSON.parse). Returns 502 if 'json' is requested and the body doesn't parse."
@@ -654,16 +1125,13 @@ export const TOOLS = [
654
1125
  "arbitrum",
655
1126
  "optimism",
656
1127
  "polygon"
657
- ],
658
- "description": "EVM chain to query: ethereum, base, arbitrum, optimism, or polygon."
1128
+ ]
659
1129
  },
660
1130
  "include_recent_sales": {
661
- "type": "boolean",
662
- "description": "When true, includes a recent_sales array of the latest transactions for the collection."
1131
+ "type": "boolean"
663
1132
  },
664
1133
  "recent_sales_limit": {
665
- "type": "number",
666
- "description": "Max number of recent sales to return when include_recent_sales is true."
1134
+ "type": "number"
667
1135
  }
668
1136
  },
669
1137
  "required": [
@@ -722,7 +1190,7 @@ export const TOOLS = [
722
1190
  "properties": {
723
1191
  "address": {
724
1192
  "type": "string",
725
- "description": "Safe contract address (0x + 40 hex)."
1193
+ "description": "Safe contract address (0x + 40 hex). Case-insensitive."
726
1194
  },
727
1195
  "chain": {
728
1196
  "type": "string",
@@ -737,7 +1205,7 @@ export const TOOLS = [
737
1205
  },
738
1206
  "pending_limit": {
739
1207
  "type": "number",
740
- "description": "Max pending tx to return (0-50). Default 10. 0 skips the Safe TX Service call."
1208
+ "description": "Max pending transactions to return (0-50). Default 10. Set 0 to skip the Safe TX Service call entirely."
741
1209
  }
742
1210
  },
743
1211
  "required": [
@@ -754,20 +1222,103 @@ export const TOOLS = [
754
1222
  "type": "object",
755
1223
  "properties": {
756
1224
  "tx_hash": {
757
- "type": "string",
758
- "description": "Safe transaction hash to look up and decode via on-chain execTransaction call data."
1225
+ "type": "string"
759
1226
  },
760
1227
  "calldata": {
761
- "type": "string",
762
- "description": "Raw execTransaction calldata hex string to decode directly without an on-chain lookup."
1228
+ "type": "string"
763
1229
  },
764
1230
  "chain": {
765
- "type": "string",
766
- "description": "Chain name or ID where the Safe lives (e.g. ethereum, base, 1, 8453) for RPC routing."
1231
+ "type": "string"
767
1232
  },
768
1233
  "to": {
1234
+ "type": "string"
1235
+ }
1236
+ }
1237
+ }
1238
+ },
1239
+ {
1240
+ "name": "solana-flagged-tokens",
1241
+ "http_name": "solana-flagged-tokens",
1242
+ "description": "(0.005 USDC/call) Solana flagged tokens / risky Solana token feed / meme coin risk screen / DEX Screener risk flags. Returns recently active Solana tokens flagged for thin liquidity, volume far above liquidity, extreme 24h price move, sell pressure, very new pair age, missing profile context, or missing pair data. Market-data screen only, no private holder graph.",
1243
+ "method": "POST",
1244
+ "input_schema": {
1245
+ "type": "object",
1246
+ "properties": {
1247
+ "limit": {
1248
+ "type": "number",
1249
+ "description": "Max flagged tokens to return. Range 1-50. Default 20."
1250
+ },
1251
+ "min_liquidity_usd": {
1252
+ "type": "number",
1253
+ "description": "Optional minimum pair liquidity filter."
1254
+ },
1255
+ "min_volume_24h_usd": {
1256
+ "type": "number",
1257
+ "description": "Optional minimum 24h volume filter."
1258
+ }
1259
+ }
1260
+ }
1261
+ },
1262
+ {
1263
+ "name": "solana-token-safety",
1264
+ "http_name": "solana-token-safety",
1265
+ "description": "(0.02 USDC/call) Solana token safety API / SPL token rug check / Solana memecoin scam detector / mint + freeze authority check / holder concentration + LP analysis. Reads GoPlus Solana token-security signals (mint/freeze/close authorities, transfer hooks, transfer fee, mutable balance/metadata, top-holder concentration, LP holders, trusted-token allowlist) and returns a 0-100 safety score, grade, flags, and recommendation. EVM tokens: use token-risk-score. Informational on-chain data, not financial advice.",
1266
+ "method": "POST",
1267
+ "input_schema": {
1268
+ "type": "object",
1269
+ "properties": {
1270
+ "mint_address": {
769
1271
  "type": "string",
770
- "description": "Safe contract address; pairs with tx_hash or calldata to scope the decode to that multisig."
1272
+ "description": "Solana SPL token mint address (base58, 32-44 chars)."
1273
+ }
1274
+ },
1275
+ "required": [
1276
+ "mint_address"
1277
+ ]
1278
+ }
1279
+ },
1280
+ {
1281
+ "name": "solana-token-watchlist",
1282
+ "http_name": "solana-token-watchlist",
1283
+ "description": "(0.005 USDC/call) Solana token watchlist / high-volume Solana tokens / DEX Screener market-data watchlist / boosted token tracker. Returns recently profiled and actively boosted Solana tokens with best pair, price, liquidity, 24h volume, buy/sell counts, price change, pair age, links, transparent activity score, and market-data risk flags. No API key.",
1284
+ "method": "POST",
1285
+ "input_schema": {
1286
+ "type": "object",
1287
+ "properties": {
1288
+ "limit": {
1289
+ "type": "number",
1290
+ "description": "Max tokens to return. Range 1-50. Default 20."
1291
+ },
1292
+ "min_liquidity_usd": {
1293
+ "type": "number",
1294
+ "description": "Optional minimum pair liquidity filter."
1295
+ },
1296
+ "min_volume_24h_usd": {
1297
+ "type": "number",
1298
+ "description": "Optional minimum 24h volume filter."
1299
+ }
1300
+ }
1301
+ }
1302
+ },
1303
+ {
1304
+ "name": "solana-trending-tokens",
1305
+ "http_name": "solana-trending-tokens",
1306
+ "description": "(0.005 USDC/call) Solana trending tokens / DEX Screener boosted tokens / active Solana meme coin discovery. Ranks actively boosted Solana tokens by liquidity, volume, 24h txns, boost amount, and price movement. Returns pair links, token links, market data, risk flags, and caveats. No API key.",
1307
+ "method": "POST",
1308
+ "input_schema": {
1309
+ "type": "object",
1310
+ "properties": {
1311
+ "limit": {
1312
+ "type": "number",
1313
+ "description": "Max tokens to return. Range 1-50. Default 20."
1314
+ },
1315
+ "min_liquidity_usd": {
1316
+ "type": "number",
1317
+ "description": "Optional minimum pair liquidity filter."
1318
+ },
1319
+ "min_volume_24h_usd": {
1320
+ "type": "number",
1321
+ "description": "Optional minimum 24h volume filter."
771
1322
  }
772
1323
  }
773
1324
  }
@@ -781,12 +1332,10 @@ export const TOOLS = [
781
1332
  "type": "object",
782
1333
  "properties": {
783
1334
  "symbols": {
784
- "type": "array",
785
- "description": "Array of stablecoin tickers to query (e.g. USDT, USDC, DAI); defaults to all eight tracked coins when omitted."
1335
+ "type": "array"
786
1336
  },
787
1337
  "alert_threshold_bps": {
788
- "type": "number",
789
- "description": "Basis-point deviation from $1 above which a coin is flagged in depeg_alert_count (default ~50 bps)."
1338
+ "type": "number"
790
1339
  }
791
1340
  }
792
1341
  }
@@ -794,22 +1343,49 @@ export const TOOLS = [
794
1343
  {
795
1344
  "name": "stablecoin-peg",
796
1345
  "http_name": "stablecoin-peg",
797
- "description": "(0.005 USDC/call) Stablecoin peg monitor / depeg detector. Real-time prices for USDT, USDC, DAI, FRAX, PYUSD, FDUSD, USDE, RLUSD. Configurable depeg alert threshold (basis points). Catches USDC's 2023-style depegs in real time.",
1346
+ "description": "(0.005 USDC/call) Stablecoin peg monitor. Real-time price + deviation detector for USDT, USDC, DAI, FRAX, PYUSD, FDUSD, USDE, RLUSD. Configurable depeg-alert threshold (basis points). Catches USDC's 2023-style depegs in real time.",
798
1347
  "method": "POST",
799
1348
  "input_schema": {
800
1349
  "type": "object",
801
1350
  "properties": {
802
1351
  "symbols": {
803
- "type": "array",
804
- "description": "Up to 20 stablecoin symbols. Default: 8 major stables."
1352
+ "type": "array"
805
1353
  },
806
1354
  "alert_threshold_bps": {
807
- "type": "number",
808
- "description": "Basis points from $1.00 to flag. Default 50 (0.5%)."
1355
+ "type": "number"
809
1356
  }
810
1357
  }
811
1358
  }
812
1359
  },
1360
+ {
1361
+ "name": "token-balance",
1362
+ "http_name": "token-balance",
1363
+ "description": "(0.002 USDC/call) Token balance API / ERC-20 balanceOf reader / on-chain token holdings lookup. Same public-RPC backend as erc20-balance, exposed for agents searching for token-balance wording. Returns raw balance, hex balance, decimals, and formatted balance.",
1364
+ "method": "POST",
1365
+ "input_schema": {
1366
+ "type": "object",
1367
+ "properties": {
1368
+ "token": {
1369
+ "type": "string",
1370
+ "description": "ERC-20 contract address (0x...)."
1371
+ },
1372
+ "wallet": {
1373
+ "type": "string",
1374
+ "description": "Wallet address to query (0x...)."
1375
+ },
1376
+ "chain": {
1377
+ "description": "Chain id or slug. Default 'base'; also ethereum, arbitrum, optimism, polygon, bsc, avalanche."
1378
+ },
1379
+ "block": {
1380
+ "description": "'latest' default, or hex/decimal block number."
1381
+ }
1382
+ },
1383
+ "required": [
1384
+ "token",
1385
+ "wallet"
1386
+ ]
1387
+ }
1388
+ },
813
1389
  {
814
1390
  "name": "token-burn-stats",
815
1391
  "http_name": "token-burn-stats",
@@ -866,25 +1442,131 @@ export const TOOLS = [
866
1442
  ]
867
1443
  }
868
1444
  },
1445
+ {
1446
+ "name": "token-honeypot-api",
1447
+ "http_name": "token-honeypot-api",
1448
+ "description": "(0.05 USDC/call) Token honeypot API / honeypot checker / buy-sell simulation endpoint. Same honeypot.is-backed handler as token-honeypot, indexed for agents checking sellability, buy tax, sell tax, proxy risk, owner risk, and token-trading warnings.",
1449
+ "method": "POST",
1450
+ "input_schema": {
1451
+ "type": "object",
1452
+ "properties": {
1453
+ "token_address": {
1454
+ "type": "string",
1455
+ "description": "0x-prefixed 20-byte EVM token contract address."
1456
+ },
1457
+ "chain": {
1458
+ "type": "string",
1459
+ "enum": [
1460
+ "base",
1461
+ "ethereum",
1462
+ "bsc"
1463
+ ],
1464
+ "description": "EVM chain. Default 'base'."
1465
+ }
1466
+ },
1467
+ "required": [
1468
+ "token_address"
1469
+ ]
1470
+ }
1471
+ },
1472
+ {
1473
+ "name": "token-honeypot-check",
1474
+ "http_name": "token-honeypot-check",
1475
+ "description": "(0.05 USDC/call) Token honeypot check / ERC-20 can-I-sell API / rug-pull detector. Simulates buy and sell behavior through honeypot.is and returns honeypot status, taxes, max sell amounts, contract flags, and risk level.",
1476
+ "method": "POST",
1477
+ "input_schema": {
1478
+ "type": "object",
1479
+ "properties": {
1480
+ "token_address": {
1481
+ "type": "string",
1482
+ "description": "0x-prefixed 20-byte EVM token contract address."
1483
+ },
1484
+ "chain": {
1485
+ "type": "string",
1486
+ "enum": [
1487
+ "base",
1488
+ "ethereum",
1489
+ "bsc"
1490
+ ],
1491
+ "description": "EVM chain. Default 'base'."
1492
+ }
1493
+ },
1494
+ "required": [
1495
+ "token_address"
1496
+ ]
1497
+ }
1498
+ },
869
1499
  {
870
1500
  "name": "token-price",
871
1501
  "http_name": "token-price",
872
- "description": "(0.02 USDC/call) Crypto token price API / CoinGecko wrapper. Lookup by id (bitcoin), symbol (BTC), or contract address (with chain). USD + native currency, 24h/7d change, market cap, volume, supply, ATH, ATL.",
1502
+ "description": "(0.02 USDC/call) Token price API / crypto price API / coin price lookup / BTC ETH SOL quote / ERC-20 SPL BEP-20 contract-address price lookup / CoinGecko market data wrapper. Resolves a query to a CoinGecko coin by id ('bitcoin', 'ethereum'), ticker symbol ('BTC', 'ETH'), or token contract address with chain. Returns spot price, quote currency, 24h / 7d / 30d change, market cap and rank, 24h volume, circulating / total / max supply, ATH/ATL with dates, and last-updated timestamp.",
873
1503
  "method": "POST",
874
1504
  "input_schema": {
875
1505
  "type": "object",
876
1506
  "properties": {
877
1507
  "query": {
878
1508
  "type": "string",
879
- "description": "CoinGecko id ('bitcoin'), symbol ('BTC'), or 0x address."
1509
+ "description": "Coin id ('bitcoin'), ticker ('BTC', case-insensitive), or contract address (0x... or chain-native). When passing a contract, set 'chain' to disambiguate."
880
1510
  },
881
1511
  "vs_currency": {
882
1512
  "type": "string",
883
- "description": "Default 'usd'."
1513
+ "description": "Quote currency. Default 'usd'. Any CoinGecko-supported fiat or crypto: usd, eur, gbp, jpy, btc, eth, etc."
884
1514
  },
885
1515
  "chain": {
886
1516
  "type": "string",
887
- "description": "For address queries: ethereum, base, arbitrum-one, polygon-pos, etc."
1517
+ "description": "Chain slug for contract-address lookups, e.g. 'ethereum', 'base', 'polygon-pos', 'arbitrum-one', 'optimistic-ethereum', 'solana'. Ignored if query is an id or ticker."
1518
+ }
1519
+ },
1520
+ "required": [
1521
+ "query"
1522
+ ]
1523
+ }
1524
+ },
1525
+ {
1526
+ "name": "token-price-api",
1527
+ "http_name": "token-price-api",
1528
+ "description": "(0.02 USDC/call) Token price API / ERC-20 SPL token price lookup / crypto spot price API. Resolves a coin id, ticker symbol, or contract address with chain and returns USD or requested quote currency, market cap, rank, volume, supply, ATH/ATL, and 24h / 7d / 30d changes. CoinGecko backend.",
1529
+ "method": "POST",
1530
+ "input_schema": {
1531
+ "type": "object",
1532
+ "properties": {
1533
+ "query": {
1534
+ "type": "string",
1535
+ "description": "Coin id ('bitcoin'), ticker ('BTC', case-insensitive), or contract address (0x... or chain-native). When passing a contract, set 'chain' to disambiguate."
1536
+ },
1537
+ "vs_currency": {
1538
+ "type": "string",
1539
+ "description": "Quote currency. Default 'usd'. Any CoinGecko-supported fiat or crypto: usd, eur, gbp, jpy, btc, eth, etc."
1540
+ },
1541
+ "chain": {
1542
+ "type": "string",
1543
+ "description": "Chain slug for contract-address lookups, e.g. 'ethereum', 'base', 'polygon-pos', 'arbitrum-one', 'optimistic-ethereum', 'solana'. Ignored if query is an id or ticker."
1544
+ }
1545
+ },
1546
+ "required": [
1547
+ "query"
1548
+ ]
1549
+ }
1550
+ },
1551
+ {
1552
+ "name": "token-price-lookup",
1553
+ "http_name": "token-price-lookup",
1554
+ "description": "(0.02 USDC/call) Token price lookup / ERC-20 SPL token price resolver / on-chain token quote API. Looks up a token by id, ticker, or contract address plus chain and returns spot price and market data from CoinGecko.",
1555
+ "method": "POST",
1556
+ "input_schema": {
1557
+ "type": "object",
1558
+ "properties": {
1559
+ "query": {
1560
+ "type": "string",
1561
+ "description": "Coin id ('bitcoin'), ticker ('BTC', case-insensitive), or contract address (0x... or chain-native). When passing a contract, set 'chain' to disambiguate."
1562
+ },
1563
+ "vs_currency": {
1564
+ "type": "string",
1565
+ "description": "Quote currency. Default 'usd'. Any CoinGecko-supported fiat or crypto: usd, eur, gbp, jpy, btc, eth, etc."
1566
+ },
1567
+ "chain": {
1568
+ "type": "string",
1569
+ "description": "Chain slug for contract-address lookups, e.g. 'ethereum', 'base', 'polygon-pos', 'arbitrum-one', 'optimistic-ethereum', 'solana'. Ignored if query is an id or ticker."
888
1570
  }
889
1571
  },
890
1572
  "required": [
@@ -946,6 +1628,33 @@ export const TOOLS = [
946
1628
  ]
947
1629
  }
948
1630
  },
1631
+ {
1632
+ "name": "token-security",
1633
+ "http_name": "token-security",
1634
+ "description": "(0.10 USDC/call) Token security check / token risk API / rug-pull detector. Scores an EVM token using honeypot simulation, GoPlus holder and ownership signals, and Etherscan contract age. Returns 0-100 safety score with warnings.",
1635
+ "method": "POST",
1636
+ "input_schema": {
1637
+ "type": "object",
1638
+ "properties": {
1639
+ "token_address": {
1640
+ "type": "string",
1641
+ "description": "0x-prefixed 20-byte EVM token contract address."
1642
+ },
1643
+ "chain": {
1644
+ "type": "string",
1645
+ "enum": [
1646
+ "base",
1647
+ "ethereum",
1648
+ "bsc"
1649
+ ],
1650
+ "description": "EVM chain. Default 'base'."
1651
+ }
1652
+ },
1653
+ "required": [
1654
+ "token_address"
1655
+ ]
1656
+ }
1657
+ },
949
1658
  {
950
1659
  "name": "token-volatility",
951
1660
  "http_name": "token-volatility",
@@ -968,6 +1677,29 @@ export const TOOLS = [
968
1677
  ]
969
1678
  }
970
1679
  },
1680
+ {
1681
+ "name": "trending",
1682
+ "http_name": "trending",
1683
+ "description": "(0.005 USDC/call) Trending Solana tokens / boosted token feed / active meme coin discovery. Same backend as solana-trending-tokens, exposed under the high-demand buyer slug. Ranks boosted Solana tokens by liquidity, volume, txns, boost activity, and price movement.",
1684
+ "method": "POST",
1685
+ "input_schema": {
1686
+ "type": "object",
1687
+ "properties": {
1688
+ "limit": {
1689
+ "type": "number",
1690
+ "description": "Max tokens to return. Range 1-50. Default 20."
1691
+ },
1692
+ "min_liquidity_usd": {
1693
+ "type": "number",
1694
+ "description": "Optional minimum pair liquidity filter."
1695
+ },
1696
+ "min_volume_24h_usd": {
1697
+ "type": "number",
1698
+ "description": "Optional minimum 24h volume filter."
1699
+ }
1700
+ }
1701
+ }
1702
+ },
971
1703
  {
972
1704
  "name": "tx-receipt-decode",
973
1705
  "http_name": "tx-receipt-decode",
@@ -1040,6 +1772,64 @@ export const TOOLS = [
1040
1772
  ]
1041
1773
  }
1042
1774
  },
1775
+ {
1776
+ "name": "wallet-current-balance",
1777
+ "http_name": "wallet-current-balance",
1778
+ "description": "(0.002 USDC/call) Wallet current balance API / ERC-20 wallet balance / treasury balance check. Same read-only public-RPC backend as erc20-balance, listed under wallet wording for agents reconciling payment wallets, treasuries, and token holdings.",
1779
+ "method": "POST",
1780
+ "input_schema": {
1781
+ "type": "object",
1782
+ "properties": {
1783
+ "token": {
1784
+ "type": "string",
1785
+ "description": "ERC-20 contract address (0x...)."
1786
+ },
1787
+ "wallet": {
1788
+ "type": "string",
1789
+ "description": "Wallet address to query (0x...)."
1790
+ },
1791
+ "chain": {
1792
+ "description": "Chain id or slug. Default 'base'; also ethereum, arbitrum, optimism, polygon, bsc, avalanche."
1793
+ },
1794
+ "block": {
1795
+ "description": "'latest' default, or hex/decimal block number."
1796
+ }
1797
+ },
1798
+ "required": [
1799
+ "token",
1800
+ "wallet"
1801
+ ]
1802
+ }
1803
+ },
1804
+ {
1805
+ "name": "wallet-details",
1806
+ "http_name": "wallet-details",
1807
+ "description": "(0.005 USDC/call) Wallet details API / address details / wallet label / EVM address lookup. Returns best-effort label/category, EOA-vs-contract status, contract deployer, and creation transaction for an EVM address on Base, Ethereum, Polygon, Arbitrum, or Optimism. Uses an in-handler known-address dictionary plus Etherscan v2 contract-creation lookup. Read-only; no balances, custody, transfers, or investment advice.",
1808
+ "method": "POST",
1809
+ "input_schema": {
1810
+ "type": "object",
1811
+ "properties": {
1812
+ "address": {
1813
+ "type": "string",
1814
+ "description": "0x-prefixed 20-byte EVM address."
1815
+ },
1816
+ "chain": {
1817
+ "type": "string",
1818
+ "enum": [
1819
+ "base",
1820
+ "ethereum",
1821
+ "polygon",
1822
+ "arbitrum",
1823
+ "optimism"
1824
+ ],
1825
+ "description": "EVM chain. Default 'ethereum'."
1826
+ }
1827
+ },
1828
+ "required": [
1829
+ "address"
1830
+ ]
1831
+ }
1832
+ },
1043
1833
  {
1044
1834
  "name": "wallet-label",
1045
1835
  "http_name": "wallet-label",
@@ -1102,5 +1892,28 @@ export const TOOLS = [
1102
1892
  "token_address"
1103
1893
  ]
1104
1894
  }
1895
+ },
1896
+ {
1897
+ "name": "watchlist",
1898
+ "http_name": "watchlist",
1899
+ "description": "(0.005 USDC/call) Solana token watchlist / active token safety watchlist. Same DEX Screener market-data backend as solana-token-watchlist, exposed under the high-demand buyer slug. Returns price, liquidity, 24h volume, txns, price change, pair age, links, activity score, and risk flags.",
1900
+ "method": "POST",
1901
+ "input_schema": {
1902
+ "type": "object",
1903
+ "properties": {
1904
+ "limit": {
1905
+ "type": "number",
1906
+ "description": "Max tokens to return. Range 1-50. Default 20."
1907
+ },
1908
+ "min_liquidity_usd": {
1909
+ "type": "number",
1910
+ "description": "Optional minimum pair liquidity filter."
1911
+ },
1912
+ "min_volume_24h_usd": {
1913
+ "type": "number",
1914
+ "description": "Optional minimum 24h volume filter."
1915
+ }
1916
+ }
1917
+ }
1105
1918
  }
1106
1919
  ];