Pond3r Crypto Intelligence Skill
Use this skill when the agent needs to query crypto/DeFi data: yields, protocol metrics, token opportunities, market analysis, or blockchain analytics. Pond3r provides an MCP server with read-only SQL access to curated datasets.
Prerequisites
- API key: Obtain at makeit.pond3r.xyz/api-keys
- MCP setup: Pond3r must be configured as an MCP server in the runtime (Claude Code, Cursor, Claude Desktop, etc.)
Setup: Where Is the Agent Running?
The agent needs MCP tools (list_datasets, get_schema, query) to use Pond3r. Those tools come from the runtime that executes the agent — not from the skill or env vars alone.
| Runtime |
How to enable Pond3r |
| Cursor |
Cursor Settings → MCP Servers → Add server (URL + Authorization header). See MCP Connection below. |
| Claude Desktop |
Add Pond3r to claude_desktop_config.json under mcpServers. Restart Claude. |
| Claude Code |
Run claude mcp add pond3r-data ... (see below). |
| OpenClaw (Docker/Telegram) |
Use the CLI scripts below. They call Pond3r MCP via HTTP. Set POND3R_API_KEY in .env; the agent runs the scripts and parses JSON output. |
No extra info for the agent — the skill is enough. For runtimes with native MCP, add the API key in the MCP server config. For OpenClaw, use the scripts and POND3R_API_KEY in env.
MCP Connection
| Setting |
Value |
| URL |
https://mcp.pond3r.xyz/mcp |
| Transport |
Streamable HTTP |
| Auth |
Authorization: Bearer <API_KEY> |
Cursor
- Open Cursor → Settings (⌘+,) → MCP
- Click Add new MCP server
- Configure:
- URL:
https://mcp.pond3r.xyz/mcp
- Headers:
Authorization: Bearer <YOUR_POND3R_API_KEY>
- Replace
<YOUR_POND3R_API_KEY> with your key from makeit.pond3r.xyz/api-keys
- Some clients support
Authorization: Bearer ${POND3R_API_KEY} if that env var is set
- Save and restart Cursor so tools load
- Verify: start a new chat and ask for stablecoin yields — the agent should call
list_datasets, get_schema, query
Claude Code
claude mcp add pond3r-data \
--transport http \
https://mcp.pond3r.xyz/mcp \
--header "Authorization: Bearer <API_KEY>"
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"pond3r": {
"type": "http",
"url": "https://mcp.pond3r.xyz/mcp",
"headers": {
"Authorization": "Bearer <API_KEY>"
}
}
}
}
CLI Scripts (OpenClaw / Any Runtime)
When MCP tools are not available (e.g. OpenClaw/Telegram), use these scripts. They call Pond3r MCP over HTTP. Requires POND3R_API_KEY in env (e.g. in .env loaded by docker-compose).
Scripts live at /opt/pond3r-skill-scripts/ in the Docker image. When running locally, use ceo-agent/skills/pond3r-skill/scripts/ or the workspace-relative path.
1) List datasets
node /opt/pond3r-skill-scripts/list-datasets.mjs
Output: JSON with all datasets and tables.
2) Get schema for a dataset
node /opt/pond3r-skill-scripts/get-schema.mjs --dataset-id <dataset_id>
3) Run a SQL query
node /opt/pond3r-skill-scripts/query.mjs --dataset-id <dataset_id> --sql "SELECT * FROM stablecoin_yields LIMIT 10"
Or from file:
node /opt/pond3r-skill-scripts/query.mjs --sql-file /tmp/query.sql
Script workflow
- Run
list-datasets.mjs to discover datasets and table names.
- Run
get-schema.mjs --dataset-id <id> to see columns and types.
- Run
query.mjs --dataset-id <id> --sql "SELECT ..." with valid SQL (SELECT only, bare table names, LIMIT where appropriate).
- Parse the JSON output and summarize for the user.
Failure handling
Missing required env var: POND3R_API_KEY → Add POND3R_API_KEY to .env and ensure it is loaded (e.g. docker-compose env_file: .env).
Pond3r MCP HTTP 401 → Invalid or expired API key; rotate key at makeit.pond3r.xyz/api-keys.
Pond3r MCP error: ... → Check SQL syntax, table names, and row limits.
Available Tools (Native MCP)
| Tool |
Purpose |
list_datasets |
List all datasets and their tables |
get_schema |
Get column names, types, descriptions for a dataset |
query |
Execute read-only SQL against a dataset |
Query Rules
- SELECT only — write operations are not allowed
- Bare table names — use
SELECT * FROM stablecoin_yields, not fully qualified paths
- Results capped at 10,000 rows — use
LIMIT or WHERE filters for large datasets
- Cost estimation — queries exceeding tier limits are rejected before running
Use Cases
Protocol Intelligence
- Track AI agent launches, token graduations, protocol metrics
- Daily yield farming reports across Aave, Compound, Convex
Market Opportunity Detection
- New tokens on Uniswap with rising liquidity
- Tokens with <$500K market cap and rising liquidity
- Polymarket trades with highest volume
Risk-Adjusted Analysis
- Multi-dimensional risk scoring (volatility, liquidity, market structure)
- Liquidation risk monitoring for DeFi positions
- Whale activity tracking
Cross-Protocol & Cross-Chain
- Compare USDC yields across Aave and Compound on Arbitrum
- Bridge volume analysis, ecosystem health comparison
- Arbitrage opportunity detection
Structured Data for Decisions
- Statistical analysis, trend identification
- Volume pattern analysis, unusual trading activity
- Sentiment scoring (Farcaster, influencer activity)
Example Queries (Natural Language → SQL)
Agent asks in natural language; MCP tools discover schema and execute SQL. Example prompts:
- "What are the top 5 stablecoin yields on Ethereum right now?"
- "Show me Polymarket trades from the last 24 hours with the highest volume."
- "Compare USDC yields across Aave and Compound on Arbitrum."
Workflow
- Discover available data: Call
list_datasets to see datasets and tables
- Understand schema: Call
get_schema for the dataset you need
- Write and run: Use
query with valid SQL (SELECT, bare table names, LIMIT where appropriate)
- Interpret results: Use returned data for analysis, proposals, or decisions
Runtime Enforcement (Mandatory)
Before answering with Pond3r-backed data:
- Prefer scripts when MCP tools are unavailable:
- If
list_datasets, get_schema, query are not exposed by the runtime, use the CLI scripts instead.
- Run
node /opt/pond3r-skill-scripts/list-datasets.mjs (or workspace path) with POND3R_API_KEY in env.
- If neither MCP nor scripts work:
- Stop and return:
Pond3r unavailable: MCP tools missing and scripts failed (check POND3R_API_KEY in env).
- Do not assume fallback permission:
- Do not switch to
web_search, web_fetch, or other sources unless the user explicitly approves fallback.
- Return execution evidence:
- Include the exact commands run and summarize returned dataset/query output.
- If a call fails, include the exact error message and next remediation step.
Troubleshooting
| Symptom |
Fix |
| "Pond3r MCP not configured" |
Add MCP server in your runtime (Cursor/Claude) with URL + Bearer header. Restart. |
| Tools still missing after config |
Restart the app (Cursor/Claude). MCP loads at startup. |
| Agent runs in OpenClaw/Telegram |
Use the CLI scripts with POND3R_API_KEY in .env. See CLI Scripts. |
| Auth/401 errors |
Check API key is valid, not expired. Rotate if it was ever exposed. |
Failure Handling
- If MCP tools are unavailable, provide only:
- missing tool names
- required server URL (
https://mcp.pond3r.xyz/mcp)
- required auth header format (
Authorization: Bearer <API_KEY>)
- If SQL is rejected (tier/cost/limits), rewrite with tighter
WHERE/LIMIT and retry.
- If access/auth fails, report
authorization/configuration failure and request key/server verification.
Report API (Alternative to MCP)
For scheduled reports and structured JSON delivery, use the REST API:
- Create report:
POST https://api.pond3r.xyz/v1/api/reports with description, schedule, delivery_format
- Get latest:
GET https://api.pond3r.xyz/v1/api/reports/{reportId}/latest
- Headers:
x-api-key: <API_KEY>
Report format includes executiveSummary, analysis, opportunities. For full API details and response structure, see reference.md.
Security
- Never expose API keys in client-side code or public repositories
- Use environment variables for API keys
- MCP tools are read-only; no writes to Pond3r datasets
- Never print secret values in logs, chat, or command output (only report presence/absence)
- If a secret is accidentally exposed, instruct immediate key rotation before continuing
1---2name: pond3r-skill3description: Query crypto intelligence via Pond3r MCP — curated datasets, SQL queries, protocol metrics, yields, and market analysis. Use when the agent needs DeFi data, stablecoin yields, token opportunities, Polymarket trades, cross-protocol comparisons, or blockchain analytics.4---5
6# Pond3r Crypto Intelligence Skill
7
8Use this skill when the agent needs to query crypto/DeFi data: yields, protocol metrics, token opportunities, market analysis, or blockchain analytics. Pond3r provides an MCP server with read-only SQL access to curated datasets.
9
10## Prerequisites
11
12- **API key**: Obtain at [makeit.pond3r.xyz/api-keys](https://makeit.pond3r.xyz/api-keys)
13- **MCP setup**: Pond3r must be configured as an MCP server in the runtime (Claude Code, Cursor, Claude Desktop, etc.)
14
15## Setup: Where Is the Agent Running?
16
17The agent needs **MCP tools** (`list_datasets`, `get_schema`, `query`) to use Pond3r. Those tools come from the **runtime** that executes the agent — not from the skill or env vars alone.
18
19| Runtime | How to enable Pond3r |
20|---------|------------------------|
21| **Cursor** | Cursor Settings → MCP Servers → Add server (URL + Authorization header). See [MCP Connection](#mcp-connection) below. |
22| **Claude Desktop** | Add Pond3r to `claude_desktop_config.json` under `mcpServers`. Restart Claude. |
23| **Claude Code** | Run `claude mcp add pond3r-data ...` (see below). |
24| **OpenClaw (Docker/Telegram)** | Use the **CLI scripts** below. They call Pond3r MCP via HTTP. Set `POND3R_API_KEY` in `.env`; the agent runs the scripts and parses JSON output. |
25
26**No extra info for the agent** — the skill is enough. For runtimes with native MCP, add the API key in the MCP server config. For OpenClaw, use the scripts and `POND3R_API_KEY` in env.
27
28## MCP Connection
29
30| Setting | Value |
31|---------|-------|
32| URL | `https://mcp.pond3r.xyz/mcp` |
33| Transport | Streamable HTTP |
34| Auth | `Authorization: Bearer <API_KEY>` |
35
36### Cursor
37
381. Open **Cursor** → **Settings** (⌘+,) → **MCP**
392. Click **Add new MCP server**
403. Configure:
41 - **URL**: `https://mcp.pond3r.xyz/mcp`
42 - **Headers**: `Authorization: Bearer <YOUR_POND3R_API_KEY>`
43 - Replace `<YOUR_POND3R_API_KEY>` with your key from [makeit.pond3r.xyz/api-keys](https://makeit.pond3r.xyz/api-keys)
44 - Some clients support `Authorization: Bearer ${POND3R_API_KEY}` if that env var is set
454. Save and **restart Cursor** so tools load
465. Verify: start a new chat and ask for stablecoin yields — the agent should call `list_datasets`, `get_schema`, `query`
47
48### Claude Code
49
50```bash
51claude mcp add pond3r-data \
52 --transport http \
53 https://mcp.pond3r.xyz/mcp \
54 --header "Authorization: Bearer <API_KEY>"
55```
56
57### Claude Desktop (claude_desktop_config.json)
58
59```json
60{
61 "mcpServers": {
62 "pond3r": {
63 "type": "http",
64 "url": "https://mcp.pond3r.xyz/mcp",
65 "headers": {
66 "Authorization": "Bearer <API_KEY>"
67 }
68 }
69 }
70}
71```
72
73## CLI Scripts (OpenClaw / Any Runtime)
74
75When MCP tools are not available (e.g. OpenClaw/Telegram), use these scripts. They call Pond3r MCP over HTTP. **Requires `POND3R_API_KEY` in env** (e.g. in `.env` loaded by docker-compose).
76
77Scripts live at `/opt/pond3r-skill-scripts/` in the Docker image. When running locally, use `ceo-agent/skills/pond3r-skill/scripts/` or the workspace-relative path.
78
79### 1) List datasets
80
81```bash
82node /opt/pond3r-skill-scripts/list-datasets.mjs
83```
84
85Output: JSON with all datasets and tables.
86
87### 2) Get schema for a dataset
88
89```bash
90node /opt/pond3r-skill-scripts/get-schema.mjs --dataset-id <dataset_id>
91```
92
93### 3) Run a SQL query
94
95```bash
96node /opt/pond3r-skill-scripts/query.mjs --dataset-id <dataset_id> --sql "SELECT * FROM stablecoin_yields LIMIT 10"
97```
98
99Or from file:
100
101```bash
102node /opt/pond3r-skill-scripts/query.mjs --sql-file /tmp/query.sql
103```
104
105### Script workflow
106
1071. Run `list-datasets.mjs` to discover datasets and table names.
1082. Run `get-schema.mjs --dataset-id <id>` to see columns and types.
1093. Run `query.mjs --dataset-id <id> --sql "SELECT ..."` with valid SQL (SELECT only, bare table names, LIMIT where appropriate).
1104. Parse the JSON output and summarize for the user.
111
112### Failure handling
113
114- `Missing required env var: POND3R_API_KEY` → Add `POND3R_API_KEY` to `.env` and ensure it is loaded (e.g. docker-compose `env_file: .env`).
115- `Pond3r MCP HTTP 401` → Invalid or expired API key; rotate key at makeit.pond3r.xyz/api-keys.
116- `Pond3r MCP error: ...` → Check SQL syntax, table names, and row limits.
117
118## Available Tools (Native MCP)
119
120| Tool | Purpose |
121|------|---------|
122| `list_datasets` | List all datasets and their tables |
123| `get_schema` | Get column names, types, descriptions for a dataset |
124| `query` | Execute read-only SQL against a dataset |
125
126## Query Rules
127
128- **SELECT only** — write operations are not allowed
129- **Bare table names** — use `SELECT * FROM stablecoin_yields`, not fully qualified paths
130- **Results capped at 10,000 rows** — use `LIMIT` or `WHERE` filters for large datasets
131- **Cost estimation** — queries exceeding tier limits are rejected before running
132
133## Use Cases
134
1351. **Protocol Intelligence**
136 - Track AI agent launches, token graduations, protocol metrics
137 - Daily yield farming reports across Aave, Compound, Convex
138
1392. **Market Opportunity Detection**
140 - New tokens on Uniswap with rising liquidity
141 - Tokens with <$500K market cap and rising liquidity
142 - Polymarket trades with highest volume
143
1443. **Risk-Adjusted Analysis**
145 - Multi-dimensional risk scoring (volatility, liquidity, market structure)
146 - Liquidation risk monitoring for DeFi positions
147 - Whale activity tracking
148
1494. **Cross-Protocol & Cross-Chain**
150 - Compare USDC yields across Aave and Compound on Arbitrum
151 - Bridge volume analysis, ecosystem health comparison
152 - Arbitrage opportunity detection
153
1545. **Structured Data for Decisions**
155 - Statistical analysis, trend identification
156 - Volume pattern analysis, unusual trading activity
157 - Sentiment scoring (Farcaster, influencer activity)
158
159## Example Queries (Natural Language → SQL)
160
161Agent asks in natural language; MCP tools discover schema and execute SQL. Example prompts:
162
163- "What are the top 5 stablecoin yields on Ethereum right now?"
164- "Show me Polymarket trades from the last 24 hours with the highest volume."
165- "Compare USDC yields across Aave and Compound on Arbitrum."
166
167## Workflow
168
1691. **Discover available data**: Call `list_datasets` to see datasets and tables
1702. **Understand schema**: Call `get_schema` for the dataset you need
1713. **Write and run**: Use `query` with valid SQL (SELECT, bare table names, LIMIT where appropriate)
1724. **Interpret results**: Use returned data for analysis, proposals, or decisions
173
174## Runtime Enforcement (Mandatory)
175
176Before answering with Pond3r-backed data:
177
1781. **Prefer scripts when MCP tools are unavailable**:
179 - If `list_datasets`, `get_schema`, `query` are not exposed by the runtime, use the [CLI scripts](#cli-scripts-openclaw--any-runtime) instead.
180 - Run `node /opt/pond3r-skill-scripts/list-datasets.mjs` (or workspace path) with `POND3R_API_KEY` in env.
1812. **If neither MCP nor scripts work**:
182 - Stop and return: `Pond3r unavailable: MCP tools missing and scripts failed (check POND3R_API_KEY in env).`
1833. **Do not assume fallback permission**:
184 - Do not switch to `web_search`, `web_fetch`, or other sources unless the user explicitly approves fallback.
1854. **Return execution evidence**:
186 - Include the exact commands run and summarize returned dataset/query output.
187 - If a call fails, include the exact error message and next remediation step.
188
189## Troubleshooting
190
191| Symptom | Fix |
192|---------|-----|
193| "Pond3r MCP not configured" | Add MCP server in your runtime (Cursor/Claude) with URL + Bearer header. Restart. |
194| Tools still missing after config | Restart the app (Cursor/Claude). MCP loads at startup. |
195| Agent runs in OpenClaw/Telegram | Use the CLI scripts with `POND3R_API_KEY` in .env. See [CLI Scripts](#cli-scripts-openclaw--any-runtime). |
196| Auth/401 errors | Check API key is valid, not expired. Rotate if it was ever exposed. |
197
198## Failure Handling
199
200- If MCP tools are unavailable, provide only:
201 - missing tool names
202 - required server URL (`https://mcp.pond3r.xyz/mcp`)
203 - required auth header format (`Authorization: Bearer <API_KEY>`)
204- If SQL is rejected (tier/cost/limits), rewrite with tighter `WHERE`/`LIMIT` and retry.
205- If access/auth fails, report `authorization/configuration failure` and request key/server verification.
206
207## Report API (Alternative to MCP)
208
209For scheduled reports and structured JSON delivery, use the REST API:
210
211- **Create report**: `POST https://api.pond3r.xyz/v1/api/reports` with `description`, `schedule`, `delivery_format`
212- **Get latest**: `GET https://api.pond3r.xyz/v1/api/reports/{reportId}/latest`
213- **Headers**: `x-api-key: <API_KEY>`
214
215Report format includes `executiveSummary`, `analysis`, `opportunities`. For full API details and response structure, see [reference.md](reference.md).
216
217## Security
218
219- Never expose API keys in client-side code or public repositories
220- Use environment variables for API keys
221- MCP tools are read-only; no writes to Pond3r datasets
222- Never print secret values in logs, chat, or command output (only report presence/absence)
223- If a secret is accidentally exposed, instruct immediate key rotation before continuing