@nirholas/universal-crypto-mcp 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +190 -0
- package/README.md +1570 -0
- package/package.json +135 -0
package/README.md
ADDED
|
@@ -0,0 +1,1570 @@
|
|
|
1
|
+
# Universal Crypto MCP
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="https://www.npmjs.com/package/@nirholas/universal-crypto-mcp"><img src="https://img.shields.io/npm/v/@nirholas/universal-crypto-mcp.svg?style=for-the-badge&logo=npm&color=cb3837" alt="npm version"></a>
|
|
5
|
+
<a href="https://www.npmjs.com/package/@nirholas/universal-crypto-mcp"><img src="https://img.shields.io/npm/dm/@nirholas/universal-crypto-mcp.svg?style=for-the-badge&logo=npm&color=cb3837" alt="npm downloads"></a>
|
|
6
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=for-the-badge" alt="License: Apache 2.0"></a>
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
<p align="center">
|
|
10
|
+
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-Compatible-6366f1?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyek0xMiAyMGMtNC40MSAwLTgtMy41OS04LThzMy41OS04IDgtOCA4IDMuNTkgOCA4LTMuNTkgOC04IDh6Ii8+PC9zdmc+" alt="MCP Compatible"></a>
|
|
11
|
+
<a href="https://www.typescriptlang.org/"><img src="https://img.shields.io/badge/TypeScript-5.0-3178c6?style=for-the-badge&logo=typescript&logoColor=white" alt="TypeScript"></a>
|
|
12
|
+
<a href="https://nodejs.org/"><img src="https://img.shields.io/badge/Node.js-18+-339933?style=for-the-badge&logo=node.js&logoColor=white" alt="Node.js 18+"></a>
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
<p align="center">
|
|
16
|
+
<a href="https://github.com/nirholas/universal-crypto-mcp/stargazers"><img src="https://img.shields.io/github/stars/nirholas/universal-crypto-mcp?style=for-the-badge&logo=github&color=yellow" alt="GitHub Stars"></a>
|
|
17
|
+
<a href="https://github.com/nirholas/universal-crypto-mcp/issues"><img src="https://img.shields.io/github/issues/nirholas/universal-crypto-mcp?style=for-the-badge&color=orange" alt="Issues"></a>
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
<p align="center">
|
|
21
|
+
<img src=".github/demo.svg" alt="Universal Crypto MCP Demo" width="800">
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
> ⭐ **If you find this useful, please star the repo!** It helps others discover this project.
|
|
25
|
+
|
|
26
|
+
<p align="center">
|
|
27
|
+
<a href="https://x.com/nichxbt"><img src="https://img.shields.io/badge/𝕏-Follow-000000?style=for-the-badge&logo=x&logoColor=white" alt="Follow on X"></a>
|
|
28
|
+
</p>
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
A Universal Model Context Protocol server for all EVM-compatible networks.
|
|
33
|
+
|
|
34
|
+
Enable AI agents (Claude, ChatGPT, Cursor) to interact with any EVM blockchain through natural language.
|
|
35
|
+
|
|
36
|
+
## 🆚 Why Universal Crypto MCP?
|
|
37
|
+
|
|
38
|
+
| Feature | Universal Crypto MCP | Other MCP Servers |
|
|
39
|
+
|---------|---------------------|-------------------|
|
|
40
|
+
| **Tools** | 380+ tools | 10-50 tools |
|
|
41
|
+
| **Chains** | 20+ chains (EVM + multi-chain) | 1-3 chains |
|
|
42
|
+
| **DEX Support** | Multi-aggregator (1inch, 0x, ParaSwap) | Single DEX or none |
|
|
43
|
+
| **Security** | GoPlus, honeypot, rug pull detection | Basic or none |
|
|
44
|
+
| **DeFi** | Aave, Compound, Lido, Uniswap | Limited |
|
|
45
|
+
| **Market Data** | CoinGecko, DefiLlama, LunarCrush | Basic prices |
|
|
46
|
+
| **Bridges** | LayerZero, Stargate, Wormhole | None |
|
|
47
|
+
| **MEV Protection** | Flashbots integration | None |
|
|
48
|
+
| **Transport** | stdio, HTTP, SSE | Usually only stdio |
|
|
49
|
+
| **ChatGPT Support** | ✅ Native HTTP mode | ❌ Most don't |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Supported Networks
|
|
54
|
+
|
|
55
|
+
### EVM Chains
|
|
56
|
+
- Ethereum, BNB Smart Chain (BSC), Polygon, Arbitrum, Base, Optimism
|
|
57
|
+
- Avalanche, Fantom, zkSync Era, Linea, Scroll, Blast, Mode, Mantle
|
|
58
|
+
- opBNB + All testnets
|
|
59
|
+
|
|
60
|
+
### Multi-Chain (NEW)
|
|
61
|
+
- **Cosmos/IBC** - ATOM, OSMO, JUNO, INJ, and more
|
|
62
|
+
- **Near Protocol** - NEAR native + contracts
|
|
63
|
+
- **Sui** - SUI with Move support
|
|
64
|
+
- **Aptos** - APT with Move support
|
|
65
|
+
- Bitcoin, Litecoin, Solana, TON, XRP, THORChain
|
|
66
|
+
|
|
67
|
+
## Features
|
|
68
|
+
|
|
69
|
+
- 🔄 **Swap/DEX** - Token swaps via 1inch, 0x, ParaSwap
|
|
70
|
+
- 🌉 **Bridge** - Cross-chain transfers via LayerZero, Stargate, Wormhole
|
|
71
|
+
- ⛽ **Gas** - Gas prices across chains, EIP-1559 suggestions
|
|
72
|
+
- 📦 **Multicall** - Batch read/write operations
|
|
73
|
+
- 📊 **Events/Logs** - Query historical events, decode logs
|
|
74
|
+
- 🔒 **Security** - Rug pull detection, honeypot check, GoPlus token/address security, dApp phishing detection
|
|
75
|
+
- 💰 **Staking** - Liquid staking (Lido), LP farming
|
|
76
|
+
- ✍️ **Signatures** - Sign messages, verify signatures, EIP-712
|
|
77
|
+
- 🏦 **Lending** - Aave/Compound positions, borrow rates
|
|
78
|
+
- 📈 **Price Feeds** - Historical prices, TWAP, oracle aggregation
|
|
79
|
+
- 📁 **Portfolio** - Track holdings across chains
|
|
80
|
+
- 🏛️ **Governance** - Snapshot votes, on-chain proposals
|
|
81
|
+
- 🚀 **Deployment** - Deploy contracts, CREATE2, upgradeable proxies, verification
|
|
82
|
+
- 🛡️ **MEV Protection** - Flashbots Protect, private transactions, bundle simulation
|
|
83
|
+
- 🆔 **ENS/Domains** - Register, transfer, renew, set records, subdomains
|
|
84
|
+
- 📊 **Market Data** - CoinGecko & CoinStats prices, OHLCV, trending, categories, exchanges
|
|
85
|
+
- 🌐 **DeFi Analytics** - DefiLlama TVL, yields, fees, bridges, stablecoins, protocol data
|
|
86
|
+
- 💬 **Social Sentiment** - LunarCrush social metrics, influencers, trending topics
|
|
87
|
+
- 📈 **DEX Analytics** - DexPaprika & GeckoTerminal pools, trades, OHLCV, trending tokens
|
|
88
|
+
- 🔮 **Predictions** - Polymarket prediction markets, crypto forecasts
|
|
89
|
+
- 📉 **Technical Indicators** - 50+ indicators (RSI, MACD, Bollinger Bands, etc.)
|
|
90
|
+
- 🔔 **Alerts** - Price alerts, whale movement alerts, gas alerts (NEW)
|
|
91
|
+
- 📡 **WebSockets** - Real-time price streams, trade feeds, mempool monitoring (NEW)
|
|
92
|
+
- 🐋 **Wallet Analytics** - Whale tracking, wallet scoring, behavior analysis (NEW)
|
|
93
|
+
- 🌐 **Multi-Chain** - Cosmos, Near, Sui, Aptos native support (NEW)
|
|
94
|
+
|
|
95
|
+
## Quick Start
|
|
96
|
+
|
|
97
|
+
### Claude Desktop
|
|
98
|
+
|
|
99
|
+
Add to your `claude_desktop_config.json`:
|
|
100
|
+
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"mcpServers": {
|
|
104
|
+
"universal-crypto-mcp": {
|
|
105
|
+
"command": "npx",
|
|
106
|
+
"args": ["-y", "@nirholas/universal-crypto-mcp@latest"],
|
|
107
|
+
"env": {
|
|
108
|
+
"PRIVATE_KEY": "your_private_key_here (optional)"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Cursor
|
|
116
|
+
|
|
117
|
+
Add to your MCP settings:
|
|
118
|
+
|
|
119
|
+
```json
|
|
120
|
+
{
|
|
121
|
+
"mcpServers": {
|
|
122
|
+
"universal-crypto-mcp": {
|
|
123
|
+
"command": "npx",
|
|
124
|
+
"args": ["-y", "@nirholas/universal-crypto-mcp@latest"],
|
|
125
|
+
"env": {
|
|
126
|
+
"PRIVATE_KEY": "your_private_key_here (optional)"
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### ChatGPT Developer Mode
|
|
134
|
+
|
|
135
|
+
1. Enable [Developer Mode](https://chatgpt.com/#settings/Connectors/Advanced) in ChatGPT settings
|
|
136
|
+
2. Start the HTTP server:
|
|
137
|
+
```bash
|
|
138
|
+
npx @nirholas/universal-crypto-mcp@latest --http
|
|
139
|
+
```
|
|
140
|
+
3. In ChatGPT Settings → Apps, click **Create app**
|
|
141
|
+
4. Enter your server URL: `http://localhost:3001/mcp`
|
|
142
|
+
5. Select the app in conversations via **Developer mode** menu
|
|
143
|
+
|
|
144
|
+
For detailed setup instructions, see [ChatGPT Setup Guide](https://universal-crypto-mcp.vercel.app/mcp-server/chatgpt-setup/).
|
|
145
|
+
|
|
146
|
+
## Server Modes
|
|
147
|
+
|
|
148
|
+
| Mode | Command | Use Case |
|
|
149
|
+
|------|---------|----------|
|
|
150
|
+
| stdio | `npx @nirholas/universal-crypto-mcp` | Claude Desktop, Cursor |
|
|
151
|
+
| HTTP | `npx @nirholas/universal-crypto-mcp --http` | ChatGPT Developer Mode |
|
|
152
|
+
| SSE | `npx @nirholas/universal-crypto-mcp --sse` | Legacy HTTP clients |
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## 💬 Example Prompts (Copy & Paste!)
|
|
157
|
+
|
|
158
|
+
Real prompts you can use with Claude, ChatGPT, or Cursor. Just copy and paste!
|
|
159
|
+
|
|
160
|
+
### 🔄 Token Swaps
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
Swap 0.1 ETH for USDC on Arbitrum
|
|
164
|
+
```
|
|
165
|
+
```
|
|
166
|
+
Get me a quote to swap 100 USDC to WBTC on Base
|
|
167
|
+
```
|
|
168
|
+
```
|
|
169
|
+
What's the best rate to swap 500 DAI to ETH across all DEXs on Ethereum?
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### 📊 Market Data & Prices
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
What's the current price of Bitcoin and Ethereum in USD?
|
|
176
|
+
```
|
|
177
|
+
```
|
|
178
|
+
Show me the top 10 trending coins on CoinGecko right now
|
|
179
|
+
```
|
|
180
|
+
```
|
|
181
|
+
Get the 7-day OHLCV data for Solana
|
|
182
|
+
```
|
|
183
|
+
```
|
|
184
|
+
What's the market cap and 24h volume of BNB?
|
|
185
|
+
```
|
|
186
|
+
```
|
|
187
|
+
Show me the price of token 0xdAC17F958D2ee523a2206206994597C13D831ec7 on Ethereum
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### 🌐 DeFi Analytics (DefiLlama)
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
What's the total TVL of Aave across all chains?
|
|
194
|
+
```
|
|
195
|
+
```
|
|
196
|
+
Show me the top 10 protocols by TVL
|
|
197
|
+
```
|
|
198
|
+
```
|
|
199
|
+
What are the best yield opportunities for stablecoins right now?
|
|
200
|
+
```
|
|
201
|
+
```
|
|
202
|
+
How much volume did bridges process in the last 24 hours?
|
|
203
|
+
```
|
|
204
|
+
```
|
|
205
|
+
Show me the TVL history of Uniswap over the last 30 days
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### 📈 DEX Analytics
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
Show me the top trending pools on Uniswap V3
|
|
212
|
+
```
|
|
213
|
+
```
|
|
214
|
+
Get the most traded tokens on Base in the last 24 hours
|
|
215
|
+
```
|
|
216
|
+
```
|
|
217
|
+
Find all liquidity pools for PEPE on Ethereum
|
|
218
|
+
```
|
|
219
|
+
```
|
|
220
|
+
What's the price and liquidity of the ETH/USDC pool on Aerodrome?
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### 🔒 Security Checks
|
|
224
|
+
|
|
225
|
+
```
|
|
226
|
+
Is this token safe? 0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE (SHIB)
|
|
227
|
+
```
|
|
228
|
+
```
|
|
229
|
+
Check if this token is a honeypot: 0x... on BSC
|
|
230
|
+
```
|
|
231
|
+
```
|
|
232
|
+
Scan my wallet for risky approvals: 0xYourAddress
|
|
233
|
+
```
|
|
234
|
+
```
|
|
235
|
+
Is this dApp URL safe to connect to? https://suspicious-site.xyz
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### 💰 Staking & Lending
|
|
239
|
+
|
|
240
|
+
```
|
|
241
|
+
What's the current staking APY for ETH on Lido?
|
|
242
|
+
```
|
|
243
|
+
```
|
|
244
|
+
Show me Aave lending rates for USDC on Arbitrum
|
|
245
|
+
```
|
|
246
|
+
```
|
|
247
|
+
What's my health factor on Aave if I borrow 1000 USDC against 2 ETH?
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### 🌉 Cross-Chain Bridges
|
|
251
|
+
|
|
252
|
+
```
|
|
253
|
+
Bridge 100 USDC from Ethereum to Arbitrum
|
|
254
|
+
```
|
|
255
|
+
```
|
|
256
|
+
What's the cheapest way to bridge ETH from mainnet to Base?
|
|
257
|
+
```
|
|
258
|
+
```
|
|
259
|
+
Get a bridge quote for 0.5 ETH from Polygon to Optimism
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### ⛽ Gas & Network
|
|
263
|
+
|
|
264
|
+
```
|
|
265
|
+
What's the current gas price on Ethereum?
|
|
266
|
+
```
|
|
267
|
+
```
|
|
268
|
+
Get EIP-1559 gas fees for all supported chains
|
|
269
|
+
```
|
|
270
|
+
```
|
|
271
|
+
Is it cheap to transact on Arbitrum right now?
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
### 🏛️ Governance
|
|
275
|
+
|
|
276
|
+
```
|
|
277
|
+
Show me active proposals on Uniswap
|
|
278
|
+
```
|
|
279
|
+
```
|
|
280
|
+
What's my voting power on Compound?
|
|
281
|
+
```
|
|
282
|
+
```
|
|
283
|
+
Get the results of the latest Aave governance vote
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### 💬 Social Sentiment (LunarCrush)
|
|
287
|
+
|
|
288
|
+
```
|
|
289
|
+
What's the social sentiment for Bitcoin right now?
|
|
290
|
+
```
|
|
291
|
+
```
|
|
292
|
+
Show me the top crypto influencers on social media
|
|
293
|
+
```
|
|
294
|
+
```
|
|
295
|
+
What tokens are trending on Twitter/X today?
|
|
296
|
+
```
|
|
297
|
+
```
|
|
298
|
+
Get the Galaxy Score for Ethereum
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
### 🆔 ENS Domains
|
|
302
|
+
|
|
303
|
+
```
|
|
304
|
+
Resolve vitalik.eth to an address
|
|
305
|
+
```
|
|
306
|
+
```
|
|
307
|
+
Who owns the ENS domain "ethereum.eth"?
|
|
308
|
+
```
|
|
309
|
+
```
|
|
310
|
+
Register the domain mycoolname.eth for 1 year
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### 📰 Crypto News
|
|
314
|
+
|
|
315
|
+
```
|
|
316
|
+
Get the latest crypto news
|
|
317
|
+
```
|
|
318
|
+
```
|
|
319
|
+
Search news about Bitcoin ETF
|
|
320
|
+
```
|
|
321
|
+
```
|
|
322
|
+
What's the breaking news in DeFi?
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
### 📁 Portfolio & Wallet
|
|
326
|
+
|
|
327
|
+
```
|
|
328
|
+
Show my token balances on Ethereum: 0xYourAddress
|
|
329
|
+
```
|
|
330
|
+
```
|
|
331
|
+
Get all NFTs owned by vitalik.eth
|
|
332
|
+
```
|
|
333
|
+
```
|
|
334
|
+
What approvals have I granted from my wallet?
|
|
335
|
+
```
|
|
336
|
+
```
|
|
337
|
+
Track my portfolio across all EVM chains
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
### 🚀 Advanced Operations
|
|
341
|
+
|
|
342
|
+
```
|
|
343
|
+
Deploy a new ERC-20 token called "MyToken" (MTK) with 1 million supply on Base
|
|
344
|
+
```
|
|
345
|
+
```
|
|
346
|
+
Submit this transaction privately via Flashbots to avoid MEV
|
|
347
|
+
```
|
|
348
|
+
```
|
|
349
|
+
Encode a call to the transfer function for 100 USDC
|
|
350
|
+
```
|
|
351
|
+
```
|
|
352
|
+
Simulate this transaction before executing: 0x...
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### 📉 Technical Indicators
|
|
356
|
+
|
|
357
|
+
```
|
|
358
|
+
Calculate RSI for Bitcoin over the last 14 days
|
|
359
|
+
```
|
|
360
|
+
```
|
|
361
|
+
Get MACD signal for ETH/USDT on the 4-hour timeframe
|
|
362
|
+
```
|
|
363
|
+
```
|
|
364
|
+
Show Bollinger Bands for SOL with 20-period SMA
|
|
365
|
+
```
|
|
366
|
+
```
|
|
367
|
+
What's the current trend signal for BTC using multiple indicators?
|
|
368
|
+
```
|
|
369
|
+
```
|
|
370
|
+
Run a momentum strategy analysis on DOGE
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
### 🔮 Prediction Markets
|
|
374
|
+
|
|
375
|
+
```
|
|
376
|
+
What are the top crypto prediction markets on Polymarket?
|
|
377
|
+
```
|
|
378
|
+
```
|
|
379
|
+
Search for Bitcoin price predictions
|
|
380
|
+
```
|
|
381
|
+
```
|
|
382
|
+
What's the current odds for ETH reaching $5000?
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
### 📊 Events & Logs
|
|
386
|
+
|
|
387
|
+
```
|
|
388
|
+
Get all Transfer events for USDC in the last 100 blocks on Ethereum
|
|
389
|
+
```
|
|
390
|
+
```
|
|
391
|
+
Show me Approval events for my wallet address
|
|
392
|
+
```
|
|
393
|
+
```
|
|
394
|
+
Decode this transaction log: 0x...
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
### ✍️ Signatures & Messages
|
|
398
|
+
|
|
399
|
+
```
|
|
400
|
+
Sign this message with my wallet: "Hello World"
|
|
401
|
+
```
|
|
402
|
+
```
|
|
403
|
+
Verify this signature is from vitalik.eth
|
|
404
|
+
```
|
|
405
|
+
```
|
|
406
|
+
Create an EIP-712 typed data signature for a permit
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
### 📦 Batch Operations (Multicall)
|
|
410
|
+
|
|
411
|
+
```
|
|
412
|
+
Get token balances for 10 different tokens in one call
|
|
413
|
+
```
|
|
414
|
+
```
|
|
415
|
+
Read multiple contract values at once from Aave
|
|
416
|
+
```
|
|
417
|
+
```
|
|
418
|
+
Batch check allowances for all my approved tokens
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
---
|
|
422
|
+
|
|
423
|
+
## 🧪 Testing
|
|
424
|
+
|
|
425
|
+
We use [Vitest](https://vitest.dev/) as our testing framework with comprehensive test coverage.
|
|
426
|
+
|
|
427
|
+
### Running Tests
|
|
428
|
+
|
|
429
|
+
```bash
|
|
430
|
+
# Run all unit tests
|
|
431
|
+
npm test
|
|
432
|
+
|
|
433
|
+
# Run tests in watch mode (re-runs on file changes)
|
|
434
|
+
npm run test:watch
|
|
435
|
+
|
|
436
|
+
# Run tests with coverage report
|
|
437
|
+
npm run test:coverage
|
|
438
|
+
|
|
439
|
+
# Run E2E tests (requires network access)
|
|
440
|
+
npm run test:e2e
|
|
441
|
+
|
|
442
|
+
# Run E2E tests in watch mode
|
|
443
|
+
npm run test:e2e:watch
|
|
444
|
+
|
|
445
|
+
# Open interactive test UI
|
|
446
|
+
npm run test:ui
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
### MCP Inspector
|
|
450
|
+
|
|
451
|
+
Test your MCP tools interactively using the official [MCP Inspector](https://github.com/modelcontextprotocol/inspector):
|
|
452
|
+
|
|
453
|
+
```bash
|
|
454
|
+
npm run test:inspector
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
This opens a browser-based UI where you can:
|
|
458
|
+
- Browse all available tools and prompts
|
|
459
|
+
- Test tool execution with custom parameters
|
|
460
|
+
- View tool responses and debug issues
|
|
461
|
+
- Validate your MCP server implementation
|
|
462
|
+
|
|
463
|
+
### Test Structure
|
|
464
|
+
|
|
465
|
+
```
|
|
466
|
+
tests/
|
|
467
|
+
├── setup.ts # Global test setup
|
|
468
|
+
├── e2e/ # End-to-end tests
|
|
469
|
+
│ ├── evm-tools.e2e.test.ts
|
|
470
|
+
│ └── market-data.e2e.test.ts
|
|
471
|
+
├── integration/ # Integration tests
|
|
472
|
+
│ ├── evm-tools.test.ts
|
|
473
|
+
│ └── multichain.test.ts
|
|
474
|
+
└── mocks/ # Test mocks and fixtures
|
|
475
|
+
|
|
476
|
+
src/
|
|
477
|
+
├── evm/
|
|
478
|
+
│ ├── chains.test.ts # Unit tests alongside source
|
|
479
|
+
│ └── modules/
|
|
480
|
+
│ └── */tools.test.ts
|
|
481
|
+
└── utils/
|
|
482
|
+
├── errors.test.ts
|
|
483
|
+
├── helper.test.ts
|
|
484
|
+
└── validation.test.ts
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
---
|
|
488
|
+
|
|
489
|
+
## Local Development
|
|
490
|
+
|
|
491
|
+
```bash
|
|
492
|
+
# Clone
|
|
493
|
+
git clone https://github.com/nirholas/universal-crypto-mcp
|
|
494
|
+
cd universal-crypto-mcp
|
|
495
|
+
|
|
496
|
+
# Install
|
|
497
|
+
npm install
|
|
498
|
+
|
|
499
|
+
# Run dev server (stdio - Claude)
|
|
500
|
+
npm run dev
|
|
501
|
+
|
|
502
|
+
# Run dev server (HTTP - ChatGPT)
|
|
503
|
+
npm run dev:http
|
|
504
|
+
|
|
505
|
+
# Run dev server (SSE - legacy)
|
|
506
|
+
npm run dev:sse
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
---
|
|
510
|
+
|
|
511
|
+
## 🧪 Testing
|
|
512
|
+
|
|
513
|
+
<p align="center">
|
|
514
|
+
<a href="https://codecov.io/gh/nirholas/universal-crypto-mcp"><img src="https://img.shields.io/codecov/c/github/nirholas/universal-crypto-mcp?style=flat-square&logo=codecov&label=coverage" alt="Code Coverage"></a>
|
|
515
|
+
<a href="https://github.com/nirholas/universal-crypto-mcp/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/nirholas/universal-crypto-mcp/ci.yml?branch=main&style=flat-square&logo=github&label=tests" alt="Tests"></a>
|
|
516
|
+
</p>
|
|
517
|
+
|
|
518
|
+
### Running Tests
|
|
519
|
+
|
|
520
|
+
```bash
|
|
521
|
+
# Run all tests
|
|
522
|
+
npm test
|
|
523
|
+
|
|
524
|
+
# Run unit tests only
|
|
525
|
+
npm run test:unit
|
|
526
|
+
|
|
527
|
+
# Run integration tests
|
|
528
|
+
npm run test:integration
|
|
529
|
+
|
|
530
|
+
# Run E2E tests (requires network access)
|
|
531
|
+
npm run test:e2e
|
|
532
|
+
|
|
533
|
+
# Run tests with coverage report
|
|
534
|
+
npm run test:coverage
|
|
535
|
+
|
|
536
|
+
# Run tests in watch mode (development)
|
|
537
|
+
npm run test:watch
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
### Test Structure
|
|
541
|
+
|
|
542
|
+
| Type | Location | Description |
|
|
543
|
+
|------|----------|-------------|
|
|
544
|
+
| **Unit** | `src/**/*.test.ts` | Test individual functions/modules |
|
|
545
|
+
| **Integration** | `tests/integration/` | Test multiple components together |
|
|
546
|
+
| **E2E** | `tests/e2e/` | Test full MCP server flow |
|
|
547
|
+
|
|
548
|
+
### E2E Tests
|
|
549
|
+
|
|
550
|
+
End-to-end tests verify the complete tool execution flow:
|
|
551
|
+
|
|
552
|
+
- **EVM Tools** - Block, balance, token operations across chains
|
|
553
|
+
- **DeFi Tools** - Protocol TVL, yields, stablecoins via DefiLlama
|
|
554
|
+
- **Market Data** - CoinGecko, Fear & Greed index
|
|
555
|
+
- **Multichain** - Same operations across different networks
|
|
556
|
+
- **Error Recovery** - Error handling, invalid inputs, edge cases
|
|
557
|
+
|
|
558
|
+
### Custom Test Utilities
|
|
559
|
+
|
|
560
|
+
The project includes custom Vitest matchers for MCP responses:
|
|
561
|
+
|
|
562
|
+
```typescript
|
|
563
|
+
// In your test file
|
|
564
|
+
import "../utils/assertions"
|
|
565
|
+
|
|
566
|
+
expect(result).toBeSuccessfulToolResponse()
|
|
567
|
+
expect(result).toHaveJsonProperty("balance")
|
|
568
|
+
expect(result).toContainValidAddress()
|
|
569
|
+
expect(result).toContainToolError(/invalid/i)
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
### Test Fixtures
|
|
573
|
+
|
|
574
|
+
Reusable test data in `tests/utils/fixtures.ts`:
|
|
575
|
+
|
|
576
|
+
```typescript
|
|
577
|
+
import {
|
|
578
|
+
ETH_MAINNET_ADDRESSES,
|
|
579
|
+
MOCK_TOKEN_DATA,
|
|
580
|
+
generateRandomAddress
|
|
581
|
+
} from "../utils/fixtures"
|
|
582
|
+
```
|
|
583
|
+
|
|
584
|
+
For detailed testing documentation, see [tests/README.md](tests/README.md).
|
|
585
|
+
|
|
586
|
+
---
|
|
587
|
+
|
|
588
|
+
## ⚙️ Environment Variables
|
|
589
|
+
|
|
590
|
+
Configure optional API keys for enhanced features. Create a `.env` file:
|
|
591
|
+
|
|
592
|
+
```bash
|
|
593
|
+
# Required for write operations (swaps, transfers, etc.)
|
|
594
|
+
PRIVATE_KEY=your_private_key_here
|
|
595
|
+
|
|
596
|
+
# Market Data (optional - has free tier)
|
|
597
|
+
COINGECKO_API_KEY=your_key # https://coingecko.com/api
|
|
598
|
+
COINSTATS_API_KEY=your_key # https://coinstats.app
|
|
599
|
+
|
|
600
|
+
# Social Sentiment (optional)
|
|
601
|
+
LUNARCRUSH_API_KEY=your_key # https://lunarcrush.com/developers
|
|
602
|
+
|
|
603
|
+
# News (optional)
|
|
604
|
+
CRYPTOPANIC_API_KEY=your_key # https://cryptopanic.com/developers
|
|
605
|
+
|
|
606
|
+
# Cross-chain Swaps (optional)
|
|
607
|
+
RUBIC_API_KEY=your_key # https://rubic.exchange
|
|
608
|
+
|
|
609
|
+
# Custom RPC endpoints (optional - uses public RPCs by default)
|
|
610
|
+
ETHEREUM_RPC_URL=https://mainnet.infura.io/v3/YOUR_KEY
|
|
611
|
+
ARBITRUM_RPC_URL=https://arb1.arbitrum.io/rpc
|
|
612
|
+
BASE_RPC_URL=https://mainnet.base.org
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
### What Works Without API Keys
|
|
616
|
+
|
|
617
|
+
| Feature | Without API Key | With API Key |
|
|
618
|
+
|---------|-----------------|--------------|
|
|
619
|
+
| Token prices | ✅ CoinGecko free tier | ✅ Higher rate limits |
|
|
620
|
+
| DeFi analytics | ✅ DefiLlama (free) | - |
|
|
621
|
+
| Security checks | ✅ GoPlus (free) | - |
|
|
622
|
+
| DEX analytics | ✅ GeckoTerminal (free) | - |
|
|
623
|
+
| Social sentiment | ❌ | ✅ LunarCrush |
|
|
624
|
+
| Crypto news | ❌ | ✅ CryptoPanic |
|
|
625
|
+
| Cross-chain swaps | ✅ Basic | ✅ Best routes |
|
|
626
|
+
|
|
627
|
+
---
|
|
628
|
+
|
|
629
|
+
## Documentation
|
|
630
|
+
|
|
631
|
+
https://universal-crypto-mcp.vercel.app
|
|
632
|
+
|
|
633
|
+
---
|
|
634
|
+
|
|
635
|
+
## 🗺️ Roadmap
|
|
636
|
+
|
|
637
|
+
A comprehensive roadmap of all crypto/blockchain/DeFi/Web3 features to be implemented.
|
|
638
|
+
|
|
639
|
+
### Legend
|
|
640
|
+
- ✅ Implemented
|
|
641
|
+
- 🚧 In Progress
|
|
642
|
+
- 📋 Planned
|
|
643
|
+
|
|
644
|
+
<details>
|
|
645
|
+
<summary><b>🔗 Core Blockchain Operations</b> (click to expand)</summary>
|
|
646
|
+
|
|
647
|
+
### 🔗 Core Blockchain Operations
|
|
648
|
+
|
|
649
|
+
#### Network & Chain
|
|
650
|
+
| Feature | Status |
|
|
651
|
+
|---------|--------|
|
|
652
|
+
| Get chain ID, block number, gas price | ✅ |
|
|
653
|
+
| Get network status/health | ✅ |
|
|
654
|
+
| Switch networks/chains | ✅ |
|
|
655
|
+
| Get supported networks list | ✅ |
|
|
656
|
+
| Get RPC endpoints | ✅ |
|
|
657
|
+
| Estimate block time | ✅ |
|
|
658
|
+
| Get chain metadata (name, symbol, explorers) | ✅ |
|
|
659
|
+
| Get finality status | ✅ |
|
|
660
|
+
| Get mempool/pending transactions | ✅ |
|
|
661
|
+
| Get network peers/nodes | ✅ |
|
|
662
|
+
| Get gas oracle | ✅ |
|
|
663
|
+
|
|
664
|
+
#### Blocks
|
|
665
|
+
| Feature | Status |
|
|
666
|
+
|---------|--------|
|
|
667
|
+
| Get block by number/hash | ✅ |
|
|
668
|
+
| Get latest block | ✅ |
|
|
669
|
+
| Get block transactions | ✅ |
|
|
670
|
+
| Get block receipts | ✅ |
|
|
671
|
+
| Get uncle blocks | ✅ |
|
|
672
|
+
| Subscribe to new blocks | 📋 |
|
|
673
|
+
| Get block rewards | ✅ |
|
|
674
|
+
| Get block gas used/limit | ✅ |
|
|
675
|
+
| Get block range | ✅ |
|
|
676
|
+
| Get blocks by miner | ✅ |
|
|
677
|
+
|
|
678
|
+
#### Transactions
|
|
679
|
+
| Feature | Status |
|
|
680
|
+
|---------|--------|
|
|
681
|
+
| Send transaction | ✅ |
|
|
682
|
+
| Get transaction by hash | ✅ |
|
|
683
|
+
| Get transaction receipt | ✅ |
|
|
684
|
+
| Get transaction status | ✅ |
|
|
685
|
+
| Estimate gas | ✅ |
|
|
686
|
+
| Speed up transaction (replace with higher gas) | ✅ |
|
|
687
|
+
| Cancel transaction | ✅ |
|
|
688
|
+
| Decode transaction input | ✅ |
|
|
689
|
+
| Simulate transaction | ✅ |
|
|
690
|
+
| Get transaction trace | 📋 |
|
|
691
|
+
| Get internal transactions | 📋 |
|
|
692
|
+
| Batch transactions | ✅ |
|
|
693
|
+
| Get pending transactions | ✅ |
|
|
694
|
+
| Get transaction history by address | ✅ |
|
|
695
|
+
|
|
696
|
+
#### Accounts/Wallets
|
|
697
|
+
| Feature | Status |
|
|
698
|
+
|---------|--------|
|
|
699
|
+
| Get balance (native/token) | ✅ |
|
|
700
|
+
| Get nonce | ✅ |
|
|
701
|
+
| Get transaction count | ✅ |
|
|
702
|
+
| Create wallet | ✅ |
|
|
703
|
+
| Import wallet (private key/mnemonic) | ✅ |
|
|
704
|
+
| Export private key | 📋 |
|
|
705
|
+
| Sign message | ✅ |
|
|
706
|
+
| Verify signature | ✅ |
|
|
707
|
+
| Get address from private key | ✅ |
|
|
708
|
+
| Generate mnemonic | ✅ |
|
|
709
|
+
| Derive addresses (HD wallet) | ✅ |
|
|
710
|
+
| Multi-sig wallet operations | 📋 |
|
|
711
|
+
| Get wallet permissions | 📋 |
|
|
712
|
+
| Revoke approvals | ✅ |
|
|
713
|
+
| Account abstraction (ERC-4337) | 📋 |
|
|
714
|
+
| Social recovery | 📋 |
|
|
715
|
+
| Hardware wallet integration | 📋 |
|
|
716
|
+
| Get wallet portfolio | ✅ |
|
|
717
|
+
| Get token approvals | ✅ |
|
|
718
|
+
|
|
719
|
+
</details>
|
|
720
|
+
|
|
721
|
+
<details>
|
|
722
|
+
<summary><b>💰 Token Operations</b> (click to expand)</summary>
|
|
723
|
+
|
|
724
|
+
### 💰 Token Operations
|
|
725
|
+
|
|
726
|
+
#### Native Tokens
|
|
727
|
+
| Feature | Status |
|
|
728
|
+
|---------|--------|
|
|
729
|
+
| Get native balance | ✅ |
|
|
730
|
+
| Transfer native tokens | ✅ |
|
|
731
|
+
| Wrap/unwrap native tokens (WETH, WBNB) | ✅ |
|
|
732
|
+
|
|
733
|
+
#### ERC-20 (Fungible Tokens)
|
|
734
|
+
| Feature | Status |
|
|
735
|
+
|---------|--------|
|
|
736
|
+
| Get token info (name, symbol, decimals, total supply) | ✅ |
|
|
737
|
+
| Get token balance | ✅ |
|
|
738
|
+
| Transfer tokens | ✅ |
|
|
739
|
+
| Approve spending | ✅ |
|
|
740
|
+
| Get allowance | ✅ |
|
|
741
|
+
| Transfer from (delegated) | ✅ |
|
|
742
|
+
| Burn tokens | ✅ |
|
|
743
|
+
| Mint tokens | ✅ |
|
|
744
|
+
| Get token holders | ✅ |
|
|
745
|
+
| Get token transfers | ✅ |
|
|
746
|
+
| Permit (gasless approvals - EIP-2612) | ✅ |
|
|
747
|
+
| Batch transfers | ✅ |
|
|
748
|
+
| Token snapshots | 📋 |
|
|
749
|
+
| Get token supply info | ✅ |
|
|
750
|
+
| Check/revoke token approval | ✅ |
|
|
751
|
+
|
|
752
|
+
#### ERC-721 (NFTs)
|
|
753
|
+
| Feature | Status |
|
|
754
|
+
|---------|--------|
|
|
755
|
+
| Get NFT metadata | ✅ |
|
|
756
|
+
| Get NFT owner | ✅ |
|
|
757
|
+
| Transfer NFT | ✅ |
|
|
758
|
+
| Approve NFT | ✅ |
|
|
759
|
+
| Set approval for all | ✅ |
|
|
760
|
+
| Get NFTs by owner | ✅ |
|
|
761
|
+
| Get NFT collection info | ✅ |
|
|
762
|
+
| Mint NFT | 📋 |
|
|
763
|
+
| Burn NFT | 📋 |
|
|
764
|
+
| Get NFT transfer history | 📋 |
|
|
765
|
+
| Get NFT traits/attributes | ✅ |
|
|
766
|
+
| Get NFT rarity | 📋 |
|
|
767
|
+
| Verify NFT authenticity | 📋 |
|
|
768
|
+
| Batch transfer NFTs | ✅ |
|
|
769
|
+
| Check NFT approval | ✅ |
|
|
770
|
+
| Revoke NFT approval | ✅ |
|
|
771
|
+
| Approve for marketplace | ✅ |
|
|
772
|
+
| Fetch NFT metadata from URI | ✅ |
|
|
773
|
+
|
|
774
|
+
#### ERC-1155 (Multi-Token)
|
|
775
|
+
| Feature | Status |
|
|
776
|
+
|---------|--------|
|
|
777
|
+
| Get token balance (fungible + NFT) | ✅ |
|
|
778
|
+
| Batch transfers | 📋 |
|
|
779
|
+
| Batch balance queries | 📋 |
|
|
780
|
+
| Safe transfer | ✅ |
|
|
781
|
+
| Get URI | ✅ |
|
|
782
|
+
|
|
783
|
+
#### Other Token Standards
|
|
784
|
+
| Feature | Status |
|
|
785
|
+
|---------|--------|
|
|
786
|
+
| ERC-777 (advanced fungible) | 📋 |
|
|
787
|
+
| ERC-3525 (semi-fungible) | 📋 |
|
|
788
|
+
| ERC-4626 (tokenized vaults) | 📋 |
|
|
789
|
+
| ERC-6551 (token-bound accounts) | 📋 |
|
|
790
|
+
| ERC-404 (hybrid tokens) | 📋 |
|
|
791
|
+
| Soulbound tokens (SBTs) | 📋 |
|
|
792
|
+
|
|
793
|
+
</details>
|
|
794
|
+
|
|
795
|
+
<details>
|
|
796
|
+
<summary><b>🏦 DeFi - DEX, Lending, Staking, Derivatives</b> (click to expand)</summary>
|
|
797
|
+
|
|
798
|
+
### 🏦 DeFi - Decentralized Exchanges (DEX)
|
|
799
|
+
|
|
800
|
+
#### Swaps
|
|
801
|
+
| Feature | Status |
|
|
802
|
+
|---------|--------|
|
|
803
|
+
| Get quote/price | ✅ |
|
|
804
|
+
| Swap exact tokens for tokens | ✅ |
|
|
805
|
+
| Swap tokens for exact tokens | ✅ |
|
|
806
|
+
| Multi-hop swaps | ✅ |
|
|
807
|
+
| Split route swaps | 📋 |
|
|
808
|
+
| Cross-DEX aggregation | ✅ |
|
|
809
|
+
| Limit orders | 📋 |
|
|
810
|
+
| TWAP orders (time-weighted) | 📋 |
|
|
811
|
+
| Stop-loss orders | 📋 |
|
|
812
|
+
| Get slippage estimate | ✅ |
|
|
813
|
+
| Get price impact | ✅ |
|
|
814
|
+
| MEV protection (private transactions) | 📋 |
|
|
815
|
+
|
|
816
|
+
#### DEX Analytics
|
|
817
|
+
| Feature | Status |
|
|
818
|
+
|---------|--------|
|
|
819
|
+
| Get trending pools | ✅ |
|
|
820
|
+
| Get new pools | ✅ |
|
|
821
|
+
| Get top pools by volume | ✅ |
|
|
822
|
+
| Get pool OHLCV data | ✅ |
|
|
823
|
+
| Get pool trades | ✅ |
|
|
824
|
+
| Get token pools | ✅ |
|
|
825
|
+
| Get DEX list | ✅ |
|
|
826
|
+
| Search pools cross-chain | ✅ |
|
|
827
|
+
| Get token price by contract | ✅ |
|
|
828
|
+
| Get pool transactions | ✅ |
|
|
829
|
+
| Multi-token price lookup | ✅ |
|
|
830
|
+
|
|
831
|
+
#### Liquidity Provision
|
|
832
|
+
| Feature | Status |
|
|
833
|
+
|---------|--------|
|
|
834
|
+
| Add liquidity | ✅ |
|
|
835
|
+
| Remove liquidity | ✅ |
|
|
836
|
+
| Get LP token balance | ✅ |
|
|
837
|
+
| Get pool reserves | ✅ |
|
|
838
|
+
| Get pool APY/APR | 📋 |
|
|
839
|
+
| Get impermanent loss estimate | 📋 |
|
|
840
|
+
| Concentrated liquidity (Uniswap V3) | 📋 |
|
|
841
|
+
| Set price range | 📋 |
|
|
842
|
+
| Collect fees | 📋 |
|
|
843
|
+
| Rebalance position | 📋 |
|
|
844
|
+
| Add liquidity with native token | ✅ |
|
|
845
|
+
| Calculate arbitrage opportunities | ✅ |
|
|
846
|
+
|
|
847
|
+
#### AMM Types Support
|
|
848
|
+
| Feature | Status |
|
|
849
|
+
|---------|--------|
|
|
850
|
+
| Constant product (x*y=k) | ✅ |
|
|
851
|
+
| Stable swap (Curve) | 📋 |
|
|
852
|
+
| Concentrated liquidity | 📋 |
|
|
853
|
+
| Order book hybrid | 📋 |
|
|
854
|
+
| Virtual AMM (perpetuals) | 📋 |
|
|
855
|
+
|
|
856
|
+
---
|
|
857
|
+
|
|
858
|
+
### 🏦 DeFi - Lending & Borrowing
|
|
859
|
+
|
|
860
|
+
#### Lending
|
|
861
|
+
| Feature | Status |
|
|
862
|
+
|---------|--------|
|
|
863
|
+
| Supply/deposit assets | ✅ |
|
|
864
|
+
| Withdraw assets | ✅ |
|
|
865
|
+
| Get supply APY | ✅ |
|
|
866
|
+
| Get supplied balance | ✅ |
|
|
867
|
+
| Get utilization rate | 📋 |
|
|
868
|
+
| Enable/disable as collateral | 📋 |
|
|
869
|
+
|
|
870
|
+
#### Borrowing
|
|
871
|
+
| Feature | Status |
|
|
872
|
+
|---------|--------|
|
|
873
|
+
| Borrow assets | ✅ |
|
|
874
|
+
| Repay debt | ✅ |
|
|
875
|
+
| Get borrow APY | ✅ |
|
|
876
|
+
| Get borrowed balance | ✅ |
|
|
877
|
+
| Get health factor | ✅ |
|
|
878
|
+
| Get liquidation threshold | ✅ |
|
|
879
|
+
| Get max borrowable amount | 📋 |
|
|
880
|
+
| Flash loans | ✅ |
|
|
881
|
+
| Get borrow limit | 📋 |
|
|
882
|
+
| Get flash loan info | ✅ |
|
|
883
|
+
|
|
884
|
+
#### Liquidations
|
|
885
|
+
| Feature | Status |
|
|
886
|
+
|---------|--------|
|
|
887
|
+
| Liquidate unhealthy positions | 📋 |
|
|
888
|
+
| Get liquidatable positions | ✅ |
|
|
889
|
+
| Get liquidation bonus | 📋 |
|
|
890
|
+
| Partial liquidations | 📋 |
|
|
891
|
+
|
|
892
|
+
#### Isolated Markets
|
|
893
|
+
| Feature | Status |
|
|
894
|
+
|---------|--------|
|
|
895
|
+
| Supply to isolated pool | 📋 |
|
|
896
|
+
| Borrow from isolated pool | 📋 |
|
|
897
|
+
| Get isolation mode debt ceiling | 📋 |
|
|
898
|
+
|
|
899
|
+
---
|
|
900
|
+
|
|
901
|
+
### 🥩 DeFi - Staking
|
|
902
|
+
|
|
903
|
+
#### Native Staking
|
|
904
|
+
| Feature | Status |
|
|
905
|
+
|---------|--------|
|
|
906
|
+
| Stake native tokens | ✅ |
|
|
907
|
+
| Unstake/withdraw | ✅ |
|
|
908
|
+
| Claim rewards | ✅ |
|
|
909
|
+
| Get staking APY | ✅ |
|
|
910
|
+
| Get validator list | 📋 |
|
|
911
|
+
| Delegate to validator | 📋 |
|
|
912
|
+
| Redelegate | 📋 |
|
|
913
|
+
| Get unbonding period | 📋 |
|
|
914
|
+
|
|
915
|
+
#### Liquid Staking
|
|
916
|
+
| Feature | Status |
|
|
917
|
+
|---------|--------|
|
|
918
|
+
| Stake for liquid staking tokens (stETH, rETH) | ✅ |
|
|
919
|
+
| Unwrap liquid staking tokens | ✅ |
|
|
920
|
+
| Get exchange rate | ✅ |
|
|
921
|
+
| Get staking rewards rate | ✅ |
|
|
922
|
+
|
|
923
|
+
#### LP Staking/Farming
|
|
924
|
+
| Feature | Status |
|
|
925
|
+
|---------|--------|
|
|
926
|
+
| Stake LP tokens | ✅ |
|
|
927
|
+
| Unstake LP tokens | ✅ |
|
|
928
|
+
| Claim farming rewards | ✅ |
|
|
929
|
+
| Get farming APY | ✅ |
|
|
930
|
+
| Compound rewards | 📋 |
|
|
931
|
+
| Get pending rewards | ✅ |
|
|
932
|
+
| Boost rewards (veTokens) | 📋 |
|
|
933
|
+
|
|
934
|
+
#### Restaking
|
|
935
|
+
| Feature | Status |
|
|
936
|
+
|---------|--------|
|
|
937
|
+
| Restake assets (EigenLayer) | 📋 |
|
|
938
|
+
| Get restaking points | 📋 |
|
|
939
|
+
| Choose operators | 📋 |
|
|
940
|
+
| Withdraw from restaking | 📋 |
|
|
941
|
+
|
|
942
|
+
---
|
|
943
|
+
|
|
944
|
+
### 📊 DeFi - Derivatives
|
|
945
|
+
|
|
946
|
+
#### Perpetual Futures
|
|
947
|
+
| Feature | Status |
|
|
948
|
+
|---------|--------|
|
|
949
|
+
| Open long/short position | 📋 |
|
|
950
|
+
| Close position | 📋 |
|
|
951
|
+
| Add/remove margin | 📋 |
|
|
952
|
+
| Set leverage | 📋 |
|
|
953
|
+
| Get funding rate | 📋 |
|
|
954
|
+
| Get open interest | 📋 |
|
|
955
|
+
| Get liquidation price | 📋 |
|
|
956
|
+
| Set stop-loss/take-profit | 📋 |
|
|
957
|
+
| Get PnL | 📋 |
|
|
958
|
+
| Partial close | 📋 |
|
|
959
|
+
|
|
960
|
+
#### Options
|
|
961
|
+
| Feature | Status |
|
|
962
|
+
|---------|--------|
|
|
963
|
+
| Buy call/put options | 📋 |
|
|
964
|
+
| Sell/write options | 📋 |
|
|
965
|
+
| Exercise options | 📋 |
|
|
966
|
+
| Get option greeks | 📋 |
|
|
967
|
+
| Get implied volatility | 📋 |
|
|
968
|
+
| Get option chain | 📋 |
|
|
969
|
+
| Spread strategies | 📋 |
|
|
970
|
+
|
|
971
|
+
#### Synthetics
|
|
972
|
+
| Feature | Status |
|
|
973
|
+
|---------|--------|
|
|
974
|
+
| Mint synthetic assets | 📋 |
|
|
975
|
+
| Burn synthetic assets | 📋 |
|
|
976
|
+
| Get collateral ratio | 📋 |
|
|
977
|
+
| Get synthetic price feed | 📋 |
|
|
978
|
+
| Liquidate synthetic positions | 📋 |
|
|
979
|
+
|
|
980
|
+
</details>
|
|
981
|
+
|
|
982
|
+
<details>
|
|
983
|
+
<summary><b>🌉 Cross-Chain, Governance, Security, NFTs</b> (click to expand)</summary>
|
|
984
|
+
|
|
985
|
+
### 🌉 Cross-Chain & Bridges
|
|
986
|
+
|
|
987
|
+
#### Bridging
|
|
988
|
+
| Feature | Status |
|
|
989
|
+
|---------|--------|
|
|
990
|
+
| Bridge tokens cross-chain | ✅ |
|
|
991
|
+
| Get bridge quote | ✅ |
|
|
992
|
+
| Get bridge status | ✅ |
|
|
993
|
+
| Get supported chains | ✅ |
|
|
994
|
+
| Get supported tokens | ✅ |
|
|
995
|
+
| Claim bridged tokens | 📋 |
|
|
996
|
+
| Get bridge fees | ✅ |
|
|
997
|
+
| Get estimated time | ✅ |
|
|
998
|
+
|
|
999
|
+
#### Cross-Chain Messaging
|
|
1000
|
+
| Feature | Status |
|
|
1001
|
+
|---------|--------|
|
|
1002
|
+
| Send cross-chain message | 📋 |
|
|
1003
|
+
| Receive cross-chain message | 📋 |
|
|
1004
|
+
| LayerZero operations | 📋 |
|
|
1005
|
+
| Axelar operations | 📋 |
|
|
1006
|
+
| Wormhole operations | 📋 |
|
|
1007
|
+
| CCIP (Chainlink) | 📋 |
|
|
1008
|
+
| Hyperlane operations | 📋 |
|
|
1009
|
+
|
|
1010
|
+
#### Atomic Swaps
|
|
1011
|
+
| Feature | Status |
|
|
1012
|
+
|---------|--------|
|
|
1013
|
+
| Initiate atomic swap | 📋 |
|
|
1014
|
+
| Complete atomic swap | 📋 |
|
|
1015
|
+
| Refund atomic swap | 📋 |
|
|
1016
|
+
|
|
1017
|
+
---
|
|
1018
|
+
|
|
1019
|
+
### 🗳️ Governance
|
|
1020
|
+
|
|
1021
|
+
#### Voting
|
|
1022
|
+
| Feature | Status |
|
|
1023
|
+
|---------|--------|
|
|
1024
|
+
| Create proposal | ✅ |
|
|
1025
|
+
| Vote on proposal | ✅ |
|
|
1026
|
+
| Delegate votes | ✅ |
|
|
1027
|
+
| Get voting power | ✅ |
|
|
1028
|
+
| Get proposal state | ✅ |
|
|
1029
|
+
| Queue proposal | ✅ |
|
|
1030
|
+
| Execute proposal | ✅ |
|
|
1031
|
+
| Cancel proposal | ✅ |
|
|
1032
|
+
| Get vote receipt | ✅ |
|
|
1033
|
+
|
|
1034
|
+
#### Token Locking
|
|
1035
|
+
| Feature | Status |
|
|
1036
|
+
|---------|--------|
|
|
1037
|
+
| Lock tokens for voting (veTokens) | 📋 |
|
|
1038
|
+
| Extend lock period | 📋 |
|
|
1039
|
+
| Increase locked amount | 📋 |
|
|
1040
|
+
| Withdraw unlocked tokens | 📋 |
|
|
1041
|
+
| Get lock info | 📋 |
|
|
1042
|
+
|
|
1043
|
+
#### Snapshot (Off-chain)
|
|
1044
|
+
| Feature | Status |
|
|
1045
|
+
|---------|--------|
|
|
1046
|
+
| Create space | 📋 |
|
|
1047
|
+
| Create off-chain proposal | 📋 |
|
|
1048
|
+
| Vote off-chain | 📋 |
|
|
1049
|
+
| Get snapshot results | 📋 |
|
|
1050
|
+
|
|
1051
|
+
---
|
|
1052
|
+
|
|
1053
|
+
### 🔐 Security & Analysis
|
|
1054
|
+
|
|
1055
|
+
#### Contract Analysis
|
|
1056
|
+
| Feature | Status |
|
|
1057
|
+
|---------|--------|
|
|
1058
|
+
| Verify contract source | ✅ |
|
|
1059
|
+
| Get contract ABI | ✅ |
|
|
1060
|
+
| Check if contract is proxy | ✅ |
|
|
1061
|
+
| Get implementation address | ✅ |
|
|
1062
|
+
| Detect honeypots | ✅ |
|
|
1063
|
+
| Check for rug pull risks | ✅ |
|
|
1064
|
+
| GoPlus token security check | ✅ |
|
|
1065
|
+
| GoPlus rug pull detection | ✅ |
|
|
1066
|
+
| Audit score | 📋 |
|
|
1067
|
+
| Get contract creator | ✅ |
|
|
1068
|
+
| Get contract age | ✅ |
|
|
1069
|
+
| Detect malicious functions | ✅ |
|
|
1070
|
+
|
|
1071
|
+
#### Token Security
|
|
1072
|
+
| Feature | Status |
|
|
1073
|
+
|---------|--------|
|
|
1074
|
+
| Check token safety | ✅ |
|
|
1075
|
+
| Get holder distribution | ✅ |
|
|
1076
|
+
| Check if mintable | ✅ |
|
|
1077
|
+
| Check if pausable | ✅ |
|
|
1078
|
+
| Check for hidden fees | ✅ |
|
|
1079
|
+
| Check liquidity locked | ✅ |
|
|
1080
|
+
| Get top holders | ✅ |
|
|
1081
|
+
| Check ownership renounced | ✅ |
|
|
1082
|
+
| GoPlus NFT security | ✅ |
|
|
1083
|
+
| GoPlus approval security | ✅ |
|
|
1084
|
+
|
|
1085
|
+
#### Wallet Security
|
|
1086
|
+
| Feature | Status |
|
|
1087
|
+
|---------|--------|
|
|
1088
|
+
| Get approval list | ✅ |
|
|
1089
|
+
| Revoke approvals | ✅ |
|
|
1090
|
+
| Check for drainers | ✅ |
|
|
1091
|
+
| Simulate transaction safety | ✅ |
|
|
1092
|
+
| Get wallet risk score | 📋 |
|
|
1093
|
+
| GoPlus address security | ✅ |
|
|
1094
|
+
| GoPlus dApp phishing check | ✅ |
|
|
1095
|
+
| GoPlus signature decode | ✅ |
|
|
1096
|
+
|
|
1097
|
+
---
|
|
1098
|
+
|
|
1099
|
+
### 📈 Price & Market Data
|
|
1100
|
+
|
|
1101
|
+
#### Price Feeds
|
|
1102
|
+
| Feature | Status |
|
|
1103
|
+
|---------|--------|
|
|
1104
|
+
| Get current price | ✅ |
|
|
1105
|
+
| Get historical prices | ✅ |
|
|
1106
|
+
| Get OHLCV data | ✅ |
|
|
1107
|
+
| Get price from DEX | ✅ |
|
|
1108
|
+
| Get price from oracle (Chainlink, Pyth) | ✅ |
|
|
1109
|
+
| Get TWAP price | ✅ |
|
|
1110
|
+
| Get price across exchanges | ✅ |
|
|
1111
|
+
| Get volume | ✅ |
|
|
1112
|
+
| Get market cap | ✅ |
|
|
1113
|
+
| Get trending coins | ✅ |
|
|
1114
|
+
| Get token by contract address | ✅ |
|
|
1115
|
+
| Get exchange rates | ✅ |
|
|
1116
|
+
| Get coin categories | ✅ |
|
|
1117
|
+
| Get derivatives data | ✅ |
|
|
1118
|
+
| Get company BTC/ETH holdings | ✅ |
|
|
1119
|
+
|
|
1120
|
+
#### Analytics
|
|
1121
|
+
| Feature | Status |
|
|
1122
|
+
|---------|--------|
|
|
1123
|
+
| Get TVL (Total Value Locked) | ✅ |
|
|
1124
|
+
| Get protocol metrics | ✅ |
|
|
1125
|
+
| Get yield farming APYs | ✅ |
|
|
1126
|
+
| Get gas tracker | ✅ |
|
|
1127
|
+
| Get whale transactions | 📋 |
|
|
1128
|
+
| Get token flow analysis | 📋 |
|
|
1129
|
+
| Get DEX volume | ✅ |
|
|
1130
|
+
| Get lending metrics | 📋 |
|
|
1131
|
+
| Get DeFi fees & revenue | ✅ |
|
|
1132
|
+
| Get stablecoin data | ✅ |
|
|
1133
|
+
| Get bridge volumes | ✅ |
|
|
1134
|
+
| Get liquidation data | ✅ |
|
|
1135
|
+
| Get DeFi hacks history | ✅ |
|
|
1136
|
+
| Get perpetuals data | ✅ |
|
|
1137
|
+
|
|
1138
|
+
---
|
|
1139
|
+
|
|
1140
|
+
### 🆔 Identity & Domains
|
|
1141
|
+
|
|
1142
|
+
#### ENS (Ethereum Name Service)
|
|
1143
|
+
| Feature | Status |
|
|
1144
|
+
|---------|--------|
|
|
1145
|
+
| Register domain | ✅ |
|
|
1146
|
+
| Resolve name to address | ✅ |
|
|
1147
|
+
| Reverse resolve address to name | ✅ |
|
|
1148
|
+
| Set primary name | 📋 |
|
|
1149
|
+
| Set records (text, address, content hash) | ✅ |
|
|
1150
|
+
| Transfer domain | ✅ |
|
|
1151
|
+
| Renew domain | ✅ |
|
|
1152
|
+
| Get expiry date | 📋 |
|
|
1153
|
+
| Set subdomains | ✅ |
|
|
1154
|
+
|
|
1155
|
+
#### Other Name Services
|
|
1156
|
+
| Feature | Status |
|
|
1157
|
+
|---------|--------|
|
|
1158
|
+
| Unstoppable Domains | 📋 |
|
|
1159
|
+
| Space ID (.bnb) | 📋 |
|
|
1160
|
+
| Bonfida (.sol) | 📋 |
|
|
1161
|
+
| ANS (.avax) | 📋 |
|
|
1162
|
+
|
|
1163
|
+
#### DIDs & Verifiable Credentials
|
|
1164
|
+
| Feature | Status |
|
|
1165
|
+
|---------|--------|
|
|
1166
|
+
| Create DID | 📋 |
|
|
1167
|
+
| Resolve DID | 📋 |
|
|
1168
|
+
| Issue verifiable credential | 📋 |
|
|
1169
|
+
| Verify credential | 📋 |
|
|
1170
|
+
| Revoke credential | 📋 |
|
|
1171
|
+
|
|
1172
|
+
---
|
|
1173
|
+
|
|
1174
|
+
### 🖼️ NFT & Metaverse
|
|
1175
|
+
|
|
1176
|
+
#### NFT Marketplace
|
|
1177
|
+
| Feature | Status |
|
|
1178
|
+
|---------|--------|
|
|
1179
|
+
| List NFT for sale | 📋 |
|
|
1180
|
+
| Buy NFT | 📋 |
|
|
1181
|
+
| Make offer | 📋 |
|
|
1182
|
+
| Accept offer | 📋 |
|
|
1183
|
+
| Cancel listing | 📋 |
|
|
1184
|
+
| Auction NFT | 📋 |
|
|
1185
|
+
| Bid on auction | 📋 |
|
|
1186
|
+
| Get floor price | 📋 |
|
|
1187
|
+
| Get collection stats | 📋 |
|
|
1188
|
+
|
|
1189
|
+
#### NFT Creation
|
|
1190
|
+
| Feature | Status |
|
|
1191
|
+
|---------|--------|
|
|
1192
|
+
| Deploy NFT collection | 📋 |
|
|
1193
|
+
| Mint NFTs | 📋 |
|
|
1194
|
+
| Set royalties | 📋 |
|
|
1195
|
+
| Set metadata | 📋 |
|
|
1196
|
+
| Reveal NFTs | 📋 |
|
|
1197
|
+
| Whitelist management | 📋 |
|
|
1198
|
+
| Airdrop NFTs | 📋 |
|
|
1199
|
+
|
|
1200
|
+
#### NFT Finance
|
|
1201
|
+
| Feature | Status |
|
|
1202
|
+
|---------|--------|
|
|
1203
|
+
| NFT collateralized loans | 📋 |
|
|
1204
|
+
| NFT fractionalization | 📋 |
|
|
1205
|
+
| NFT renting | 📋 |
|
|
1206
|
+
| NFT staking | 📋 |
|
|
1207
|
+
|
|
1208
|
+
#### Metaverse
|
|
1209
|
+
| Feature | Status |
|
|
1210
|
+
|---------|--------|
|
|
1211
|
+
| Buy virtual land | 📋 |
|
|
1212
|
+
| Sell virtual land | 📋 |
|
|
1213
|
+
| Build on land | 📋 |
|
|
1214
|
+
| Transfer assets between metaverses | 📋 |
|
|
1215
|
+
|
|
1216
|
+
---
|
|
1217
|
+
|
|
1218
|
+
### 🔔 Events & Subscriptions
|
|
1219
|
+
|
|
1220
|
+
#### Event Listening
|
|
1221
|
+
| Feature | Status |
|
|
1222
|
+
|---------|--------|
|
|
1223
|
+
| Subscribe to contract events | 📋 |
|
|
1224
|
+
| Subscribe to pending transactions | 📋 |
|
|
1225
|
+
| Subscribe to new blocks | 📋 |
|
|
1226
|
+
| Subscribe to logs | 📋 |
|
|
1227
|
+
| Filter events by topic | ✅ |
|
|
1228
|
+
| Get historical events | ✅ |
|
|
1229
|
+
| Decode event logs | ✅ |
|
|
1230
|
+
|
|
1231
|
+
#### Webhooks & Notifications
|
|
1232
|
+
| Feature | Status |
|
|
1233
|
+
|---------|--------|
|
|
1234
|
+
| Set up webhook for events | 📋 |
|
|
1235
|
+
| Get transaction notifications | 📋 |
|
|
1236
|
+
| Get price alerts | 📋 |
|
|
1237
|
+
| Get whale alerts | 📋 |
|
|
1238
|
+
| Get governance notifications | 📋 |
|
|
1239
|
+
|
|
1240
|
+
---
|
|
1241
|
+
|
|
1242
|
+
### 📜 Smart Contract Interaction
|
|
1243
|
+
|
|
1244
|
+
#### Read Operations
|
|
1245
|
+
| Feature | Status |
|
|
1246
|
+
|---------|--------|
|
|
1247
|
+
| Call view/pure functions | ✅ |
|
|
1248
|
+
| Get storage at slot | ✅ |
|
|
1249
|
+
| Get contract bytecode | ✅ |
|
|
1250
|
+
| Multicall (batch reads) | ✅ |
|
|
1251
|
+
| Static call simulation | ✅ |
|
|
1252
|
+
|
|
1253
|
+
#### Write Operations
|
|
1254
|
+
| Feature | Status |
|
|
1255
|
+
|---------|--------|
|
|
1256
|
+
| Send transaction to contract | ✅ |
|
|
1257
|
+
| Encode function call | ✅ |
|
|
1258
|
+
| Decode function result | ✅ |
|
|
1259
|
+
| Estimate gas for call | ✅ |
|
|
1260
|
+
| Batch transactions | ✅ |
|
|
1261
|
+
|
|
1262
|
+
#### Contract Deployment
|
|
1263
|
+
| Feature | Status |
|
|
1264
|
+
|---------|--------|
|
|
1265
|
+
| Deploy contract | ✅ |
|
|
1266
|
+
| Deploy with CREATE2 | ✅ |
|
|
1267
|
+
| Deploy proxy contract | ✅ |
|
|
1268
|
+
| Upgrade proxy | ✅ |
|
|
1269
|
+
| Verify on explorer | ✅ |
|
|
1270
|
+
|
|
1271
|
+
---
|
|
1272
|
+
|
|
1273
|
+
### 🤖 Advanced Features
|
|
1274
|
+
|
|
1275
|
+
#### MEV & Flashbots
|
|
1276
|
+
| Feature | Status |
|
|
1277
|
+
|---------|--------|
|
|
1278
|
+
| Submit private transaction | ✅ |
|
|
1279
|
+
| Submit bundle | ✅ |
|
|
1280
|
+
| Get MEV opportunities | ✅ |
|
|
1281
|
+
| Backrun protection | ✅ |
|
|
1282
|
+
| Frontrun protection | ✅ |
|
|
1283
|
+
| Sandwich protection | ✅ |
|
|
1284
|
+
|
|
1285
|
+
#### Account Abstraction (ERC-4337)
|
|
1286
|
+
| Feature | Status |
|
|
1287
|
+
|---------|--------|
|
|
1288
|
+
| Create smart account | 📋 |
|
|
1289
|
+
| Execute user operation | 📋 |
|
|
1290
|
+
| Batch operations | 📋 |
|
|
1291
|
+
| Sponsor gas (Paymaster) | 📋 |
|
|
1292
|
+
| Session keys | 📋 |
|
|
1293
|
+
| Social recovery | 📋 |
|
|
1294
|
+
|
|
1295
|
+
#### Intents & Solvers
|
|
1296
|
+
| Feature | Status |
|
|
1297
|
+
|---------|--------|
|
|
1298
|
+
| Submit intent | 📋 |
|
|
1299
|
+
| Get solver quotes | 📋 |
|
|
1300
|
+
| Execute via solver | 📋 |
|
|
1301
|
+
|
|
1302
|
+
#### Oracles
|
|
1303
|
+
| Feature | Status |
|
|
1304
|
+
|---------|--------|
|
|
1305
|
+
| Get Chainlink price | ✅ |
|
|
1306
|
+
| Get Pyth price | 📋 |
|
|
1307
|
+
| Get Band Protocol price | 📋 |
|
|
1308
|
+
| Get API3 price | 📋 |
|
|
1309
|
+
| Request randomness (VRF) | 📋 |
|
|
1310
|
+
| Request external data | 📋 |
|
|
1311
|
+
|
|
1312
|
+
---
|
|
1313
|
+
|
|
1314
|
+
### 🛠️ Utility Functions
|
|
1315
|
+
|
|
1316
|
+
#### Gas
|
|
1317
|
+
| Feature | Status |
|
|
1318
|
+
|---------|--------|
|
|
1319
|
+
| Get gas price | ✅ |
|
|
1320
|
+
| Get priority fee | ✅ |
|
|
1321
|
+
| Get base fee | ✅ |
|
|
1322
|
+
| Get gas history | ✅ |
|
|
1323
|
+
| Estimate gas for transaction | ✅ |
|
|
1324
|
+
| Get EIP-1559 fees | ✅ |
|
|
1325
|
+
|
|
1326
|
+
#### Encoding/Decoding
|
|
1327
|
+
| Feature | Status |
|
|
1328
|
+
|---------|--------|
|
|
1329
|
+
| ABI encode | ✅ |
|
|
1330
|
+
| ABI decode | ✅ |
|
|
1331
|
+
| Keccak256 hash | ✅ |
|
|
1332
|
+
| Pack/unpack data | ✅ |
|
|
1333
|
+
| Sign typed data (EIP-712) | ✅ |
|
|
1334
|
+
|
|
1335
|
+
#### Address Utils
|
|
1336
|
+
| Feature | Status |
|
|
1337
|
+
|---------|--------|
|
|
1338
|
+
| Validate address | ✅ |
|
|
1339
|
+
| Checksum address | ✅ |
|
|
1340
|
+
| Get address from ENS | ✅ |
|
|
1341
|
+
| Check if contract | ✅ |
|
|
1342
|
+
| Get contract type | 📋 |
|
|
1343
|
+
|
|
1344
|
+
---
|
|
1345
|
+
|
|
1346
|
+
### 📰 Data & Information
|
|
1347
|
+
|
|
1348
|
+
#### News & Social
|
|
1349
|
+
| Feature | Status |
|
|
1350
|
+
|---------|--------|
|
|
1351
|
+
| Get crypto news | ✅ |
|
|
1352
|
+
| Search crypto news | ✅ |
|
|
1353
|
+
| Get DeFi news | ✅ |
|
|
1354
|
+
| Get Bitcoin news | ✅ |
|
|
1355
|
+
| Get breaking news | ✅ |
|
|
1356
|
+
| Get social sentiment | ✅ |
|
|
1357
|
+
| Get influencer rankings | ✅ |
|
|
1358
|
+
| Get trending topics | ✅ |
|
|
1359
|
+
| Get coin social metrics | ✅ |
|
|
1360
|
+
| Get social feed | ✅ |
|
|
1361
|
+
| Get market sentiment index | ✅ |
|
|
1362
|
+
| Get Galaxy Score | ✅ |
|
|
1363
|
+
| Get AltRank | ✅ |
|
|
1364
|
+
| Get Twitter mentions | 📋 |
|
|
1365
|
+
| Get Discord activity | 📋 |
|
|
1366
|
+
| Get GitHub activity | 📋 |
|
|
1367
|
+
|
|
1368
|
+
#### On-Chain Data
|
|
1369
|
+
| Feature | Status |
|
|
1370
|
+
|---------|--------|
|
|
1371
|
+
| Get token holders | 📋 |
|
|
1372
|
+
| Get whale wallets | 📋 |
|
|
1373
|
+
| Get smart money movements | 📋 |
|
|
1374
|
+
| Get protocol users | 📋 |
|
|
1375
|
+
| Get daily active addresses | 📋 |
|
|
1376
|
+
| Get network hash rate | 📋 |
|
|
1377
|
+
|
|
1378
|
+
</details>
|
|
1379
|
+
|
|
1380
|
+
<details>
|
|
1381
|
+
<summary><b>🏛️ Institutional & Compliance</b> (click to expand)</summary>
|
|
1382
|
+
|
|
1383
|
+
### 🏛️ Institutional & Compliance
|
|
1384
|
+
|
|
1385
|
+
#### KYC/AML
|
|
1386
|
+
| Feature | Status |
|
|
1387
|
+
|---------|--------|
|
|
1388
|
+
| Wallet screening | 📋 |
|
|
1389
|
+
| Transaction monitoring | 📋 |
|
|
1390
|
+
| Risk scoring | 📋 |
|
|
1391
|
+
| Sanctions checking | 📋 |
|
|
1392
|
+
|
|
1393
|
+
#### Custody
|
|
1394
|
+
| Feature | Status |
|
|
1395
|
+
|---------|--------|
|
|
1396
|
+
| Multi-sig operations | 📋 |
|
|
1397
|
+
| Cold storage | 📋 |
|
|
1398
|
+
| Hot wallet management | 📋 |
|
|
1399
|
+
| Policy enforcement | 📋 |
|
|
1400
|
+
|
|
1401
|
+
#### Reporting
|
|
1402
|
+
| Feature | Status |
|
|
1403
|
+
|---------|--------|
|
|
1404
|
+
| Tax reporting | 📋 |
|
|
1405
|
+
| Portfolio tracking | ✅ |
|
|
1406
|
+
| P&L reporting | 📋 |
|
|
1407
|
+
| Transaction history export | 📋 |
|
|
1408
|
+
|
|
1409
|
+
</details>
|
|
1410
|
+
|
|
1411
|
+
---
|
|
1412
|
+
|
|
1413
|
+
## Data Sources
|
|
1414
|
+
|
|
1415
|
+
This MCP server integrates with the following APIs:
|
|
1416
|
+
|
|
1417
|
+
| Provider | Data Type | API Key Required |
|
|
1418
|
+
|----------|-----------|------------------|
|
|
1419
|
+
| [CoinGecko](https://coingecko.com) | Market data, prices, OHLCV | Optional (free tier) |
|
|
1420
|
+
| [CoinStats](https://coinstats.app) | Portfolio, prices, wallets | Yes |
|
|
1421
|
+
| [DefiLlama](https://defillama.com) | TVL, yields, fees, protocols | No |
|
|
1422
|
+
| [LunarCrush](https://lunarcrush.com) | Social sentiment, influencers | Yes |
|
|
1423
|
+
| [GoPlus](https://gopluslabs.io) | Security analysis, honeypot detection | No |
|
|
1424
|
+
| [GeckoTerminal](https://geckoterminal.com) | DEX pools, trades, OHLCV | No |
|
|
1425
|
+
| [DexPaprika](https://dexpaprika.com) | DEX analytics, pools | No |
|
|
1426
|
+
| [CryptoPanic](https://cryptopanic.com) | Crypto news | Yes |
|
|
1427
|
+
| [Alternative.me](https://alternative.me) | Fear & Greed Index | No |
|
|
1428
|
+
|
|
1429
|
+
---
|
|
1430
|
+
|
|
1431
|
+
## Related MCP Servers
|
|
1432
|
+
|
|
1433
|
+
Additional specialized MCP servers in this workspace:
|
|
1434
|
+
|
|
1435
|
+
| Server | Description | Tools |
|
|
1436
|
+
|--------|-------------|-------|
|
|
1437
|
+
| [binance-mcp-server](./binance-mcp-server/) | Binance.com global exchange API | 156+ tools |
|
|
1438
|
+
| [binance-us-mcp-server](./binance-us-mcp-server/) | Binance.US exchange API | 71+ tools |
|
|
1439
|
+
|
|
1440
|
+
### Binance.com Server
|
|
1441
|
+
Full Binance global API coverage including:
|
|
1442
|
+
- Spot trading, wallet, staking, mining
|
|
1443
|
+
- Convert, Simple Earn, Algo Trading (TWAP/VP)
|
|
1444
|
+
- NFT, Pay, Copy Trading, Dual Investment
|
|
1445
|
+
- VIP Loans, C2C/P2P, Fiat
|
|
1446
|
+
|
|
1447
|
+
```json
|
|
1448
|
+
{
|
|
1449
|
+
"mcpServers": {
|
|
1450
|
+
"binance": {
|
|
1451
|
+
"command": "npx",
|
|
1452
|
+
"args": ["ts-node", "binance-mcp-server/src/index.ts"],
|
|
1453
|
+
"env": {
|
|
1454
|
+
"BINANCE_API_KEY": "your_key",
|
|
1455
|
+
"BINANCE_API_SECRET": "your_secret"
|
|
1456
|
+
}
|
|
1457
|
+
}
|
|
1458
|
+
}
|
|
1459
|
+
}
|
|
1460
|
+
```
|
|
1461
|
+
|
|
1462
|
+
### Binance.US Server
|
|
1463
|
+
US-regulated exchange with:
|
|
1464
|
+
- Market data, spot trading, wallet
|
|
1465
|
+
- Staking, OTC, sub-accounts
|
|
1466
|
+
- Custodial solutions (institutional)
|
|
1467
|
+
|
|
1468
|
+
```json
|
|
1469
|
+
{
|
|
1470
|
+
"mcpServers": {
|
|
1471
|
+
"binance-us": {
|
|
1472
|
+
"command": "node",
|
|
1473
|
+
"args": ["binance-us-mcp-server/build/index.js"],
|
|
1474
|
+
"env": {
|
|
1475
|
+
"BINANCE_US_API_KEY": "your_key",
|
|
1476
|
+
"BINANCE_US_API_SECRET": "your_secret"
|
|
1477
|
+
}
|
|
1478
|
+
}
|
|
1479
|
+
}
|
|
1480
|
+
}
|
|
1481
|
+
```
|
|
1482
|
+
|
|
1483
|
+
---
|
|
1484
|
+
|
|
1485
|
+
## Credits
|
|
1486
|
+
|
|
1487
|
+
Built by **[nich](https://x.com/nichxbt)** ([github.com/nirholas](https://github.com/nirholas))
|
|
1488
|
+
|
|
1489
|
+
---
|
|
1490
|
+
|
|
1491
|
+
## 🏢 Who's Using This?
|
|
1492
|
+
|
|
1493
|
+
Universal Crypto MCP is used by developers and teams building:
|
|
1494
|
+
|
|
1495
|
+
- 🤖 **AI Trading Bots** - Automated portfolio management
|
|
1496
|
+
- 📊 **Analytics Dashboards** - DeFi monitoring tools
|
|
1497
|
+
- 🔒 **Security Auditors** - Token vetting workflows
|
|
1498
|
+
- 🏦 **DeFi Applications** - Cross-chain operations
|
|
1499
|
+
- 📱 **Mobile Apps** - Crypto portfolio trackers
|
|
1500
|
+
- 🎓 **Educational Tools** - Blockchain learning platforms
|
|
1501
|
+
|
|
1502
|
+
> **Using Universal Crypto MCP?** [Let us know!](https://github.com/nirholas/universal-crypto-mcp/issues/new?title=Add%20my%20project%20to%20Who's%20Using%20This) We'd love to feature your project.
|
|
1503
|
+
|
|
1504
|
+
---
|
|
1505
|
+
|
|
1506
|
+
## 🤝 Contributing
|
|
1507
|
+
|
|
1508
|
+
We welcome contributions of all kinds! Please read our [Contributing Guide](CONTRIBUTING.md) for details.
|
|
1509
|
+
|
|
1510
|
+
### Quick Start for Contributors
|
|
1511
|
+
|
|
1512
|
+
```bash
|
|
1513
|
+
# Fork and clone the repo
|
|
1514
|
+
git clone https://github.com/YOUR_USERNAME/universal-crypto-mcp.git
|
|
1515
|
+
cd universal-crypto-mcp
|
|
1516
|
+
|
|
1517
|
+
# Install dependencies
|
|
1518
|
+
npm install
|
|
1519
|
+
|
|
1520
|
+
# Create a feature branch
|
|
1521
|
+
git checkout -b feat/your-feature
|
|
1522
|
+
|
|
1523
|
+
# Make your changes, then run checks
|
|
1524
|
+
npm run lint # Check code style
|
|
1525
|
+
npm test # Run tests
|
|
1526
|
+
npm run test:coverage # Check coverage
|
|
1527
|
+
|
|
1528
|
+
# Commit with conventional commits
|
|
1529
|
+
git commit -m "feat(module): add new feature"
|
|
1530
|
+
|
|
1531
|
+
# Push and create a PR
|
|
1532
|
+
git push origin feat/your-feature
|
|
1533
|
+
```
|
|
1534
|
+
|
|
1535
|
+
### Code Style
|
|
1536
|
+
|
|
1537
|
+
We use **Prettier** for formatting and **ESLint** for linting:
|
|
1538
|
+
|
|
1539
|
+
```bash
|
|
1540
|
+
npm run format # Format code
|
|
1541
|
+
npm run lint # Check types and lint
|
|
1542
|
+
npm run lint:fix # Auto-fix issues
|
|
1543
|
+
```
|
|
1544
|
+
|
|
1545
|
+
### Ways to Contribute
|
|
1546
|
+
|
|
1547
|
+
- 🐛 [Report bugs](https://github.com/nirholas/universal-crypto-mcp/issues/new?template=bug_report.yml)
|
|
1548
|
+
- 💡 [Request features](https://github.com/nirholas/universal-crypto-mcp/issues/new?template=feature_request.yml)
|
|
1549
|
+
- 📖 [Improve docs](https://github.com/nirholas/universal-crypto-mcp/edit/main/README.md)
|
|
1550
|
+
- 🔧 Submit pull requests
|
|
1551
|
+
- ⭐ [Star the repo](https://github.com/nirholas/universal-crypto-mcp/stargazers)
|
|
1552
|
+
|
|
1553
|
+
---
|
|
1554
|
+
|
|
1555
|
+
## 📜 License
|
|
1556
|
+
|
|
1557
|
+
Apache-2.0 © [nich](https://github.com/nirholas)
|
|
1558
|
+
|
|
1559
|
+
---
|
|
1560
|
+
|
|
1561
|
+
<p align="center">
|
|
1562
|
+
<b>Stop copy-pasting blockchain queries. Let AI do it.</b><br>
|
|
1563
|
+
<sub>Made with 💜 for the crypto community</sub>
|
|
1564
|
+
</p>
|
|
1565
|
+
|
|
1566
|
+
<p align="center">
|
|
1567
|
+
<a href="https://github.com/nirholas/universal-crypto-mcp/stargazers">
|
|
1568
|
+
<img src="https://img.shields.io/github/stars/nirholas/universal-crypto-mcp?style=social" alt="Star on GitHub">
|
|
1569
|
+
</a>
|
|
1570
|
+
</p>
|