Help us improve
Share bugs, ideas, or general feedback.
From alchemy-skills
Queries live on-chain data via the Dune REST API — executes DuneSQL, discovers decoded contract tables, and monitors credit usage. Use for wallet activity, DEX trades, token transfers, and smart contract events.
npx claudepluginhub moonpay/skills --plugin moonpay-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/alchemy-skills:dune-analyticsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Query live on-chain data via the [Dune REST API](https://docs.dune.com/api-reference/overview/introduction). Pair with MoonPay to create and fund the wallets you analyze.
Queries Dune Analytics API for blockchain data, pyUSD flows, stablecoin metrics, and on-chain analytics including transfers, holders, DEX volume, and bridge flows. Use for DeFi analysis, token flows, or dashboards.
Queries EVM blockchain data on Ethereum, Polygon, Arbitrum: transactions, address balances/tokens/history, blocks via Python CLI with Etherscan APIs.
Queries onchain data (blocks, transactions, events, transfers) on Base using the CDP SQL API via x402. Useful for viewing decoded blockchain data with pay-per-query billing.
Share bugs, ideas, or general feedback.
Query live on-chain data via the Dune REST API. Pair with MoonPay to create and fund the wallets you analyze.
export DUNE_API_KEY="your-api-key"
Base URL: https://api.dune.com/api/v1
Auth header: X-Dune-API-Key: $DUNE_API_KEY
| Action | Method | Endpoint |
|---|---|---|
| Execute a saved query | POST | /query/{query_id}/execute |
| Get execution status + results | GET | /execution/{execution_id}/results |
| Execute raw SQL directly | POST | /sql/execute |
| Cancel execution | POST | /execution/{execution_id}/cancel |
| Get query definition | GET | /query/{query_id} |
# 1. Execute
EXEC=$(curl -s -X POST "https://api.dune.com/api/v1/query/3237661/execute" \
-H "X-Dune-API-Key: $DUNE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"performance": "medium"}')
EXEC_ID=$(echo $EXEC | jq -r '.execution_id')
echo "execution_id: $EXEC_ID"
# 2. Poll until complete
while true; do
STATUS=$(curl -s "https://api.dune.com/api/v1/execution/$EXEC_ID/results" \
-H "X-Dune-API-Key: $DUNE_API_KEY")
STATE=$(echo $STATUS | jq -r '.state')
echo "State: $STATE"
if [[ "$STATE" == "QUERY_STATE_COMPLETED" || "$STATE" == "QUERY_STATE_FAILED" ]]; then
echo $STATUS | jq '.result.rows[:5]'
break
fi
sleep 3
done
curl -s -X POST "https://api.dune.com/api/v1/sql/execute" \
-H "X-Dune-API-Key: $DUNE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sql": "SELECT block_time, hash, value/1e18 AS eth FROM ethereum.transactions WHERE lower(\"from\") = lower('0xYOUR_WALLET') ORDER BY block_time DESC LIMIT 20",
"performance": "medium"
}' | jq '.execution_id'
curl -s -X POST "https://api.dune.com/api/v1/query/3237661/execute" \
-H "X-Dune-API-Key: $DUNE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query_parameters": {
"wallet": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"days": 30
},
"performance": "medium"
}' | jq '.execution_id'
Use the MoonPay CLI (mp) to create and fund the wallets you analyze with Dune.
mp wallet create --name "dune-agent-wallet"
mp wallet retrieve --wallet "dune-agent-wallet"
# Note your Ethereum address for Dune queries
WALLET=$(mp wallet retrieve --wallet "dune-agent-wallet" --json | jq -r '.addresses.ethereum')
EXEC_ID=$(curl -s -X POST "https://api.dune.com/api/v1/sql/execute" \
-H "X-Dune-API-Key: $DUNE_API_KEY" \
-H "Content-Type: application/json" \
-d "{\
\"sql\": \"SELECT block_time, hash, value/1e18 AS eth, \\\"to\\\" FROM ethereum.transactions WHERE lower(\\\"from\\\") = lower('$WALLET') ORDER BY block_time DESC LIMIT 20\",\
\"performance\": \"medium\"\
}" | jq -r '.execution_id')
curl -s "https://api.dune.com/api/v1/execution/$EXEC_ID/results" \
-H "X-Dune-API-Key: $DUNE_API_KEY" | jq '.result.rows'
# Buy ETH for gas
mp buy --token eth_ethereum --amount 0.1 --wallet <your-eth-address> --email <email>
# Check balances
mp token balance list --wallet <your-eth-address> --chain ethereum
# Bridge to follow yields
mp token bridge \
--from-wallet dune-agent-wallet --from-chain ethereum \
--from-token 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 \
--from-amount 500 \
--to-chain polygon \
--to-token 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174
| State | Meaning |
|---|---|
QUERY_STATE_PENDING | Queued |
QUERY_STATE_EXECUTING | Running |
QUERY_STATE_COMPLETED | Results ready |
QUERY_STATE_FAILED | Check error message |
QUERY_STATE_CANCELLED | Cancelled |
DUNE_API_KEY in logs or responses — redact before showing output