Run a read-only SQL query against indexed blockchain data including transactions, events, and decoded logs.
This endpoint provides direct SQL access to comprehensive blockchain data across supported networks. Queries are executed against optimized data structures for high-performance analytics.
base.events - Base mainnet decoded event logs with parameters, event signature, topics, and more.base.transactions - Base mainnet transaction data including hash, block number, gas usage.base.blocks - Base mainnet block information.base.encoded_logs - Encoded log data of event logs that aren’t able to be decoded by our event decoder (ex: log0 opcode).base.transfers - All event logs with event signature Transfer(address,address,uint256). ERC-20, ERC-721, and ERC-1155 transfers are all included.A JWT signed using your CDP API Key Secret, encoded in base64. Refer to the Generate Bearer Token section of our Authentication docs for information on how to generate your Bearer Token.
Request to execute a SQL query against indexed blockchain data.
SQL query to execute against the indexed blockchain data.
1 - 100000"SELECT block_number, transaction_hash FROM base.transactions WHERE block_number > 1000000 LIMIT 10"
Enables control over how often queries need to be fully re-executed on the backing store. This can be useful in scenarios where API calls might be made frequently, API latency is critical, and some freshness lag (ex: 750ms, 2s, 5s) is tolerable. By default, each query result is returned from cache so long as the result is from an identical query and less than 500ms old. This freshness tolerance can be modified upwards, to a maximum of 300000ms (i.e. 300s, 5m).
{ "maxAgeMs": 1000 }Query run successfully.
Result of executing a SQL query.
Query result as an array of objects representing rows.
Row data with column names as keys.
{
"event_signature": "Transfer(address,address,uint256)",
"from": "0x1234567890abcdef",
"to": "0x1234567890abcdef",
"amount": 1000000000000000000
}[
{
"event_signature": "Transfer(address,address,uint256)",
"from": "0x1234567890abcdef",
"to": "0x1234567890abcdef",
"amount": 1000000000000000000
},
{
"event_signature": "Transfer(address,address,uint256)",
"from": "0x1234567890abcdef",
"to": "0x1234567890abcdef",
"amount": 2000000000000000000
}
]Schema information for the query result. This is a derived schema from the query result, so types may not match the underlying table.
{
"columns": [
{ "name": "block_number", "type": "UInt64" },
{
"name": "transaction_hash",
"type": "String"
}
]
}Metadata about query execution.
{
"cached": false,
"executionTimestamp": "2025-01-01T00:00:00.000Z",
"executionTimeMs": 145,
"rowCount": 2
}