Examples
Examples
Ready-to-use queries for common blockchain analysis tasks.
Top ERC-20 Transfers by Volume
SELECT
contract_address,
COUNT(*) AS transfer_count,
COUNT(DISTINCT args->>'from') AS unique_senders
FROM ethereum.events
WHERE event_name = 'Transfer'
AND block_timestamp >= NOW() - INTERVAL '1 day'
GROUP BY contract_address
ORDER BY transfer_count DESC
LIMIT 10;Uniswap V3 Swaps
SELECT
block_timestamp,
tx_hash,
args->>'sender' AS sender,
args->>'recipient' AS recipient,
args->>'amount0' AS amount0,
args->>'amount1' AS amount1
FROM ethereum.events
WHERE event_name = 'Swap'
AND contract_address = '0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640'
AND block_timestamp >= NOW() - INTERVAL '1 hour'
ORDER BY block_timestamp DESC;Daily Active Contracts
SELECT
DATE_TRUNC('day', block_timestamp) AS day,
COUNT(DISTINCT contract_address) AS active_contracts
FROM ethereum.events
WHERE block_timestamp >= NOW() - INTERVAL '30 days'
GROUP BY day
ORDER BY day;Failed Transactions for a Contract
SELECT
tx_hash,
from_address,
gas_used,
block_timestamp
FROM ethereum.transactions
WHERE to_address = '0xdAC17F958D2ee523a2206206994597C13D831ec7'
AND status = 0
AND block_timestamp >= NOW() - INTERVAL '7 days'
ORDER BY block_timestamp DESC
LIMIT 50;API Example (Python)
import requests
API_KEY = "your_api_key"
URL = "http://localhost:3000/api/v1/query"
query = """
SELECT event_name, COUNT(*) as total
FROM ethereum.events
WHERE block_number BETWEEN 19800000 AND 19800100
GROUP BY event_name
ORDER BY total DESC
"""
resp = requests.post(URL, json={"query": query}, headers={
"Authorization": f"Bearer {API_KEY}"
})
for row in resp.json()["data"]:
print(f"{row['event_name']}: {row['total']}")API Example (JavaScript)
const API_KEY = "your_api_key";
const res = await fetch("http://localhost:3000/api/v1/query", {
method: "POST",
headers: {
"Authorization": `Bearer ${API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
query: `SELECT * FROM ethereum.events
WHERE event_name = 'Transfer'
LIMIT 5`,
}),
});
const { data } = await res.json();
console.table(data);