# Bitquery

Bitquery provides historical and real-time indexed data for over 40 blockchains through GraphQL APIs, Websockets, SQL, and cloud providers.

- **Category:** analytics
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 10
- **Triggers:** 0
- **Slug:** `BITQUERY`
- **Version:** 20260407_00

## Tools

### Archive Database Query

**Slug:** `BITQUERY_ARCHIVE_DATABASE_QUERY`

Query the Bitquery Archive Database (V1 API) for historical blockchain data. The Archive Database provides complete historical blockchain data across 40+ blockchains including Bitcoin, Ethereum, BSC, Solana, and more. Data has a delay of tens of minutes to hours from real-time. For near-real-time data, use the Realtime Database Query instead. The V1 API uses blockchain-specific root types (bitcoin, ethereum, etc.) with fields like blocks, transactions, transfers, and trades. Queries support filtering, pagination with limit/offset, and sorting with orderBy. Example queries: - Bitcoin blocks: { bitcoin { blocks(limit: 5, orderBy: {descending: height}) { height } } } - Ethereum transactions: { ethereum { transactions(limit: 10) { hash value } } }

### Combined Database Query

**Slug:** `BITQUERY_COMBINED_DATABASE_QUERY`

Query Bitquery's Combined Database (v2 API) for blockchain data across 40+ networks. Use this tool to fetch real-time and historical blockchain data including: - Blocks, transactions, and events - Token transfers and balances - DEX trades and liquidity data - Smart contract interactions - NFT data and metadata Supported networks include: Ethereum (eth), BSC (bsc), Polygon (matic), Solana, Tron, and more. The v2 API uses a different schema than v1 - use EVM(network: eth) instead of ethereum root field.

### Conditional Metrics Snippet

**Slug:** `BITQUERY_CONDITIONAL_METRICS`

Generate a Bitquery GraphQL metric snippet with conditional logic using the 'if:' attribute. This tool builds metric aggregation snippets (count, sum, avg, min, max) that can be embedded in Bitquery GraphQL queries. The 'if:' filter allows applying conditions directly to metric calculations, enabling conditional aggregation like counting only successful transactions. Output format examples: - count(if: {Block: {GasUsed: {gt: "0"}}}) - sum(of: Block_GasUsed if: {Block: {Time: {after: "2024-01-01"}}}) - myAlias: avg(of: Transaction_Value if: {Transaction: {Success: true}})

### Database Selection

**Slug:** `BITQUERY_DATABASE_SELECTION`

Tool to select the database (archive, realtime, combined) to query at the top level of a GraphQL request. Use after determining whether you need live, historical, or combined blockchain data.

### Early Access Program Query

**Slug:** `BITQUERY_EARLY_ACCESS_PROGRAM_QUERY`

Execute GraphQL queries against the Bitquery Early Access Program (EAP) Streaming API. This tool queries the EAP endpoint (streaming.bitquery.io/eap) for real-time blockchain data. The EAP provides access to streaming data across various blockchain networks including Solana, EVM chains (Ethereum, Polygon, etc.), and others for evaluation purposes. Key features: - Real-time blockchain data with minimal latency - Supports both queries and subscriptions - Networks: Solana, Ethereum, Polygon (Matic), and other EVM-compatible chains Note: EAP is limited to real-time data only. For historical data, use the Archive Database Query. Existing users can continue using EAP; new users should prefer the V2 endpoint for most use cases. Example queries: - Get latest ETH blocks: { EVM(network: eth) { Blocks(limit: {count: 5}) { Block { Number Time } } } } - Solana DEX trades: subscription { Solana { DEXTrades { Block { Time } Trade { Price } } } }

### Network Selection

**Slug:** `BITQUERY_NETWORK_SELECTION`

Tool to select the blockchain network for GraphQL queries. Use before constructing dataset or metric queries to ensure the correct chain is targeted.

### Options Query

**Slug:** `BITQUERY_OPTIONS_QUERY`

Tool to fetch GraphQL dataset options via schema introspection. Use when you need to discover root-level query fields and their arguments before building queries. Dataset and token availability varies by Bitquery environment; verify available fields here before constructing complex queries that depend on specific datasets.

### Price Asymmetry Metric

**Slug:** `BITQUERY_PRICE_ASYMMETRY_METRIC`

Tool to generate GraphQL PriceAsymmetry filter snippet. Use when you need to filter trades based on price asymmetry metric.

### Realtime Database Query

**Slug:** `BITQUERY_REALTIME_DATABASE_QUERY`

Query the Bitquery Streaming (V2) API for realtime blockchain data. This tool accesses the Bitquery Streaming API at streaming.bitquery.io/graphql which provides real-time blockchain data with minimal latency. Use this for recent data (within minutes). For historical data, use the Archive Database Query. Supported query formats: - V2 EVM queries: { EVM(network: eth) { Blocks(limit: {count: 5}) { Block { Number Time } } } } - V2 Bitcoin queries: { bitcoin(network: bitcoin) { blocks(limit: {count: 5}) { height timestamp { time } } } } Note: Requires an active Bitquery subscription for streaming API access.

### Select By Metric

**Slug:** `BITQUERY_SELECT_BY_METRIC`

Tool to generate a GraphQL metric snippet filtering by its value using selectWhere. Use when you need to include only metrics meeting specific value conditions (e.g., only positive sums).
