@agentutility/mcp-edge-market 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +110 -0
- package/dist/index.js +86 -0
- package/dist/tools.generated.js +1106 -0
- package/package.json +46 -0
|
@@ -0,0 +1,1106 @@
|
|
|
1
|
+
/** Auto-generated by scripts/generate-mcp-clusters.mjs. Do not edit by hand. */
|
|
2
|
+
export const CLUSTER_SLUG = "edge-market";
|
|
3
|
+
export const VERSION = "0.1.8";
|
|
4
|
+
export const TOOLS = [
|
|
5
|
+
{
|
|
6
|
+
"name": "agent-card-resolve",
|
|
7
|
+
"http_name": "agent-card-resolve",
|
|
8
|
+
"description": "(0.005 USDC/call) Agent card resolver / ERC-8004 Identity Registry lookup / Trustless Agents / agentId → owner + agentURI / A2A identity / agent.json fetch / on-chain agent metadata. Pass an ERC-8004 agentId (uint256 on Base) — returns the on-chain owner address, the agentURI from the Identity Registry, and the resolved agent card JSON (set fetch_card=false to skip the HTTP follow-up). Reads from Base mainnet Identity Registry 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 via a static eth_call (no gas, no wallet). Useful for agents discovering peers in the A2A ecosystem.",
|
|
9
|
+
"method": "POST",
|
|
10
|
+
"input_schema": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"properties": {
|
|
13
|
+
"agent_id": {
|
|
14
|
+
"type": [
|
|
15
|
+
"integer",
|
|
16
|
+
"string"
|
|
17
|
+
],
|
|
18
|
+
"description": "ERC-8004 agentId on Base — non-negative integer. Accepted as number or decimal string."
|
|
19
|
+
},
|
|
20
|
+
"fetch_card": {
|
|
21
|
+
"type": "boolean",
|
|
22
|
+
"description": "If true (default), also fetches the resolved agentURI and embeds the JSON agent card in the response. Set false to skip the HTTP fetch."
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"required": [
|
|
26
|
+
"agent_id"
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "arbitrage-spread",
|
|
32
|
+
"http_name": "arbitrage-spread",
|
|
33
|
+
"description": "(0.005 USDC/call) Cross-exchange arbitrage spread / max-min price / CEX price dispersion / spread % calculator. For any CoinGecko-listed coin, pulls every tracked exchange ticker, computes the lowest and highest USD-converted prices, the spread %, and identifies which exchanges sit at each extreme plus the highest-volume venue. Filters out stale or anomalous tickers.",
|
|
34
|
+
"method": "POST",
|
|
35
|
+
"input_schema": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"properties": {
|
|
38
|
+
"coingecko_id": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"description": "CoinGecko coin id (e.g. 'ethereum', 'bitcoin')."
|
|
41
|
+
},
|
|
42
|
+
"target": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"description": "Quote currency to filter for (e.g. 'USDT'). Optional — converted USD prices are used regardless."
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"required": [
|
|
48
|
+
"coingecko_id"
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "basename-resolve",
|
|
54
|
+
"http_name": "basename-resolve",
|
|
55
|
+
"description": "(0.005 USDC/call) Basename resolver / Coinbase Basenames / .base.eth lookup / Base name service / on-chain name resolution. Forward: pass a basename like 'alice.base.eth' (bare names are auto-suffixed with .base.eth) → returns the registered Ethereum address. Reverse: pass a 0x address → returns the primary basename, if any. Also returns avatar / url / com.twitter / com.github / email / com.discord text records on forward lookups (override with `text_records`). Reads from Base mainnet L2 Resolver 0xC6d566A56A1aFf6508b41f6c90ff131615583BCD via a static eth_call (no gas, no wallet, no API key). Useful for agent-payment flows that need to translate human names to Base addresses.",
|
|
56
|
+
"method": "POST",
|
|
57
|
+
"input_schema": {
|
|
58
|
+
"type": "object",
|
|
59
|
+
"properties": {
|
|
60
|
+
"query": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"description": "A basename ('alice.base.eth' or bare 'alice') for forward, OR a 0x address for reverse."
|
|
63
|
+
},
|
|
64
|
+
"text_records": {
|
|
65
|
+
"type": "array",
|
|
66
|
+
"items": {
|
|
67
|
+
"type": "string"
|
|
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."
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"required": [
|
|
73
|
+
"query"
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "bridge-rates",
|
|
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.",
|
|
81
|
+
"method": "POST",
|
|
82
|
+
"input_schema": {
|
|
83
|
+
"type": "object",
|
|
84
|
+
"properties": {
|
|
85
|
+
"from_chain": {
|
|
86
|
+
"type": "number",
|
|
87
|
+
"description": "Source chain id. EVM chain id (1=Ethereum, 8453=Base, 42161=Arbitrum One, 10=Optimism, 137=Polygon, 56=BNB Chain)."
|
|
88
|
+
},
|
|
89
|
+
"to_chain": {
|
|
90
|
+
"type": "number",
|
|
91
|
+
"description": "Destination chain id (same id space as from_chain)."
|
|
92
|
+
},
|
|
93
|
+
"from_token": {
|
|
94
|
+
"type": "string",
|
|
95
|
+
"description": "Source token contract address. Use '0x0000000000000000000000000000000000000000' for the chain's native gas token (ETH, MATIC, BNB)."
|
|
96
|
+
},
|
|
97
|
+
"to_token": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"description": "Destination token contract address. Same '0x000...' convention for native."
|
|
100
|
+
},
|
|
101
|
+
"amount": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"description": "Source amount in the token's smallest unit (e.g. wei for ETH, '1000000000000000000' = 1 ETH; '1000000' = 1 USDC at 6 decimals)."
|
|
104
|
+
},
|
|
105
|
+
"from_address": {
|
|
106
|
+
"type": "string",
|
|
107
|
+
"description": "Optional EVM address of the sender. Required for slippage-checked + ready-to-sign quotes."
|
|
108
|
+
},
|
|
109
|
+
"to_address": {
|
|
110
|
+
"type": "string",
|
|
111
|
+
"description": "Optional EVM destination address. Defaults to from_address."
|
|
112
|
+
},
|
|
113
|
+
"slippage": {
|
|
114
|
+
"type": "number",
|
|
115
|
+
"description": "Max slippage as decimal fraction (0.01 = 1%). Default 0.005."
|
|
116
|
+
},
|
|
117
|
+
"limit": {
|
|
118
|
+
"type": "number",
|
|
119
|
+
"description": "Max routes to return. 1-10. Default 5."
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"required": [
|
|
123
|
+
"from_chain",
|
|
124
|
+
"to_chain",
|
|
125
|
+
"from_token",
|
|
126
|
+
"to_token",
|
|
127
|
+
"amount"
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"name": "contract-source",
|
|
133
|
+
"http_name": "contract-source",
|
|
134
|
+
"description": "(0.01 USDC/call) Verified contract source code / Etherscan source / contract ABI fetcher / Solidity source lookup. For any deployed contract on Ethereum, Base, Optimism, Arbitrum, or Polygon: returns is_verified, contract name, compiler version, parsed ABI, full source, license, optimizer settings, constructor args, and proxy implementation address.",
|
|
135
|
+
"method": "POST",
|
|
136
|
+
"input_schema": {
|
|
137
|
+
"type": "object",
|
|
138
|
+
"properties": {
|
|
139
|
+
"address": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"description": "0x-prefixed 20-byte EVM contract address."
|
|
142
|
+
},
|
|
143
|
+
"chain": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"enum": [
|
|
146
|
+
"base",
|
|
147
|
+
"ethereum",
|
|
148
|
+
"polygon",
|
|
149
|
+
"arbitrum",
|
|
150
|
+
"optimism"
|
|
151
|
+
],
|
|
152
|
+
"description": "EVM chain. Default 'base'. Other supported: 'ethereum', 'polygon', 'arbitrum', 'optimism'."
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
"required": [
|
|
156
|
+
"address"
|
|
157
|
+
]
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"name": "contract-source-verified",
|
|
162
|
+
"http_name": "contract-source-verified",
|
|
163
|
+
"description": "(0.01 USDC/call) Verified contract source code / Etherscan source / Basescan ABI / Solidity source lookup / contract verification check / ABI fetcher / Etherscan-getsourcecode wrapper. For a deployed contract on Ethereum, Optimism, Polygon, Base, or Arbitrum, returns whether the source is verified, the contract name, compiler version, parsed ABI (as a JSON array, not a string), full Solidity source code (multi-file sources reassembled with '// File: ...' separators), license type, optimizer settings, constructor arguments, and — for proxy contracts — the implementation address. Wraps Etherscan v2's multichain getsourcecode endpoint.",
|
|
164
|
+
"method": "POST",
|
|
165
|
+
"input_schema": {
|
|
166
|
+
"type": "object",
|
|
167
|
+
"properties": {
|
|
168
|
+
"address": {
|
|
169
|
+
"type": "string",
|
|
170
|
+
"description": "0x-prefixed 20-byte EVM contract address."
|
|
171
|
+
},
|
|
172
|
+
"chain": {
|
|
173
|
+
"type": "string",
|
|
174
|
+
"enum": [
|
|
175
|
+
"base",
|
|
176
|
+
"ethereum",
|
|
177
|
+
"polygon",
|
|
178
|
+
"arbitrum",
|
|
179
|
+
"optimism"
|
|
180
|
+
],
|
|
181
|
+
"description": "EVM chain. Default 'base'. Other supported: 'ethereum', 'polygon', 'arbitrum', 'optimism'."
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
"required": [
|
|
185
|
+
"address"
|
|
186
|
+
]
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"name": "crypto-tx-explainer",
|
|
191
|
+
"http_name": "crypto-tx-explainer",
|
|
192
|
+
"description": "(0.04 USDC/call) Ethereum/Base/Arbitrum/Optimism/Polygon transaction explainer. Returns receipt + ERC20/ERC721 transfers + contracts + fees + plain-English explanation (Venice).",
|
|
193
|
+
"method": "POST",
|
|
194
|
+
"input_schema": {
|
|
195
|
+
"type": "object",
|
|
196
|
+
"properties": {
|
|
197
|
+
"tx_hash": {
|
|
198
|
+
"type": "string",
|
|
199
|
+
"description": "Transaction hash (0x-prefixed) to look up on the chosen EVM chain."
|
|
200
|
+
},
|
|
201
|
+
"chain": {
|
|
202
|
+
"type": "string",
|
|
203
|
+
"enum": [
|
|
204
|
+
"ethereum",
|
|
205
|
+
"base",
|
|
206
|
+
"arbitrum",
|
|
207
|
+
"optimism",
|
|
208
|
+
"polygon"
|
|
209
|
+
],
|
|
210
|
+
"description": "EVM chain to query: ethereum, base, arbitrum, optimism, or polygon."
|
|
211
|
+
},
|
|
212
|
+
"explain": {
|
|
213
|
+
"type": "boolean",
|
|
214
|
+
"description": "If true, generates the plain-English Venice explanation alongside the raw receipt data."
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
"required": [
|
|
218
|
+
"tx_hash"
|
|
219
|
+
]
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"name": "dao-proposal-monitor",
|
|
224
|
+
"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.",
|
|
226
|
+
"method": "POST",
|
|
227
|
+
"input_schema": {
|
|
228
|
+
"type": "object",
|
|
229
|
+
"properties": {
|
|
230
|
+
"space": {
|
|
231
|
+
"type": "string",
|
|
232
|
+
"description": "Snapshot space (e.g. 'aave.eth')."
|
|
233
|
+
},
|
|
234
|
+
"state": {
|
|
235
|
+
"type": "string",
|
|
236
|
+
"enum": [
|
|
237
|
+
"active",
|
|
238
|
+
"closed",
|
|
239
|
+
"pending",
|
|
240
|
+
"all"
|
|
241
|
+
],
|
|
242
|
+
"description": "Filter by proposal state. Default 'all'."
|
|
243
|
+
},
|
|
244
|
+
"limit": {
|
|
245
|
+
"type": "number",
|
|
246
|
+
"description": "Max proposals to return. 1-50. Default 10 (most-recent-first)."
|
|
247
|
+
},
|
|
248
|
+
"summarize": {
|
|
249
|
+
"type": "boolean",
|
|
250
|
+
"description": "If true, generates a Venice-LLM TLDR per proposal (extra latency). Default false."
|
|
251
|
+
}
|
|
252
|
+
},
|
|
253
|
+
"required": [
|
|
254
|
+
"space"
|
|
255
|
+
]
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"name": "defi-llama-protocol",
|
|
260
|
+
"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.",
|
|
262
|
+
"method": "POST",
|
|
263
|
+
"input_schema": {
|
|
264
|
+
"type": "object",
|
|
265
|
+
"properties": {
|
|
266
|
+
"protocol": {
|
|
267
|
+
"type": "string",
|
|
268
|
+
"description": "DefiLlama slug (e.g. 'aave', 'lido')."
|
|
269
|
+
},
|
|
270
|
+
"include_tvl_series": {
|
|
271
|
+
"type": "boolean",
|
|
272
|
+
"description": "If true, attach the full historical TVL time-series under tvl_summary.series. Adds significant payload size. Default false."
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
|
+
"required": [
|
|
276
|
+
"protocol"
|
|
277
|
+
]
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"name": "defi-yield-pools",
|
|
282
|
+
"http_name": "defi-yield-pools",
|
|
283
|
+
"description": "(0.005 USDC/call) DeFi yield pools / APY aggregator / yield-farming opportunities / DeFiLlama yields / cross-protocol APY ranking / stablecoin yields / LP pool returns. Filter and rank thousands of DeFi yield-bearing pools across every chain DeFiLlama tracks. Filters: chain, project, asset symbol, stablecoin-only, single-vs-LP exposure, TVL minimum, APY range, impermanent-loss risk. Returns pool ID, chain, project, symbol, current APY (base + reward), 30-day mean APY, day/week/month APY change, TVL, exposure, IL risk, and predicted-class. Differentiates from defi-llama-protocol (single-protocol TVL) — this is the yield-discovery surface.",
|
|
284
|
+
"method": "POST",
|
|
285
|
+
"input_schema": {
|
|
286
|
+
"type": "object",
|
|
287
|
+
"properties": {
|
|
288
|
+
"chain": {
|
|
289
|
+
"type": "string",
|
|
290
|
+
"description": "e.g. 'Ethereum', 'Base', 'Arbitrum'. Exact-case match against DeFiLlama's chain field."
|
|
291
|
+
},
|
|
292
|
+
"project": {
|
|
293
|
+
"type": "string",
|
|
294
|
+
"description": "e.g. 'aave-v3', 'lido', 'uniswap-v3'. Exact match against DeFiLlama project slug."
|
|
295
|
+
},
|
|
296
|
+
"symbol": {
|
|
297
|
+
"type": "string",
|
|
298
|
+
"description": "Substring match against pool symbol, e.g. 'USDC'."
|
|
299
|
+
},
|
|
300
|
+
"stablecoin_only": {
|
|
301
|
+
"type": "boolean",
|
|
302
|
+
"description": "Only stablecoin pools."
|
|
303
|
+
},
|
|
304
|
+
"single_only": {
|
|
305
|
+
"type": "boolean",
|
|
306
|
+
"description": "Only single-asset exposure (excludes LP pairs)."
|
|
307
|
+
},
|
|
308
|
+
"min_tvl_usd": {
|
|
309
|
+
"type": "number",
|
|
310
|
+
"description": "Minimum TVL in USD."
|
|
311
|
+
},
|
|
312
|
+
"min_apy": {
|
|
313
|
+
"type": "number",
|
|
314
|
+
"description": "Minimum APY %."
|
|
315
|
+
},
|
|
316
|
+
"max_apy": {
|
|
317
|
+
"type": "number",
|
|
318
|
+
"description": "Maximum APY % (filters out outliers)."
|
|
319
|
+
},
|
|
320
|
+
"il_risk": {
|
|
321
|
+
"type": "string",
|
|
322
|
+
"enum": [
|
|
323
|
+
"no",
|
|
324
|
+
"yes"
|
|
325
|
+
],
|
|
326
|
+
"description": "Filter by impermanent-loss risk classification."
|
|
327
|
+
},
|
|
328
|
+
"order_by": {
|
|
329
|
+
"type": "string",
|
|
330
|
+
"enum": [
|
|
331
|
+
"apy",
|
|
332
|
+
"tvlUsd",
|
|
333
|
+
"apyBase",
|
|
334
|
+
"apyReward"
|
|
335
|
+
],
|
|
336
|
+
"description": "Default 'apy'."
|
|
337
|
+
},
|
|
338
|
+
"limit": {
|
|
339
|
+
"type": "number",
|
|
340
|
+
"description": "1-500. Default 50."
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
"name": "dex-liquidity-depth",
|
|
347
|
+
"http_name": "dex-liquidity-depth",
|
|
348
|
+
"description": "(0.01 USDC/call) DEX liquidity depth / pool TVL aggregator / total liquidity per token / on-chain liquidity audit. Sums TVL across every DefiLlama-tracked yield pool that holds a given ERC-20 on Ethereum, Base, Polygon, Arbitrum, or Optimism. Returns per-pool TVL + APY plus total liquidity in USD and the deepest pool. Free public DefiLlama backend, no auth.",
|
|
349
|
+
"method": "POST",
|
|
350
|
+
"input_schema": {
|
|
351
|
+
"type": "object",
|
|
352
|
+
"properties": {
|
|
353
|
+
"token_address": {
|
|
354
|
+
"type": "string",
|
|
355
|
+
"description": "0x-prefixed 20-byte ERC-20 contract address."
|
|
356
|
+
},
|
|
357
|
+
"chain": {
|
|
358
|
+
"type": "string",
|
|
359
|
+
"enum": [
|
|
360
|
+
"base",
|
|
361
|
+
"ethereum",
|
|
362
|
+
"polygon",
|
|
363
|
+
"arbitrum",
|
|
364
|
+
"optimism"
|
|
365
|
+
],
|
|
366
|
+
"description": "EVM chain. Default 'base'."
|
|
367
|
+
}
|
|
368
|
+
},
|
|
369
|
+
"required": [
|
|
370
|
+
"token_address"
|
|
371
|
+
]
|
|
372
|
+
}
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"name": "ens-resolve",
|
|
376
|
+
"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).",
|
|
378
|
+
"method": "POST",
|
|
379
|
+
"input_schema": {
|
|
380
|
+
"type": "object",
|
|
381
|
+
"properties": {
|
|
382
|
+
"query": {
|
|
383
|
+
"type": "string",
|
|
384
|
+
"description": "ENS name (vitalik.eth) or 0x address."
|
|
385
|
+
},
|
|
386
|
+
"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."
|
|
389
|
+
}
|
|
390
|
+
},
|
|
391
|
+
"required": [
|
|
392
|
+
"query"
|
|
393
|
+
]
|
|
394
|
+
}
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
"name": "erc20-balance",
|
|
398
|
+
"http_name": "erc20-balance",
|
|
399
|
+
"description": "(0.002 USDC/call) ERC-20 balance reader / balanceOf / on-chain token balance / wallet balance lookup / multi-chain ERC20 balance / read Base / read Ethereum / read Arbitrum / read Optimism / read Polygon. Reads balanceOf(wallet) on a token contract across any supported EVM chain via public RPC (no API key needed). Co-fetches decimals to return both raw bigint and decimal-formatted balance. Supports historical block parameter. Useful for agent wallet introspection, payment reconciliation, treasury monitoring.",
|
|
400
|
+
"method": "POST",
|
|
401
|
+
"input_schema": {
|
|
402
|
+
"type": "object",
|
|
403
|
+
"properties": {
|
|
404
|
+
"token": {
|
|
405
|
+
"type": "string",
|
|
406
|
+
"description": "ERC-20 contract address (0x...)."
|
|
407
|
+
},
|
|
408
|
+
"wallet": {
|
|
409
|
+
"type": "string",
|
|
410
|
+
"description": "Wallet address to query (0x...)."
|
|
411
|
+
},
|
|
412
|
+
"chain": {
|
|
413
|
+
"description": "Chain id or slug. 8453|'base' (default), 1|'ethereum', 42161|'arbitrum', 10|'optimism', 137|'polygon', 56|'bsc', 43114|'avalanche'."
|
|
414
|
+
},
|
|
415
|
+
"block": {
|
|
416
|
+
"description": "'latest' default, or hex/decimal block number for historical reads."
|
|
417
|
+
}
|
|
418
|
+
},
|
|
419
|
+
"required": [
|
|
420
|
+
"token",
|
|
421
|
+
"wallet"
|
|
422
|
+
]
|
|
423
|
+
}
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
"name": "erc20-metadata",
|
|
427
|
+
"http_name": "erc20-metadata",
|
|
428
|
+
"description": "(0.002 USDC/call) ERC-20 metadata reader / token info / token symbol lookup / token decimals / total supply / multi-chain ERC20 reader / Base / Ethereum / Arbitrum / Optimism / Polygon / BSC / Avalanche. Reads name(), symbol(), decimals(), totalSupply() in parallel via public RPC. Robust to non-standard tokens that return bytes32 instead of string (MakerDAO MKR pattern is decoded). Returns formatted total supply when decimals are present, plus a chain-appropriate block explorer URL.",
|
|
429
|
+
"method": "POST",
|
|
430
|
+
"input_schema": {
|
|
431
|
+
"type": "object",
|
|
432
|
+
"properties": {
|
|
433
|
+
"token": {
|
|
434
|
+
"type": "string",
|
|
435
|
+
"description": "ERC-20 contract address (0x...)."
|
|
436
|
+
},
|
|
437
|
+
"chain": {
|
|
438
|
+
"description": "Chain id or slug. 8453|'base' (default), 1|'ethereum', 42161|'arbitrum', 10|'optimism', 137|'polygon', 56|'bsc', 43114|'avalanche'."
|
|
439
|
+
},
|
|
440
|
+
"block": {
|
|
441
|
+
"description": "'latest' default, or hex/decimal block number."
|
|
442
|
+
}
|
|
443
|
+
},
|
|
444
|
+
"required": [
|
|
445
|
+
"token"
|
|
446
|
+
]
|
|
447
|
+
}
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"name": "eth-logs",
|
|
451
|
+
"http_name": "eth-logs",
|
|
452
|
+
"description": "(0.01 USDC/call) eth_getLogs / on-chain event logs / EVM event reader / Transfer event scan / ERC20 Transfer logs / NFT mint logs / DEX swap events / multi-chain log scanner / log indexer / smart contract event reader. Generic eth_getLogs across Base / Ethereum / Arbitrum / Optimism / Polygon / BSC via public no-auth RPC. Supports address + up to 4 topics (with OR arrays), from/to block range, and a 'last_n_blocks' convenience param. Hard-capped at 5,000 logs and 10,000-block range per call.",
|
|
453
|
+
"method": "POST",
|
|
454
|
+
"input_schema": {
|
|
455
|
+
"type": "object",
|
|
456
|
+
"properties": {
|
|
457
|
+
"chain": {
|
|
458
|
+
"description": "Chain id or slug. Default 'base'. Supported: 8453|'base', 1|'ethereum', 42161|'arbitrum', 10|'optimism', 137|'polygon', 56|'bsc'."
|
|
459
|
+
},
|
|
460
|
+
"address": {
|
|
461
|
+
"description": "Contract address (0x..., string or array of strings). Optional."
|
|
462
|
+
},
|
|
463
|
+
"topics": {
|
|
464
|
+
"type": "array",
|
|
465
|
+
"description": "Up to 4 topics. Each element: hex string (32 bytes), array of hex strings (OR-filter), or null (wildcard at that position)."
|
|
466
|
+
},
|
|
467
|
+
"from_block": {
|
|
468
|
+
"description": "Hex string ('0x...'), decimal number, or 'latest'/'earliest'/'pending'/'safe'/'finalized'."
|
|
469
|
+
},
|
|
470
|
+
"to_block": {
|
|
471
|
+
"description": "Same shape as from_block. Default 'latest'."
|
|
472
|
+
},
|
|
473
|
+
"last_n_blocks": {
|
|
474
|
+
"type": "number",
|
|
475
|
+
"description": "Convenience: query the last N blocks. Overrides from/to_block."
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
},
|
|
480
|
+
{
|
|
481
|
+
"name": "funding-rates",
|
|
482
|
+
"http_name": "funding-rates",
|
|
483
|
+
"description": "(0.002 USDC/call) Perp funding rates / Binance USD-M futures funding / next-funding-time / 24h history / perp basis. Current funding %, mark + index price, next funding timestamp, and last 24 funding intervals (default 24 × 1h-since-event) for any Binance USD-M futures symbol (BTCUSDT, ETHUSDT, SOLUSDT…). Free public Binance API — no auth.",
|
|
484
|
+
"method": "POST",
|
|
485
|
+
"input_schema": {
|
|
486
|
+
"type": "object",
|
|
487
|
+
"properties": {
|
|
488
|
+
"symbol": {
|
|
489
|
+
"type": "string",
|
|
490
|
+
"description": "Binance futures symbol — uppercase, no slash. e.g. 'BTCUSDT', 'ETHUSDT'."
|
|
491
|
+
},
|
|
492
|
+
"history_intervals": {
|
|
493
|
+
"type": "number",
|
|
494
|
+
"description": "How many past funding events to include. Range [1, 48]. Default 24."
|
|
495
|
+
}
|
|
496
|
+
},
|
|
497
|
+
"required": [
|
|
498
|
+
"symbol"
|
|
499
|
+
]
|
|
500
|
+
}
|
|
501
|
+
},
|
|
502
|
+
{
|
|
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.",
|
|
506
|
+
"method": "POST",
|
|
507
|
+
"input_schema": {
|
|
508
|
+
"type": "object",
|
|
509
|
+
"properties": {
|
|
510
|
+
"chain": {
|
|
511
|
+
"type": "string",
|
|
512
|
+
"enum": [
|
|
513
|
+
"base",
|
|
514
|
+
"ethereum",
|
|
515
|
+
"optimism",
|
|
516
|
+
"arbitrum",
|
|
517
|
+
"polygon"
|
|
518
|
+
],
|
|
519
|
+
"description": "EVM L1/L2 to read gas from. Default 'base'."
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
},
|
|
524
|
+
{
|
|
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.",
|
|
528
|
+
"method": "POST",
|
|
529
|
+
"input_schema": {
|
|
530
|
+
"type": "object",
|
|
531
|
+
"properties": {
|
|
532
|
+
"chain": {
|
|
533
|
+
"type": "string",
|
|
534
|
+
"enum": [
|
|
535
|
+
"base",
|
|
536
|
+
"ethereum",
|
|
537
|
+
"optimism",
|
|
538
|
+
"arbitrum",
|
|
539
|
+
"polygon"
|
|
540
|
+
],
|
|
541
|
+
"description": "EVM L1/L2 to read gas from. Default 'base'."
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
},
|
|
546
|
+
{
|
|
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.",
|
|
550
|
+
"method": "POST",
|
|
551
|
+
"input_schema": {
|
|
552
|
+
"type": "object",
|
|
553
|
+
"properties": {
|
|
554
|
+
"token_address": {
|
|
555
|
+
"type": "string",
|
|
556
|
+
"description": "0x-prefixed 20-byte EVM token contract address."
|
|
557
|
+
},
|
|
558
|
+
"chain": {
|
|
559
|
+
"type": "string",
|
|
560
|
+
"enum": [
|
|
561
|
+
"base",
|
|
562
|
+
"ethereum",
|
|
563
|
+
"bsc"
|
|
564
|
+
],
|
|
565
|
+
"description": "EVM chain. Default 'base'."
|
|
566
|
+
}
|
|
567
|
+
},
|
|
568
|
+
"required": [
|
|
569
|
+
"token_address"
|
|
570
|
+
]
|
|
571
|
+
}
|
|
572
|
+
},
|
|
573
|
+
{
|
|
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.",
|
|
577
|
+
"method": "POST",
|
|
578
|
+
"input_schema": {
|
|
579
|
+
"type": "object",
|
|
580
|
+
"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": {
|
|
594
|
+
"type": "string",
|
|
595
|
+
"enum": [
|
|
596
|
+
"base64",
|
|
597
|
+
"text",
|
|
598
|
+
"json"
|
|
599
|
+
],
|
|
600
|
+
"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."
|
|
601
|
+
}
|
|
602
|
+
},
|
|
603
|
+
"required": [
|
|
604
|
+
"cid"
|
|
605
|
+
]
|
|
606
|
+
}
|
|
607
|
+
},
|
|
608
|
+
{
|
|
609
|
+
"name": "lp-lock-check",
|
|
610
|
+
"http_name": "lp-lock-check",
|
|
611
|
+
"description": "(0.01 USDC/call) LP lock check / liquidity-lock auditor / Unicrypt + Team Finance + burn-address detection. For any LP token (Uniswap V2-shaped) on Ethereum or Base, reports the % of supply held by the canonical LP-locker contracts (Unicrypt v2, Team Finance) plus burn addresses (0x0, 0xdead). Returns a verdict of locked (≥95%), partial (1-95%), or none. Useful for detecting rug-pull risk before swapping into a new pair.",
|
|
612
|
+
"method": "POST",
|
|
613
|
+
"input_schema": {
|
|
614
|
+
"type": "object",
|
|
615
|
+
"properties": {
|
|
616
|
+
"lp_token_address": {
|
|
617
|
+
"type": "string",
|
|
618
|
+
"description": "0x-prefixed 20-byte LP token (Uniswap V2 pair) address."
|
|
619
|
+
},
|
|
620
|
+
"chain": {
|
|
621
|
+
"type": "string",
|
|
622
|
+
"enum": [
|
|
623
|
+
"base",
|
|
624
|
+
"ethereum",
|
|
625
|
+
"polygon",
|
|
626
|
+
"arbitrum",
|
|
627
|
+
"optimism"
|
|
628
|
+
],
|
|
629
|
+
"description": "EVM chain. Default 'base'."
|
|
630
|
+
}
|
|
631
|
+
},
|
|
632
|
+
"required": [
|
|
633
|
+
"lp_token_address"
|
|
634
|
+
]
|
|
635
|
+
}
|
|
636
|
+
},
|
|
637
|
+
{
|
|
638
|
+
"name": "nft-floor",
|
|
639
|
+
"http_name": "nft-floor",
|
|
640
|
+
"description": "(0.01 USDC/call) NFT collection floor + recent sales via Reservoir. Ethereum / Base / Arbitrum / Optimism / Polygon. Floor, top bid, 24h/7d/30d volume + change, ranks, recent sales.",
|
|
641
|
+
"method": "POST",
|
|
642
|
+
"input_schema": {
|
|
643
|
+
"type": "object",
|
|
644
|
+
"properties": {
|
|
645
|
+
"collection": {
|
|
646
|
+
"type": "string",
|
|
647
|
+
"description": "Slug or contract address."
|
|
648
|
+
},
|
|
649
|
+
"chain": {
|
|
650
|
+
"type": "string",
|
|
651
|
+
"enum": [
|
|
652
|
+
"ethereum",
|
|
653
|
+
"base",
|
|
654
|
+
"arbitrum",
|
|
655
|
+
"optimism",
|
|
656
|
+
"polygon"
|
|
657
|
+
],
|
|
658
|
+
"description": "EVM chain to query: ethereum, base, arbitrum, optimism, or polygon."
|
|
659
|
+
},
|
|
660
|
+
"include_recent_sales": {
|
|
661
|
+
"type": "boolean",
|
|
662
|
+
"description": "When true, includes a recent_sales array of the latest transactions for the collection."
|
|
663
|
+
},
|
|
664
|
+
"recent_sales_limit": {
|
|
665
|
+
"type": "number",
|
|
666
|
+
"description": "Max number of recent sales to return when include_recent_sales is true."
|
|
667
|
+
}
|
|
668
|
+
},
|
|
669
|
+
"required": [
|
|
670
|
+
"collection"
|
|
671
|
+
]
|
|
672
|
+
}
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
"name": "price-impact",
|
|
676
|
+
"http_name": "price-impact",
|
|
677
|
+
"description": "(0.005 USDC/call) Price-impact / slippage estimator / DEX swap size impact / size-keyed quote / depth simulation. For a (from_token, to_token, chain), pulls aggregator quotes (LlamaSwap meta-aggregator, free public) at multiple USD sizes and reports per-size effective price + slippage versus the smallest size. Use to size a fill before submitting it on-chain.",
|
|
678
|
+
"method": "POST",
|
|
679
|
+
"input_schema": {
|
|
680
|
+
"type": "object",
|
|
681
|
+
"properties": {
|
|
682
|
+
"from_token": {
|
|
683
|
+
"type": "string",
|
|
684
|
+
"description": "0x-prefixed 20-byte ERC-20 input token."
|
|
685
|
+
},
|
|
686
|
+
"to_token": {
|
|
687
|
+
"type": "string",
|
|
688
|
+
"description": "0x-prefixed 20-byte ERC-20 output token."
|
|
689
|
+
},
|
|
690
|
+
"chain": {
|
|
691
|
+
"type": "string",
|
|
692
|
+
"enum": [
|
|
693
|
+
"base",
|
|
694
|
+
"ethereum",
|
|
695
|
+
"polygon",
|
|
696
|
+
"arbitrum",
|
|
697
|
+
"optimism"
|
|
698
|
+
],
|
|
699
|
+
"description": "EVM chain. Default 'base'."
|
|
700
|
+
},
|
|
701
|
+
"sizes_usd": {
|
|
702
|
+
"type": "array",
|
|
703
|
+
"items": {
|
|
704
|
+
"type": "number"
|
|
705
|
+
},
|
|
706
|
+
"description": "USD sizes to quote at, sorted ascending. Up to 5. Default [100, 1000, 10000]."
|
|
707
|
+
}
|
|
708
|
+
},
|
|
709
|
+
"required": [
|
|
710
|
+
"from_token",
|
|
711
|
+
"to_token"
|
|
712
|
+
]
|
|
713
|
+
}
|
|
714
|
+
},
|
|
715
|
+
{
|
|
716
|
+
"name": "safe-multisig-status",
|
|
717
|
+
"http_name": "safe-multisig-status",
|
|
718
|
+
"description": "(0.005 USDC/call) Safe multisig status / Gnosis Safe info / Safe owners / Safe threshold / Safe pending queue / DAO treasury wallet / Safe wallet lookup. Reads a Safe (Gnosis Safe) multisig's on-chain state — owners[], threshold, nonce, version, master copy, fallback handler, guard — via batched eth_call on Base / Ethereum / Arbitrum / Optimism / Polygon (no key, no gas). Also fetches pending (unexecuted) transactions from the Safe Transaction Service. DAO/treasury agents need this constantly to verify multisig config + watch the execution queue.",
|
|
719
|
+
"method": "POST",
|
|
720
|
+
"input_schema": {
|
|
721
|
+
"type": "object",
|
|
722
|
+
"properties": {
|
|
723
|
+
"address": {
|
|
724
|
+
"type": "string",
|
|
725
|
+
"description": "Safe contract address (0x + 40 hex)."
|
|
726
|
+
},
|
|
727
|
+
"chain": {
|
|
728
|
+
"type": "string",
|
|
729
|
+
"enum": [
|
|
730
|
+
"base",
|
|
731
|
+
"ethereum",
|
|
732
|
+
"arbitrum",
|
|
733
|
+
"optimism",
|
|
734
|
+
"polygon"
|
|
735
|
+
],
|
|
736
|
+
"description": "Chain to query. Default 'base'."
|
|
737
|
+
},
|
|
738
|
+
"pending_limit": {
|
|
739
|
+
"type": "number",
|
|
740
|
+
"description": "Max pending tx to return (0-50). Default 10. 0 skips the Safe TX Service call."
|
|
741
|
+
}
|
|
742
|
+
},
|
|
743
|
+
"required": [
|
|
744
|
+
"address"
|
|
745
|
+
]
|
|
746
|
+
}
|
|
747
|
+
},
|
|
748
|
+
{
|
|
749
|
+
"name": "safe-tx-decode",
|
|
750
|
+
"http_name": "safe-tx-decode",
|
|
751
|
+
"description": "(0.003 USDC/call) Gnosis Safe execTransaction decoder. Decodes a Safe multisig tx hash or raw calldata into target/value/data/operation/gas/signers. Auto-decodes inner MultiSend batches.",
|
|
752
|
+
"method": "POST",
|
|
753
|
+
"input_schema": {
|
|
754
|
+
"type": "object",
|
|
755
|
+
"properties": {
|
|
756
|
+
"tx_hash": {
|
|
757
|
+
"type": "string",
|
|
758
|
+
"description": "Safe transaction hash to look up and decode via on-chain execTransaction call data."
|
|
759
|
+
},
|
|
760
|
+
"calldata": {
|
|
761
|
+
"type": "string",
|
|
762
|
+
"description": "Raw execTransaction calldata hex string to decode directly without an on-chain lookup."
|
|
763
|
+
},
|
|
764
|
+
"chain": {
|
|
765
|
+
"type": "string",
|
|
766
|
+
"description": "Chain name or ID where the Safe lives (e.g. ethereum, base, 1, 8453) for RPC routing."
|
|
767
|
+
},
|
|
768
|
+
"to": {
|
|
769
|
+
"type": "string",
|
|
770
|
+
"description": "Safe contract address; pairs with tx_hash or calldata to scope the decode to that multisig."
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
},
|
|
775
|
+
{
|
|
776
|
+
"name": "stablecoin-monitor",
|
|
777
|
+
"http_name": "stablecoin-monitor",
|
|
778
|
+
"description": "(0.005 USDC/call) Stablecoin monitor. Live prices and basis-point deviation from $1 for USDT, USDC, DAI, FRAX, PYUSD, FDUSD, USDE, RLUSD. Configurable depeg-alert threshold. Wraps the same backend as stablecoin-peg under a clearer slug.",
|
|
779
|
+
"method": "POST",
|
|
780
|
+
"input_schema": {
|
|
781
|
+
"type": "object",
|
|
782
|
+
"properties": {
|
|
783
|
+
"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."
|
|
786
|
+
},
|
|
787
|
+
"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)."
|
|
790
|
+
}
|
|
791
|
+
}
|
|
792
|
+
}
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
"name": "stablecoin-peg",
|
|
796
|
+
"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.",
|
|
798
|
+
"method": "POST",
|
|
799
|
+
"input_schema": {
|
|
800
|
+
"type": "object",
|
|
801
|
+
"properties": {
|
|
802
|
+
"symbols": {
|
|
803
|
+
"type": "array",
|
|
804
|
+
"description": "Up to 20 stablecoin symbols. Default: 8 major stables."
|
|
805
|
+
},
|
|
806
|
+
"alert_threshold_bps": {
|
|
807
|
+
"type": "number",
|
|
808
|
+
"description": "Basis points from $1.00 to flag. Default 50 (0.5%)."
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
"name": "token-burn-stats",
|
|
815
|
+
"http_name": "token-burn-stats",
|
|
816
|
+
"description": "(0.005 USDC/call) Token burn stats / total burned / latest burn tx / burn-as-% supply / supply-burn auditor. Walks all transfers TO the canonical burn addresses (0x0…0 and 0x…dEaD) for any ERC-20 on Ethereum, Base, Polygon, Arbitrum, or Optimism via Etherscan v2 and reports total burned (raw + human), most-recent burn tx + timestamp, count of burn transfers, and burn percentage of total supply.",
|
|
817
|
+
"method": "POST",
|
|
818
|
+
"input_schema": {
|
|
819
|
+
"type": "object",
|
|
820
|
+
"properties": {
|
|
821
|
+
"token_address": {
|
|
822
|
+
"type": "string",
|
|
823
|
+
"description": "0x-prefixed 20-byte ERC-20 contract address."
|
|
824
|
+
},
|
|
825
|
+
"chain": {
|
|
826
|
+
"type": "string",
|
|
827
|
+
"enum": [
|
|
828
|
+
"base",
|
|
829
|
+
"ethereum",
|
|
830
|
+
"polygon",
|
|
831
|
+
"arbitrum",
|
|
832
|
+
"optimism"
|
|
833
|
+
],
|
|
834
|
+
"description": "EVM chain. Default 'base'."
|
|
835
|
+
}
|
|
836
|
+
},
|
|
837
|
+
"required": [
|
|
838
|
+
"token_address"
|
|
839
|
+
]
|
|
840
|
+
}
|
|
841
|
+
},
|
|
842
|
+
{
|
|
843
|
+
"name": "token-honeypot",
|
|
844
|
+
"http_name": "token-honeypot",
|
|
845
|
+
"description": "(0.05 USDC/call) EVM token honeypot detection / can-i-sell check / rug-pull scanner / sell-tax simulator / buy-tax simulator / scam token detector / Base honeypot / Ethereum honeypot / BSC honeypot. Simulates a buy + sell of an ERC-20 token via honeypot.is, returning whether the token is a honeypot, the realized buy/sell/transfer tax percentages, max buy/sell amounts (atomic units), proxy/owner contract flags, and a normalized risk level (low/medium/high/critical) with human-readable reasons. Free public API — no auth.",
|
|
846
|
+
"method": "POST",
|
|
847
|
+
"input_schema": {
|
|
848
|
+
"type": "object",
|
|
849
|
+
"properties": {
|
|
850
|
+
"token_address": {
|
|
851
|
+
"type": "string",
|
|
852
|
+
"description": "0x-prefixed 20-byte EVM token contract address."
|
|
853
|
+
},
|
|
854
|
+
"chain": {
|
|
855
|
+
"type": "string",
|
|
856
|
+
"enum": [
|
|
857
|
+
"base",
|
|
858
|
+
"ethereum",
|
|
859
|
+
"bsc"
|
|
860
|
+
],
|
|
861
|
+
"description": "EVM chain. Default 'base'."
|
|
862
|
+
}
|
|
863
|
+
},
|
|
864
|
+
"required": [
|
|
865
|
+
"token_address"
|
|
866
|
+
]
|
|
867
|
+
}
|
|
868
|
+
},
|
|
869
|
+
{
|
|
870
|
+
"name": "token-price",
|
|
871
|
+
"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.",
|
|
873
|
+
"method": "POST",
|
|
874
|
+
"input_schema": {
|
|
875
|
+
"type": "object",
|
|
876
|
+
"properties": {
|
|
877
|
+
"query": {
|
|
878
|
+
"type": "string",
|
|
879
|
+
"description": "CoinGecko id ('bitcoin'), symbol ('BTC'), or 0x address."
|
|
880
|
+
},
|
|
881
|
+
"vs_currency": {
|
|
882
|
+
"type": "string",
|
|
883
|
+
"description": "Default 'usd'."
|
|
884
|
+
},
|
|
885
|
+
"chain": {
|
|
886
|
+
"type": "string",
|
|
887
|
+
"description": "For address queries: ethereum, base, arbitrum-one, polygon-pos, etc."
|
|
888
|
+
}
|
|
889
|
+
},
|
|
890
|
+
"required": [
|
|
891
|
+
"query"
|
|
892
|
+
]
|
|
893
|
+
}
|
|
894
|
+
},
|
|
895
|
+
{
|
|
896
|
+
"name": "token-risk",
|
|
897
|
+
"http_name": "token-risk",
|
|
898
|
+
"description": "(0.10 USDC/call) Token risk score / token security audit / rug-pull score / token safety check. Composite 0-100 score from honeypot.is + GoPlus Security + Etherscan contract age. Subscores: honeypot, taxes, holder concentration, liquidity, contract age, ownership. Verdict: safe / caution / high_risk.",
|
|
899
|
+
"method": "POST",
|
|
900
|
+
"input_schema": {
|
|
901
|
+
"type": "object",
|
|
902
|
+
"properties": {
|
|
903
|
+
"token_address": {
|
|
904
|
+
"type": "string",
|
|
905
|
+
"description": "0x-prefixed 20-byte EVM token contract address."
|
|
906
|
+
},
|
|
907
|
+
"chain": {
|
|
908
|
+
"type": "string",
|
|
909
|
+
"enum": [
|
|
910
|
+
"base",
|
|
911
|
+
"ethereum",
|
|
912
|
+
"bsc"
|
|
913
|
+
],
|
|
914
|
+
"description": "EVM chain. Default 'base'."
|
|
915
|
+
}
|
|
916
|
+
},
|
|
917
|
+
"required": [
|
|
918
|
+
"token_address"
|
|
919
|
+
]
|
|
920
|
+
}
|
|
921
|
+
},
|
|
922
|
+
{
|
|
923
|
+
"name": "token-risk-score",
|
|
924
|
+
"http_name": "token-risk-score",
|
|
925
|
+
"description": "(0.10 USDC/call) Composite EVM token risk score / token security audit / rug-pull score / token safety check / honeypot + tax + holder concentration / GoPlus + honeypot.is composite / Base token vetting / Ethereum token vetting / BSC token vetting. Pulls three independent signals in parallel — honeypot.is (sell simulation + buy/sell tax), GoPlus Security (holder concentration, LP holders + lock, ownership flags, mintable/proxy/hidden-owner detection), and Etherscan v2 contract creation block (for age) — and rolls them up into a 0-100 score (higher = safer) with subscores (honeypot, taxes, holder_concentration, liquidity, contract_age, ownership) and a verdict (safe / caution / high_risk). Each backend failure degrades just that subscore and adds a warning; the rest still computes.",
|
|
926
|
+
"method": "POST",
|
|
927
|
+
"input_schema": {
|
|
928
|
+
"type": "object",
|
|
929
|
+
"properties": {
|
|
930
|
+
"token_address": {
|
|
931
|
+
"type": "string",
|
|
932
|
+
"description": "0x-prefixed 20-byte EVM token contract address."
|
|
933
|
+
},
|
|
934
|
+
"chain": {
|
|
935
|
+
"type": "string",
|
|
936
|
+
"enum": [
|
|
937
|
+
"base",
|
|
938
|
+
"ethereum",
|
|
939
|
+
"bsc"
|
|
940
|
+
],
|
|
941
|
+
"description": "EVM chain. Default 'base'."
|
|
942
|
+
}
|
|
943
|
+
},
|
|
944
|
+
"required": [
|
|
945
|
+
"token_address"
|
|
946
|
+
]
|
|
947
|
+
}
|
|
948
|
+
},
|
|
949
|
+
{
|
|
950
|
+
"name": "token-volatility",
|
|
951
|
+
"http_name": "token-volatility",
|
|
952
|
+
"description": "(0.005 USDC/call) Token volatility / historical volatility / annualized vol / standard deviation of returns / crypto vol calculator. For any CoinGecko-listed token, computes log-return standard deviation over the last N days (default 30) and annualizes by sqrt(365). Returns daily and annualized volatility as percent, count of return observations, first and last close prices. Backed by CoinGecko's free public market_chart endpoint.",
|
|
953
|
+
"method": "POST",
|
|
954
|
+
"input_schema": {
|
|
955
|
+
"type": "object",
|
|
956
|
+
"properties": {
|
|
957
|
+
"coingecko_id": {
|
|
958
|
+
"type": "string",
|
|
959
|
+
"description": "CoinGecko coin id (e.g. 'ethereum', 'bitcoin', 'solana'). Lower-case slug, not the symbol."
|
|
960
|
+
},
|
|
961
|
+
"days": {
|
|
962
|
+
"type": "number",
|
|
963
|
+
"description": "Lookback window in days. Range [7, 365]. Default 30."
|
|
964
|
+
}
|
|
965
|
+
},
|
|
966
|
+
"required": [
|
|
967
|
+
"coingecko_id"
|
|
968
|
+
]
|
|
969
|
+
}
|
|
970
|
+
},
|
|
971
|
+
{
|
|
972
|
+
"name": "tx-receipt-decode",
|
|
973
|
+
"http_name": "tx-receipt-decode",
|
|
974
|
+
"description": "(0.02 USDC/call) EVM transaction receipt decoder / log decoder / event log reader / Etherscan tx debug / receipt parser / Basescan tx explainer / tenderly-style trace lite. Given a tx hash, fetches the receipt + transaction via Etherscan v2 and decodes every log: ERC-20 / ERC-721 Transfer + Approval + ApprovalForAll are decoded canonically (from/to/value/tokenId etc.); other logs use the contract's verified ABI when available; remaining unknown topics are looked up against 4byte.directory's event-signature index. Returns status (success/failed), block number, gas used + gas price (gwei), from/to/value, and a structured array of decoded logs with named params and contract names where verified.",
|
|
975
|
+
"method": "POST",
|
|
976
|
+
"input_schema": {
|
|
977
|
+
"type": "object",
|
|
978
|
+
"properties": {
|
|
979
|
+
"tx_hash": {
|
|
980
|
+
"type": "string",
|
|
981
|
+
"description": "0x-prefixed 32-byte transaction hash (66 chars total)."
|
|
982
|
+
},
|
|
983
|
+
"chain": {
|
|
984
|
+
"type": "string",
|
|
985
|
+
"enum": [
|
|
986
|
+
"base",
|
|
987
|
+
"ethereum",
|
|
988
|
+
"polygon",
|
|
989
|
+
"arbitrum",
|
|
990
|
+
"optimism"
|
|
991
|
+
],
|
|
992
|
+
"description": "EVM chain. Default 'base'."
|
|
993
|
+
}
|
|
994
|
+
},
|
|
995
|
+
"required": [
|
|
996
|
+
"tx_hash"
|
|
997
|
+
]
|
|
998
|
+
}
|
|
999
|
+
},
|
|
1000
|
+
{
|
|
1001
|
+
"name": "tx-simulate-swap",
|
|
1002
|
+
"http_name": "tx-simulate-swap",
|
|
1003
|
+
"description": "(0.02 USDC/call) Tx simulate swap / pre-trade quote / DEX swap simulator / 1inch + LlamaSwap quote / would-it-succeed check. Given (from_token, to_token, amount_in, chain), pulls a routed quote from a free DEX meta-aggregator and returns expected output, min-out at user-supplied slippage (default 1%), gas estimate, router address, and a would_succeed verdict. Quote-only depth — full Tenderly-style state simulation requires a paid API and is documented in the response's simulation_caveat.",
|
|
1004
|
+
"method": "POST",
|
|
1005
|
+
"input_schema": {
|
|
1006
|
+
"type": "object",
|
|
1007
|
+
"properties": {
|
|
1008
|
+
"from_token": {
|
|
1009
|
+
"type": "string",
|
|
1010
|
+
"description": "0x-prefixed 20-byte ERC-20 input token."
|
|
1011
|
+
},
|
|
1012
|
+
"to_token": {
|
|
1013
|
+
"type": "string",
|
|
1014
|
+
"description": "0x-prefixed 20-byte ERC-20 output token."
|
|
1015
|
+
},
|
|
1016
|
+
"amount_in": {
|
|
1017
|
+
"type": "string",
|
|
1018
|
+
"description": "Input amount as a decimal string in smallest units (wei-equivalent)."
|
|
1019
|
+
},
|
|
1020
|
+
"chain": {
|
|
1021
|
+
"type": "string",
|
|
1022
|
+
"enum": [
|
|
1023
|
+
"base",
|
|
1024
|
+
"ethereum",
|
|
1025
|
+
"polygon",
|
|
1026
|
+
"arbitrum",
|
|
1027
|
+
"optimism"
|
|
1028
|
+
],
|
|
1029
|
+
"description": "EVM chain. Default 'base'."
|
|
1030
|
+
},
|
|
1031
|
+
"slippage_pct": {
|
|
1032
|
+
"type": "number",
|
|
1033
|
+
"description": "Slippage tolerance for min_out, in percent. Range [0, 50]. Default 1."
|
|
1034
|
+
}
|
|
1035
|
+
},
|
|
1036
|
+
"required": [
|
|
1037
|
+
"from_token",
|
|
1038
|
+
"to_token",
|
|
1039
|
+
"amount_in"
|
|
1040
|
+
]
|
|
1041
|
+
}
|
|
1042
|
+
},
|
|
1043
|
+
{
|
|
1044
|
+
"name": "wallet-label",
|
|
1045
|
+
"http_name": "wallet-label",
|
|
1046
|
+
"description": "(0.005 USDC/call) Wallet label / address tagger / known-address lookup / EOA-vs-contract check / deployer tracer. Best-effort labelling for any EVM address against an in-handler dictionary of well-known CEX hot/cold wallets, DEX routers, NFT marketplaces, popular MEV bots, bridges, and stablecoins. Etherscan v2 'getcontractcreation' adds is_contract + deployer for unknown contracts. Returns label, category, and the source of the match.",
|
|
1047
|
+
"method": "POST",
|
|
1048
|
+
"input_schema": {
|
|
1049
|
+
"type": "object",
|
|
1050
|
+
"properties": {
|
|
1051
|
+
"address": {
|
|
1052
|
+
"type": "string",
|
|
1053
|
+
"description": "0x-prefixed 20-byte EVM address."
|
|
1054
|
+
},
|
|
1055
|
+
"chain": {
|
|
1056
|
+
"type": "string",
|
|
1057
|
+
"enum": [
|
|
1058
|
+
"base",
|
|
1059
|
+
"ethereum",
|
|
1060
|
+
"polygon",
|
|
1061
|
+
"arbitrum",
|
|
1062
|
+
"optimism"
|
|
1063
|
+
],
|
|
1064
|
+
"description": "EVM chain. Default 'ethereum'."
|
|
1065
|
+
}
|
|
1066
|
+
},
|
|
1067
|
+
"required": [
|
|
1068
|
+
"address"
|
|
1069
|
+
]
|
|
1070
|
+
}
|
|
1071
|
+
},
|
|
1072
|
+
{
|
|
1073
|
+
"name": "wallet-pnl",
|
|
1074
|
+
"http_name": "wallet-pnl",
|
|
1075
|
+
"description": "(0.05 USDC/call) Wallet token P&L / FIFO cost basis / realized + unrealized profit / EVM portfolio analytics. For any (wallet, ERC-20, chain) triple, pulls all transfers from Etherscan v2, prices each one at the historical USD spot via CoinGecko, runs FIFO accounting and reports cost basis, realized gain, unrealized gain, current balance, and tx count. Capped at the most recent 500 transfers.",
|
|
1076
|
+
"method": "POST",
|
|
1077
|
+
"input_schema": {
|
|
1078
|
+
"type": "object",
|
|
1079
|
+
"properties": {
|
|
1080
|
+
"wallet": {
|
|
1081
|
+
"type": "string",
|
|
1082
|
+
"description": "0x-prefixed 20-byte wallet address."
|
|
1083
|
+
},
|
|
1084
|
+
"token_address": {
|
|
1085
|
+
"type": "string",
|
|
1086
|
+
"description": "0x-prefixed 20-byte ERC-20 contract."
|
|
1087
|
+
},
|
|
1088
|
+
"chain": {
|
|
1089
|
+
"type": "string",
|
|
1090
|
+
"enum": [
|
|
1091
|
+
"base",
|
|
1092
|
+
"ethereum",
|
|
1093
|
+
"polygon",
|
|
1094
|
+
"arbitrum",
|
|
1095
|
+
"optimism"
|
|
1096
|
+
],
|
|
1097
|
+
"description": "EVM chain. Default 'ethereum'."
|
|
1098
|
+
}
|
|
1099
|
+
},
|
|
1100
|
+
"required": [
|
|
1101
|
+
"wallet",
|
|
1102
|
+
"token_address"
|
|
1103
|
+
]
|
|
1104
|
+
}
|
|
1105
|
+
}
|
|
1106
|
+
];
|