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---56# Pond3r Crypto Intelligence Skill78Use 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.910## Prerequisites1112- **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.)1415## Setup: Where Is the Agent Running?1617The 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.1819| 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. |2526**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.2728## MCP Connection2930| Setting | Value |31|---------|-------|32| URL | `https://mcp.pond3r.xyz/mcp` |33| Transport | Streamable HTTP |34| Auth | `Authorization: Bearer <API_KEY>` |3536### Cursor37381. 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 set454. Save and **restart Cursor** so tools load465. Verify: start a new chat and ask for stablecoin yields — the agent should call `list_datasets`, `get_schema`, `query`4748### Claude Code4950```bash51claude mcp add pond3r-data \52 --transport http \53 https://mcp.pond3r.xyz/mcp \54 --header "Authorization: Bearer <API_KEY>"55```5657### Claude Desktop (claude_desktop_config.json)5859```json60{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```7273## CLI Scripts (OpenClaw / Any Runtime)7475When 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).7677Scripts 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.7879### 1) List datasets8081```bash82node /opt/pond3r-skill-scripts/list-datasets.mjs83```8485Output: JSON with all datasets and tables.8687### 2) Get schema for a dataset8889```bash90node /opt/pond3r-skill-scripts/get-schema.mjs --dataset-id <dataset_id>91```9293### 3) Run a SQL query9495```bash96node /opt/pond3r-skill-scripts/query.mjs --dataset-id <dataset_id> --sql "SELECT * FROM stablecoin_yields LIMIT 10"97```9899Or from file:100101```bash102node /opt/pond3r-skill-scripts/query.mjs --sql-file /tmp/query.sql103```104105### Script workflow1061071. 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.111112### Failure handling113114- `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.117118## Available Tools (Native MCP)119120| 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 |125126## Query Rules127128- **SELECT only** — write operations are not allowed129- **Bare table names** — use `SELECT * FROM stablecoin_yields`, not fully qualified paths130- **Results capped at 10,000 rows** — use `LIMIT` or `WHERE` filters for large datasets131- **Cost estimation** — queries exceeding tier limits are rejected before running132133## Use Cases1341351. **Protocol Intelligence**136 - Track AI agent launches, token graduations, protocol metrics137 - Daily yield farming reports across Aave, Compound, Convex1381392. **Market Opportunity Detection**140 - New tokens on Uniswap with rising liquidity141 - Tokens with <$500K market cap and rising liquidity142 - Polymarket trades with highest volume1431443. **Risk-Adjusted Analysis**145 - Multi-dimensional risk scoring (volatility, liquidity, market structure)146 - Liquidation risk monitoring for DeFi positions147 - Whale activity tracking1481494. **Cross-Protocol & Cross-Chain**150 - Compare USDC yields across Aave and Compound on Arbitrum151 - Bridge volume analysis, ecosystem health comparison152 - Arbitrage opportunity detection1531545. **Structured Data for Decisions**155 - Statistical analysis, trend identification156 - Volume pattern analysis, unusual trading activity157 - Sentiment scoring (Farcaster, influencer activity)158159## Example Queries (Natural Language → SQL)160161Agent asks in natural language; MCP tools discover schema and execute SQL. Example prompts:162163- "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."166167## Workflow1681691. **Discover available data**: Call `list_datasets` to see datasets and tables1702. **Understand schema**: Call `get_schema` for the dataset you need1713. **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 decisions173174## Runtime Enforcement (Mandatory)175176Before answering with Pond3r-backed data:1771781. **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.188189## Troubleshooting190191| 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. |197198## Failure Handling199200- If MCP tools are unavailable, provide only:201 - missing tool names202 - 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.206207## Report API (Alternative to MCP)208209For scheduled reports and structured JSON delivery, use the REST API:210211- **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>`214215Report format includes `executiveSummary`, `analysis`, `opportunities`. For full API details and response structure, see [reference.md](reference.md).216217## Security218219- Never expose API keys in client-side code or public repositories220- Use environment variables for API keys221- MCP tools are read-only; no writes to Pond3r datasets222- 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