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
- Replace
- URL:
- 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.mjsto 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→ AddPOND3R_API_KEYto.envand ensure it is loaded (e.g. docker-composeenv_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
LIMITorWHEREfilters 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_datasetsto see datasets and tables - Understand schema: Call
get_schemafor the dataset you need - Write and run: Use
querywith 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,queryare not exposed by the runtime, use the CLI scripts instead. - Run
node /opt/pond3r-skill-scripts/list-datasets.mjs(or workspace path) withPOND3R_API_KEYin env.
- If
- If neither MCP nor scripts work:
- Stop and return:
Pond3r unavailable: MCP tools missing and scripts failed (check POND3R_API_KEY in env).
- Stop and return:
- Do not assume fallback permission:
- Do not switch to
web_search,web_fetch, or other sources unless the user explicitly approves fallback.
- Do not switch to
- 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/LIMITand retry. - If access/auth fails, report
authorization/configuration failureand 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/reportswithdescription,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