diff --git a/.github/workflows/docs-build.yml b/.github/workflows/docs-build.yml
new file mode 100644
index 00000000..c57f9cca
--- /dev/null
+++ b/.github/workflows/docs-build.yml
@@ -0,0 +1,20 @@
+name: Docs build
+
+on:
+ push:
+ branches: [main]
+ pull_request:
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ - uses: actions/setup-node@v4
+ with:
+ node-version: "20"
+ cache: npm
+ - run: npm ci
+ - run: npm run build
diff --git a/Dockerfile b/Dockerfile
index 1d6f3e8b..fc9e1b3b 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -17,6 +17,7 @@ FROM nginx:stable-alpine
WORKDIR /app
COPY --from=builder /app/build /usr/share/nginx/html
+COPY nginx/default.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
diff --git a/docs/API-Blog/what-are-internal-transactions-how-to-get-them.md b/docs/API-Blog/what-are-internal-transactions-how-to-get-them.md
index f67d5470..05da0e41 100644
--- a/docs/API-Blog/what-are-internal-transactions-how-to-get-them.md
+++ b/docs/API-Blog/what-are-internal-transactions-how-to-get-them.md
@@ -1,3 +1,5 @@
+import FAQ from "@site/src/components/FAQ";
+
# What are Internal Transactions & How to Get Them?
In blockchain a transaction is the transfer of value between two participants, recorded on a digital ledger. Not all transactions involve the direct sending of funds from one wallet to another, some transactions occur within smart contracts. These transactions are known as internal transactions.
@@ -246,3 +248,10 @@ transactions associated with the wallet address to ensure that all movements of
Tracking internal transactions is important to ensure the transparency and integrity of blockchain activities. By using tools such as Bitquery to monitor these transactions, users can verify the movement of their funds and also understand the flow of assets within smart contracts, thus ensuring the wallet balances are accurate. This is important for developers and users who need to maintain trust and security in decentralized applications.
For more information and related content, visit the [Bitquery blog](https://bitquery.io/blog) or explore the [documentation](https://docs.bitquery.io/).
+
diff --git a/docs/blockchain/Arbitrum/gmx-api.mdx b/docs/blockchain/Arbitrum/gmx-api.mdx
index 1c5b7774..3694b3e5 100644
--- a/docs/blockchain/Arbitrum/gmx-api.mdx
+++ b/docs/blockchain/Arbitrum/gmx-api.mdx
@@ -1,3 +1,5 @@
+import FAQ from "@site/src/components/FAQ";
+
# GMX API
This section covers how to retrieve staking information on GMX.
@@ -195,4 +197,11 @@ The following query retrieves the latest GMX events on the Arbitrum network:
}
```
-These queries help you explore the latest activities and positions on the GMX protocol.
\ No newline at end of file
+These queries help you explore the latest activities and positions on the GMX protocol.
+
+
diff --git a/docs/blockchain/BSC/bsc-uniswap-api.md b/docs/blockchain/BSC/bsc-uniswap-api.md
index 94342884..71944195 100644
--- a/docs/blockchain/BSC/bsc-uniswap-api.md
+++ b/docs/blockchain/BSC/bsc-uniswap-api.md
@@ -1,6 +1,7 @@
---
sidebar_position: 7
---
+import FAQ from "@site/src/components/FAQ";
import VideoPlayer from "../../../src/components/videoplayer.js";
@@ -260,3 +261,10 @@ query MyQuery {
}
```
+
+
diff --git a/docs/blockchain/BSC/four-meme-api.mdx b/docs/blockchain/BSC/four-meme-api.mdx
index 18d4f6a8..966404d9 100644
--- a/docs/blockchain/BSC/four-meme-api.mdx
+++ b/docs/blockchain/BSC/four-meme-api.mdx
@@ -9,6 +9,7 @@ keywords:
- Four Meme PancakeSwap migration
- BSC memecoin API
---
+import FAQ from "@site/src/components/FAQ";
import VideoPlayer from "../../../src/components/videoplayer.js";
@@ -2330,3 +2331,11 @@ These mirror common “answer engine” questions. Each item points to the secti
- [Tutorial](https://docs.bitquery.io/docs/streams/sniper-trade-using-bitquery-kafka-stream/)
- [Source Code](https://github.com/Kshitij0O7/evm-sniper)
- [Video](https://youtu.be/vgOHgqTJmj0?si=yfUguMWdMtxRJMvg)
+
+
diff --git a/docs/blockchain/BSC/four-meme-mempool-API.md b/docs/blockchain/BSC/four-meme-mempool-API.md
index 3595bddc..c18e7ffb 100644
--- a/docs/blockchain/BSC/four-meme-mempool-API.md
+++ b/docs/blockchain/BSC/four-meme-mempool-API.md
@@ -2,6 +2,7 @@
title: "Four Meme Mempool API - Real-Time Pre-Confirmation Monitoring"
description: "Monitor Four Meme memecoin transactions in real-time before confirmation. Track pending trades, token creations, and detect opportunities early with ultra-low latency mempool streams on BSC."
---
+import FAQ from "@site/src/components/FAQ";
# Four Meme Mempool API - Real-Time Pre-Confirmation Monitoring
@@ -888,3 +889,10 @@ You may also be interested in:
If you have any questions or need assistance with Four Meme mempool monitoring, reach out to our [Telegram support](https://t.me/Bloxy_info).
For enterprise solutions and Kafka stream access, contact our team for a custom plan.
+
+
diff --git a/docs/blockchain/BSC/index.mdx b/docs/blockchain/BSC/index.mdx
index a4d7284c..f4d2221c 100644
--- a/docs/blockchain/BSC/index.mdx
+++ b/docs/blockchain/BSC/index.mdx
@@ -15,6 +15,7 @@ keywords:
- BSC token api
- BSC transaction api
---
+import FAQ from "@site/src/components/FAQ";
# BSC API Documentation
@@ -104,3 +105,11 @@ import VideoPlayer from "../../../src/components/videoplayer.js";
### Video Tutorial on BSC Protobuf Streams | Building BSC Sniper Trading Bot Using Bitquery Protobuf Kafka Streams
+
+
diff --git a/docs/blockchain/BSC/pancake-swap-api.md b/docs/blockchain/BSC/pancake-swap-api.md
index efdb875c..7d83541d 100644
--- a/docs/blockchain/BSC/pancake-swap-api.md
+++ b/docs/blockchain/BSC/pancake-swap-api.md
@@ -1,3 +1,5 @@
+import FAQ from "@site/src/components/FAQ";
+
import VideoPlayer from "../../../src/components/videoplayer.js";
# Pancake Swap API
@@ -1118,3 +1120,11 @@ query pairDexList(
### How to get PancakeSwap trades in realtime
+
+
diff --git a/docs/blockchain/Base/aerodrome-base-api.mdx b/docs/blockchain/Base/aerodrome-base-api.mdx
index 891dcaa1..ad517567 100644
--- a/docs/blockchain/Base/aerodrome-base-api.mdx
+++ b/docs/blockchain/Base/aerodrome-base-api.mdx
@@ -3,6 +3,7 @@ title: "Aerodrome Finance API - Base DEX Trades, Liquidity Pools, Token Analytic
description: "Get real-time Aerodrome Finance DEX trades, liquidity pools, token prices, trading volume and analytics on Base network. Access comprehensive on-chain data via Aerodrome API, Streams and GraphQL."
sidebar_position: 7
---
+import FAQ from "@site/src/components/FAQ";
# Aerodrome Finance API - Base DEX Trades, Liquidity Pools, Token Analytics
@@ -422,3 +423,10 @@ query MyQuery {
### Video Tutorial | How to Get Latest Liquidity Pools and Pool Liquidity on Aerodrome Finance
+
+
diff --git a/docs/blockchain/Base/base-dextrades.mdx b/docs/blockchain/Base/base-dextrades.mdx
index 07753d06..ded1805f 100644
--- a/docs/blockchain/Base/base-dextrades.mdx
+++ b/docs/blockchain/Base/base-dextrades.mdx
@@ -1,6 +1,7 @@
---
sidebar_position: 2
---
+import FAQ from "@site/src/components/FAQ";
# Base Chain DEX Trades API
@@ -636,3 +637,11 @@ You can run this query [in the Bitquery IDE](https://ide.bitquery.io/Top-Traders
## Video Tutorial | How to get Base Decentralized Exchange Data with DEX Trades API
+
+
diff --git a/docs/blockchain/Base/base-uniswap-api.md b/docs/blockchain/Base/base-uniswap-api.md
index 998c3f82..f9234ec0 100644
--- a/docs/blockchain/Base/base-uniswap-api.md
+++ b/docs/blockchain/Base/base-uniswap-api.md
@@ -1,6 +1,7 @@
---
sidebar_position: 7
---
+import FAQ from "@site/src/components/FAQ";
import VideoPlayer from "../../../src/components/videoplayer.js";
@@ -314,3 +315,10 @@ query MyQuery {
## Building with Bitquery and Uniswap API
Check [this](../../usecases/base-sniper-bot.mdx) guide to get started with building projects with real world value using Bitquery Uniswap APIs.
+
+
diff --git a/docs/blockchain/Base/index.mdx b/docs/blockchain/Base/index.mdx
index 1da75136..64cd92d8 100644
--- a/docs/blockchain/Base/index.mdx
+++ b/docs/blockchain/Base/index.mdx
@@ -18,6 +18,7 @@ keywords:
- Uniswap v3 Base API
- Zora API
---
+import FAQ from "@site/src/components/FAQ";
# Base API Documentation
@@ -142,3 +143,11 @@ Browse live Base memecoin DEX prices on [DEXrabbit's Base Meme Coins category](h
### Video Tutorial | Build AI Trading Agent on Base
+
+
diff --git a/docs/blockchain/Ethereum/balances/balance-api.md b/docs/blockchain/Ethereum/balances/balance-api.md
index 40b96405..d9a08fa9 100644
--- a/docs/blockchain/Ethereum/balances/balance-api.md
+++ b/docs/blockchain/Ethereum/balances/balance-api.md
@@ -1,6 +1,7 @@
---
sidebar_position: 2
---
+import FAQ from "@site/src/components/FAQ";
# Address Balance API
@@ -189,3 +190,10 @@ query {
}
}
```
+
+
diff --git a/docs/blockchain/Ethereum/calls/smartcontract.md b/docs/blockchain/Ethereum/calls/smartcontract.md
index b892faa6..7a8bd32b 100644
--- a/docs/blockchain/Ethereum/calls/smartcontract.md
+++ b/docs/blockchain/Ethereum/calls/smartcontract.md
@@ -1,6 +1,7 @@
---
sidebar_position: 2
---
+import FAQ from "@site/src/components/FAQ";
# SmartContract Calls API
@@ -23,28 +24,15 @@ sidebar_position: 2
-## Frequently Asked Questions (FAQ)
-### What is the Smart Contract Calls API?
-
-The Smart Contract Calls API helps you retrieve comprehensive information about smart contract transactions on Ethereum, including details about the contract function that was called, input and output parameters, gas usage, and more. This data enables you to build applications that interact with smart contracts, perform analytics on contract activity, and monitor contract interactions in real-time.
-
-### What data can I get from the Smart Contract Calls API?
-
-The API provides data for:
-- **Function Calls**: Details about which contract functions were called and their parameters
-- **Transaction Information**: Gas usage, transaction hash, sender/receiver addresses, and transaction status
-- **Contract Creation**: Track new contract deployments with creation details
-- **Internal Calls**: Monitor internal function calls within smart contracts
-
-
-### How do I use Bitquery's Ethereum APIs?
-
-Bitquery provides GraphQL APIs for Ethereum data. You can test queries using the IDE at ide.bitquery.io or convert queries to subscriptions for real-time data via WebSocket connections. To access API outside the IDE, you need to use your OAuth token, generate one [here](https://account.bitquery.io/user/api_v2/access_tokens). For enterprise users, we also offer Kafka streams for high-throughput data processing.
-
-### What Kafka streams are available for Ethereum?
-
-Bitquery provides managed Kafka topics including `ethereum.tokens.proto`, `ethereum.transactions.proto`, and `ethereum.dextrades.proto` with pre-parsed, enriched Protocol-Buffers events. These streams offer sub-second latency and enterprise-grade reliability for high-volume data processing. Read more [here](https://docs.bitquery.io/docs/streams/kafka-streaming-concepts/).
+
## Smart Contract Calls API Guide
diff --git a/docs/blockchain/Ethereum/dextrades/dex-api.md b/docs/blockchain/Ethereum/dextrades/dex-api.md
index a05d2d2d..98f86b63 100644
--- a/docs/blockchain/Ethereum/dextrades/dex-api.md
+++ b/docs/blockchain/Ethereum/dextrades/dex-api.md
@@ -1,6 +1,7 @@
---
sidebar_label: DEX Trades API
---
+import FAQ from "@site/src/components/FAQ";
# DEX API
@@ -245,3 +246,11 @@ query LatestTrades($network: evm_network, $market: String) {

You can check the data here on [DEXrabbit](https://dexrabbit.com/eth/dex_market/Uniswap#trades).
+
+
diff --git a/docs/blockchain/Ethereum/dextrades/ethereum-slippage-api.md b/docs/blockchain/Ethereum/dextrades/ethereum-slippage-api.md
index 526f5880..d9fb224b 100644
--- a/docs/blockchain/Ethereum/dextrades/ethereum-slippage-api.md
+++ b/docs/blockchain/Ethereum/dextrades/ethereum-slippage-api.md
@@ -2,6 +2,7 @@
sidebar_position: 3
sidebar_label: Slippage & Price Impact
---
+import FAQ from "@site/src/components/FAQ";
# EVM DEX Slippage API
@@ -317,8 +318,9 @@ For a practical implementation example of using slippage data for automated trad
For more advanced use cases, refer to the [DEXPools Cube documentation](https://docs.bitquery.io/docs/cubes/evm-dexpool/#advanced-use-cases-and-processing-patterns).
-## Frequently Asked Questions
-
-### How does slippage affect DEX trading?
-
-Slippage affects DEX trading by causing the actual execution price to differ from the expected price. When you swap tokens in a DEX pool, larger trades move the price along the liquidity curve—the more you buy or sell, the worse the price you get. This means you receive fewer output tokens than you expected (or pay more input tokens). Slippage is higher in shallow pools and for large orders. Use the DEXPoolSlippages API to check `MaxAmountIn` and `MinAmountOut` at different slippage tolerances before trading, so you can choose pools with enough liquidity and set appropriate slippage limits.
+
diff --git a/docs/blockchain/Ethereum/dextrades/evm-gmgn-api.md b/docs/blockchain/Ethereum/dextrades/evm-gmgn-api.md
index e084d7ca..f37877be 100644
--- a/docs/blockchain/Ethereum/dextrades/evm-gmgn-api.md
+++ b/docs/blockchain/Ethereum/dextrades/evm-gmgn-api.md
@@ -18,6 +18,7 @@ keywords:
- Uniswap v3 new pools stream
- Bitquery GraphQL DEX API
---
+import FAQ from "@site/src/components/FAQ";
# GMGN API for Ethereum & EVM chains
@@ -581,3 +582,10 @@ query MyQuery {
}
}
```
+
+
diff --git a/docs/blockchain/Ethereum/dextrades/uniswap-api.mdx b/docs/blockchain/Ethereum/dextrades/uniswap-api.mdx
index 1b733d7b..9562b08c 100644
--- a/docs/blockchain/Ethereum/dextrades/uniswap-api.mdx
+++ b/docs/blockchain/Ethereum/dextrades/uniswap-api.mdx
@@ -1,6 +1,7 @@
---
sidebar_label: Uniswap v1–v3 Trades
---
+import FAQ from "@site/src/components/FAQ";
# Uniswap API
@@ -678,4 +679,11 @@ You can get Uniswap data with sub-second latency via Kafka Streams. Read more [h
Contact us on our telegram channel for a trial credentials.
-```
+
+
diff --git a/docs/blockchain/Ethereum/dextrades/uniswap-v4-api.md b/docs/blockchain/Ethereum/dextrades/uniswap-v4-api.md
index e07c4017..46512f2d 100644
--- a/docs/blockchain/Ethereum/dextrades/uniswap-v4-api.md
+++ b/docs/blockchain/Ethereum/dextrades/uniswap-v4-api.md
@@ -3,6 +3,7 @@ title: "Uniswap V4 API - Track Trader Activities, Token Trades and Market Behavi
description: "Track Uniswap V4 trades, trader activities, token trades, and market behaviour in real time using Bitquery's DEX Trades API."
sidebar_label: Uniswap v4 Trades
---
+import FAQ from "@site/src/components/FAQ";
# Uniswap v4 Trades API
@@ -424,4 +425,11 @@ subscription MyQuery {
}
```
-> In Uniswap v4 all pools live in the singleton PoolManager (`0x000000000004444c5dc75cB358380D2e3dE08A90`), so `Pool.SmartContract` is the same across pools — use `Pool.PoolId` to identify each pool.
\ No newline at end of file
+> In Uniswap v4 all pools live in the singleton PoolManager (`0x000000000004444c5dc75cB358380D2e3dE08A90`), so `Pool.SmartContract` is the same across pools — use `Pool.PoolId` to identify each pool.
+
+
diff --git a/docs/blockchain/Ethereum/index.md b/docs/blockchain/Ethereum/index.md
index 26eb74a4..f05d9be3 100644
--- a/docs/blockchain/Ethereum/index.md
+++ b/docs/blockchain/Ethereum/index.md
@@ -1,5 +1,5 @@
---
-title: Ethereum API - Best Blockchain Data API for Developers | Bitquery
+title: Ethereum API - Best Blockchain Data API for Developers
description: Access comprehensive Ethereum API with real-time blockchain data, transactions, DEX trades, liquidity pools, slippage data, token balances, and more. Free tier available. GraphQL API with subscriptions and Kafka streaming.
slug: /blockchain/Ethereum/
keywords:
@@ -22,6 +22,9 @@ keywords:
- ethereum data api
---
+import VideoPlayer from "../../../src/components/videoplayer.js";
+import FAQ from "@site/src/components/FAQ";
+
# Ethereum API - Complete Developer Guide
:::tip Building a trading app or DEX UI on Ethereum?
@@ -175,35 +178,25 @@ Access comprehensive NFT data across Ethereum including collections, ownership t
Query detailed Ethereum transaction data including transaction hashes, from/to addresses, values transferred, gas prices, gas limits, gas used, nonce values, and transaction status. Access transaction input data, method signatures, internal transactions, and execution traces. Filter transactions by sender, receiver, value ranges, time periods, or transaction type to analyze payment flows, contract calls, and wallet behavior. Retrieve comprehensive transaction receipts with logs, events, and error details for both successful and failed transactions. Essential for transaction monitoring, forensic analysis, compliance reporting, and building comprehensive blockchain data applications.
-## Frequently Asked Questions
-
-### What is an Ethereum API?
-An **Ethereum API** is a programming interface that allows developers to access Ethereum blockchain data without running their own node. Our **Ethereum API** provides comprehensive access to transactions, balances, smart contract events, and more.
-
-### How does your Ethereum API compare to other providers?
-Our **Ethereum API** offers several advantages:
-- **Complete historical data** since Ethereum genesis
-- **Real-time streaming** via GraphQL subscriptions and Kafka
-- **Enriched data** with USD values and analytics
-- **GraphQL interface** for flexible querying
-
-### What data can I access with your Ethereum API?
-Our **Ethereum API** provides access to:
-- All Ethereum transactions and blocks
-- Token balances and transfers (ERC-20, ERC-721, ERC-1155 and more)
-- DEX trades, liquidity data, slippage, and pool reserves
-- Smart contract events and logs
-- Gas fees and network statistics
-- Mempool data for pending transactions
-- NFT collections and trading data
-
-### Can I use your Ethereum API for commercial projects?
-Yes, our **Ethereum API** is designed for both personal and commercial use. We offer various pricing tiers to suit different needs.
+
## Ethereum Videos Tutorials
-import VideoPlayer from "../../../src/components/videoplayer.js";
-
### DEX Trades on EVM (Uniswap, Aggregators, Screens)
diff --git a/docs/blockchain/Ethereum/nft/nft-api.md b/docs/blockchain/Ethereum/nft/nft-api.md
index 279dde79..6d58f5a3 100644
--- a/docs/blockchain/Ethereum/nft/nft-api.md
+++ b/docs/blockchain/Ethereum/nft/nft-api.md
@@ -1,6 +1,7 @@
---
sidebar_position: 1
---
+import FAQ from "@site/src/components/FAQ";
# NFT API
@@ -269,3 +270,10 @@ query MyQuery {
- `Currency.Native`: The native type of the NFT's currency.
- `Sender`: The address of the sender of the transfer.
- `Receiver`: The address of the receiver of the transfer.
+
+
diff --git a/docs/blockchain/Ethereum/token-holders/token-holder-api.mdx b/docs/blockchain/Ethereum/token-holders/token-holder-api.mdx
index 27e2a760..65c5b9f8 100644
--- a/docs/blockchain/Ethereum/token-holders/token-holder-api.mdx
+++ b/docs/blockchain/Ethereum/token-holders/token-holder-api.mdx
@@ -1,6 +1,7 @@
---
sidebar_position: 1
---
+import FAQ from "@site/src/components/FAQ";
# Token Holders API
@@ -474,3 +475,11 @@ import VideoPlayer from "../../../../src/components/videoplayer.js";
## Video Tutorial on How to Identify Top Token Holders for Any Cryptocurrency
+
+
diff --git a/docs/blockchain/Ethereum/transfers/erc20-token-transfer-api.md b/docs/blockchain/Ethereum/transfers/erc20-token-transfer-api.md
index 35a20f64..c1441d47 100644
--- a/docs/blockchain/Ethereum/transfers/erc20-token-transfer-api.md
+++ b/docs/blockchain/Ethereum/transfers/erc20-token-transfer-api.md
@@ -1,6 +1,7 @@
---
sidebar_position: 1
---
+import FAQ from "@site/src/components/FAQ";
# ERC20 Token Transfers API
@@ -750,3 +751,11 @@ When backfilling Ethereum transfer data or building a historical index, use dete
```
The composite `orderBy` across `Block_Number`, `Transaction_Index`, `Call_Index`, `Log_Index`, `Transfer_Index`, and `Transfer_Type` uniquely positions every transfer, making offset-based pagination safe for backfilling. Increment `offset` by the `count` value on each request. You can pull up to **25,000 records in a single request** by setting `count: 25000`.
+
+
diff --git a/docs/blockchain/Matic/matic-uniswap-api.md b/docs/blockchain/Matic/matic-uniswap-api.md
index f6b9cf8c..087155c1 100644
--- a/docs/blockchain/Matic/matic-uniswap-api.md
+++ b/docs/blockchain/Matic/matic-uniswap-api.md
@@ -1,6 +1,7 @@
---
sidebar_position: 7
---
+import FAQ from "@site/src/components/FAQ";
import VideoPlayer from "../../../src/components/videoplayer.js";
@@ -230,4 +231,11 @@ query timeDiagram($network: evm_network) {
{
"network": "matic"
}
-```
\ No newline at end of file
+```
+
+
diff --git a/docs/blockchain/Solana/Meteora-DAMM-v2-API.md b/docs/blockchain/Solana/Meteora-DAMM-v2-API.md
index 84ecf6be..d95d09b5 100644
--- a/docs/blockchain/Solana/Meteora-DAMM-v2-API.md
+++ b/docs/blockchain/Solana/Meteora-DAMM-v2-API.md
@@ -1,3 +1,5 @@
+import FAQ from "@site/src/components/FAQ";
+
# Meteora DAMM v2 API
:::tip Need real-time Meteora DAMM v2 data or anything from the last ~30 days?
@@ -7,34 +9,6 @@ For **real-time + last ~30 days**, use the [**Trading cube**](https://docs.bitqu
Bitquery provides comprehensive real-time and historical data APIs and Streams for the Solana blockchain, enabling developers and traders to build powerful applications and execute trades based on reliable information from Meteora's Dynamic Automated Market Maker (DAMM) v2.
-## Frequently Asked Questions (FAQ)
-
-### Can I monitor Meteora DAMM v2 trades in real-time?
-
-Yes, you can subscribe to real-time Meteora DAMM v2 trades using GraphQL subscriptions. The API filters trades by the Meteora DAMM v2 program address `cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG` and provides trade data as it happens on-chain. Examples available below.
-
-### What data can I get from the Meteora DAMM v2 API?
-
-The API provides data for:
-
-- **DEX Trades**: Buy/sell amounts, token details (name, symbol, mint address, decimals), trader addresses, and transaction signatures
-- **Pool Creation**: Track new DAMM v2 pools with token pairs, creator information, and account details
-- **Price Data**: Real-time and historical token prices with USD conversions
-- **OHLC Data**: Open, High, Low, Close price data for technical analysis
-- **Volume Analytics**: Trading volume, buy/sell volume, and top trader insights
-
-### How do I use Bitquery's Solana APIs?
-
-Bitquery provides GraphQL APIs for Solana data. You can test queries using the IDE at ide.bitquery.io or convert queries to subscriptions for real-time data via WebSocket connections. To access API outside the IDE, you need to use your OAuth token, generate one [here](https://account.bitquery.io/user/api_v2/access_tokens). For enterprise users, we also offer Kafka streams for high-throughput data processing.
-
-### What Kafka streams are available for Solana?
-
-Bitquery provides managed Kafka topics including `solana.dextrades.proto`, `solana.tokens.proto`, and `solana.transactions.proto` with pre-parsed, enriched Protocol-Buffers events. These streams offer sub-second latency and enterprise-grade reliability for high-volume data processing. Read more [here](https://docs.bitquery.io/docs/streams/kafka-streaming-concepts/).
-
-### Where can I find more information about Solana APIs?
-
-For comprehensive Solana API documentation, visit [https://docs.bitquery.io/docs/blockchain/Solana/](https://docs.bitquery.io/docs/blockchain/Solana/). For real-time streaming options, check out [https://docs.bitquery.io/docs/streams/real-time-solana-data/](https://docs.bitquery.io/docs/streams/real-time-solana-data/).
-
## Meteora DAMM v2 API Guide
In this section we will see how to get data on Meteora DAMM v2 trades in real-time. According to the official Meteora documentation, DAMM v2 is a Dynamic Automated Market Maker that provides efficient price discovery and liquidity provision for token pairs on Solana.
@@ -377,6 +351,15 @@ query MyQuery {
}
```
+
+
## Related Documentation
- [Solana DEX Trades API](https://docs.bitquery.io/docs/blockchain/Solana/dextrades/)
diff --git a/docs/blockchain/Solana/Meteora-DLMM-API.md b/docs/blockchain/Solana/Meteora-DLMM-API.md
index 40100e44..4925fa90 100644
--- a/docs/blockchain/Solana/Meteora-DLMM-API.md
+++ b/docs/blockchain/Solana/Meteora-DLMM-API.md
@@ -1,3 +1,5 @@
+import FAQ from "@site/src/components/FAQ";
+
# Meteora DLMM API
:::tip Need real-time Meteora DLMM data or anything from the last ~30 days?
@@ -7,34 +9,6 @@ For **real-time + last ~30 days**, use the [**Trading cube**](https://docs.bitqu
Bitquery provides comprehensive real-time and historical data APIs and Streams for the Solana blockchain, enabling developers and traders to build powerful applications and execute trades based on reliable information from Meteora's Dynamic Liquidity Market Maker (DLMM).
-## Frequently Asked Questions (FAQ)
-
-### Can I monitor Meteora DLMM trades in real-time?
-
-Yes, you can subscribe to real-time Meteora DLMM trades using GraphQL subscriptions. The API filters trades by the Meteora DLMM program address `LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo` and provides trade data as it happens on-chain. Examples available below.
-
-### What data can I get from the Meteora DLMM API?
-
-The API provides data for:
-
-- **DEX Trades**: Buy/sell amounts, token details (name, symbol, mint address, decimals), trader addresses, and transaction signatures
-- **Pool Creation**: Track new DLMM pools with token pairs, creator information, and account details
-- **Price Data**: Real-time and historical token prices with USD conversions
-- **OHLC Data**: Open, High, Low, Close price data for technical analysis
-- **Volume Analytics**: Trading volume, buy/sell volume, and top trader insights
-
-### How do I use Bitquery's Solana APIs?
-
-Bitquery provides GraphQL APIs for Solana data. You can test queries using the IDE at ide.bitquery.io or convert queries to subscriptions for real-time data via WebSocket connections. To access API outside the IDE, you need to use your OAuth token, generate one [here](https://account.bitquery.io/user/api_v2/access_tokens). For enterprise users, we also offer Kafka streams for high-throughput data processing.
-
-### What Kafka streams are available for Solana?
-
-Bitquery provides managed Kafka topics including `solana.dextrades.proto`, `solana.tokens.proto`, and `solana.transactions.proto` with pre-parsed, enriched Protocol-Buffers events. These streams offer sub-second latency and enterprise-grade reliability for high-volume data processing. Read more [here](https://docs.bitquery.io/docs/streams/kafka-streaming-concepts/).
-
-### Where can I find more information about Solana APIs?
-
-For comprehensive Solana API documentation, visit [https://docs.bitquery.io/docs/blockchain/Solana/](https://docs.bitquery.io/docs/blockchain/Solana/). For real-time streaming options, check out [https://docs.bitquery.io/docs/streams/real-time-solana-data/](https://docs.bitquery.io/docs/streams/real-time-solana-data/).
-
## Meteora DLMM API Guide
In this section we will see how to get data on Meteora DLMM trades in real-time. According to the official Meteora documentation, DLMM (Dynamic Liquidity Market Maker) is an advanced AMM that provides efficient price discovery and liquidity provision for token pairs on Solana with concentrated liquidity features.
@@ -369,6 +343,15 @@ query MyQuery {
}
```
+
+
## Related Documentation
- [Solana DEX Trades API](https://docs.bitquery.io/docs/blockchain/Solana/dextrades/)
diff --git a/docs/blockchain/Solana/Pumpfun/Pump-Fun-API.mdx b/docs/blockchain/Solana/Pumpfun/Pump-Fun-API.mdx
index c9a7d020..a2f9cc71 100644
--- a/docs/blockchain/Solana/Pumpfun/Pump-Fun-API.mdx
+++ b/docs/blockchain/Solana/Pumpfun/Pump-Fun-API.mdx
@@ -3,6 +3,9 @@ title: "Pump.fun API - Live Prices, OHLCV, ATH, MarketCap"
description: "Get live Pump.fun token prices, OHLCV, ATH, market cap, and trades via Bitquery's GraphQL API, WebSocket streams, gRPC, or Kafka. Covers new tokens, migrations to PumpSwap, and bonding curve data on Solana."
---
+import VideoPlayer from "../../../../src/components/videoplayer.js";
+import FAQ from "@site/src/components/FAQ";
+
# Pump.fun API - Live Prices, OHLCV, ATH, MarketCap
:::tip Need real-time Pump.fun data or anything from the last ~30 days?
@@ -64,8 +67,6 @@ Follow the steps here to create one: [How to generate Bitquery API token ➤](ht
-import VideoPlayer from "../../../../src/components/videoplayer.js";
-
## What is the Program Address for Pump.fun on Solana?
The Pump.fun program address on Solana mainnet is `6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P`. Use Bitquery's GraphQL API to filter DEX trades, token creation, and bonding curve data by this program ID.
@@ -2419,24 +2420,15 @@ You can run this query [in the Bitquery IDE](https://ide.bitquery.io/latest-crea
-## Frequently Asked Questions
-
-### Can I get Pump.fun token trade data via gRPC or Kafka stream?
-
-Yes. Bitquery offers [gRPC streams](https://docs.bitquery.io/docs/grpc/solana/examples/pump-fun-grpc-streams/) and Kafka for Pump.fun trades. Contact [sales](https://t.me/Bloxy_info) for a trial of zero-latency Pumpfun data Streams.
-
-### What is the rate limit for the Pump.fun API?
+### Why does my Pump.fun query return "columns not available in combined dataset"? {#why-does-my-pumpfun-query-return-columns-not-available-in-combined-dataset}
-Rate limits depend on your Bitquery plan. See [authorisation](https://docs.bitquery.io/docs/authorisation/how-to-use/) for API token limits and upgrade options.
+Fields like `Trade.Side` are only available with `dataset: realtime`. For historical queries with `dataset: combined`, avoid `Trade_Side`, `Trade_Side_Type`, and similar realtime-only fields.
-### Does Bitquery support historical Pump.fun data?
-
-Yes. Use `dataset: combined` in your GraphQL query for historical data. For real-time only (last ~8 hours on PumpSwap), use `dataset: realtime`. See [historical aggregate data](https://docs.bitquery.io/docs/blockchain/Solana/historical-aggregate-data/) for details.
-
-### How do I get tokens that migrated from Pump.fun to PumpSwap?
-
-Use the [Pump Fun to Pump Swap](https://docs.bitquery.io/docs/blockchain/Solana/pump-fun-to-pump-swap) guide. Filter `DEXPools` by `Base.PostAmount: { eq: "206900000" }` to find tokens that graduated, or subscribe to pool creation events.
-
-### Why does my Pump.fun query return "columns not available in combined dataset"?
-
-The `Trade.Side` and some other fields are only available with `dataset: realtime`. For historical queries with `dataset: combined`, avoid `Trade_Side`, `Trade_Side_Type`, and similar realtime-only fields. Use [DEXTradeByTokens](https://docs.bitquery.io/docs/blockchain/Solana/solana-dextrades) fields that work in both datasets.
+
diff --git a/docs/blockchain/Solana/Solana-DEX-Orders-API.md b/docs/blockchain/Solana/Solana-DEX-Orders-API.md
index 129d9b0f..1ddd8c4b 100644
--- a/docs/blockchain/Solana/Solana-DEX-Orders-API.md
+++ b/docs/blockchain/Solana/Solana-DEX-Orders-API.md
@@ -1,3 +1,5 @@
+import FAQ from "@site/src/components/FAQ";
+
# Solana DEX Orders API
:::tip Need real-time Solana DEX orders data or anything from the last ~30 days?
@@ -289,3 +291,10 @@ You can run the query [here](https://ide.bitquery.io/Latest-Openbook-DEX-Orders#
## Video Tutorials
+
+
diff --git a/docs/blockchain/Solana/Solana-DexPools-API.md b/docs/blockchain/Solana/Solana-DexPools-API.md
index 2f2beda6..8d7c6606 100644
--- a/docs/blockchain/Solana/Solana-DexPools-API.md
+++ b/docs/blockchain/Solana/Solana-DexPools-API.md
@@ -1,6 +1,7 @@
---
sidebar_position: 2
---
+import FAQ from "@site/src/components/FAQ";
# Solana DEX Pools API
@@ -972,3 +973,10 @@ subscription {
```
+
+
diff --git a/docs/blockchain/Solana/Solana-Raydium-DEX-API.mdx b/docs/blockchain/Solana/Solana-Raydium-DEX-API.mdx
index d41beca9..3ab6cbf8 100644
--- a/docs/blockchain/Solana/Solana-Raydium-DEX-API.mdx
+++ b/docs/blockchain/Solana/Solana-Raydium-DEX-API.mdx
@@ -1,6 +1,7 @@
---
sidebar_position: 7
---
+import FAQ from "@site/src/components/FAQ";
# Raydium DEX API - Solana Trades, Pools, OHLC
@@ -816,3 +817,11 @@ subscription {
## Video Tutorial | How to track Raydium DEXTrades enabled by OpenBook Protocol using Bitquery API
+
+
diff --git a/docs/blockchain/Solana/index.mdx b/docs/blockchain/Solana/index.mdx
index 4a0aea30..3b2367b5 100644
--- a/docs/blockchain/Solana/index.mdx
+++ b/docs/blockchain/Solana/index.mdx
@@ -18,6 +18,7 @@ keywords:
- solana token api
- solana transaction api
---
+import FAQ from "@site/src/components/FAQ";
# Solana API - DEX Trades, Token Data, Real-Time Streams
@@ -172,3 +173,11 @@ import VideoPlayer from "../../../src/components/videoplayer.js";
### Video Tutorial | How to Track Latest Created Liquidity Pools, OHLC data of a specific pair on Solana Raydium DEX
+
+
diff --git a/docs/blockchain/Solana/letsbonk-api.md b/docs/blockchain/Solana/letsbonk-api.md
index 5cf0e8a5..4c49a88c 100644
--- a/docs/blockchain/Solana/letsbonk-api.md
+++ b/docs/blockchain/Solana/letsbonk-api.md
@@ -1,3 +1,5 @@
+import FAQ from "@site/src/components/FAQ";
+
# LetsBonk.Fun API - Solana - New Tokens, Trades, Live Prices
import VideoPlayer from "../../../src/components/videoplayer.js";
@@ -900,3 +902,11 @@ Using [this](https://ide.bitquery.io/liquidity-for-a-Letsbonkfun-token-pair_2) q
### Video Tutorial | How to get Top 100 About to Graduate LetsBonk.fun tokens
+
+
diff --git a/docs/blockchain/Solana/raydium-clmm-API.md b/docs/blockchain/Solana/raydium-clmm-API.md
index 30183d74..232e2612 100644
--- a/docs/blockchain/Solana/raydium-clmm-API.md
+++ b/docs/blockchain/Solana/raydium-clmm-API.md
@@ -1,3 +1,5 @@
+import FAQ from "@site/src/components/FAQ";
+
# Raydium CLMM API
:::tip Need real-time Raydium CLMM data or anything from the last ~30 days?
@@ -7,32 +9,6 @@ For **real-time + last ~30 days**, use the [**Trading cube**](https://docs.bitqu
Bitquery provides comprehensive real-time and historical data APIs and Streams for the Solana blockchain, enabling developers and traders to build powerful applications and execute trades based on reliable information.
-## Frequently Asked Questions (FAQ)
-
-### Can I monitor Raydium CLMM trades in real-time?
-
-Yes, you can subscribe to real-time Raydium CLMM trades using GraphQL subscriptions. The API filters trades by the Raydium CLMM program address `CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK` and provides trade data as it happens on-chain. Examples available below.
-
-### What data can I get from the Raydium CLMM API?
-
-The API provides data for:
-
-- **DEX Trades**: Buy/sell amounts, token details (name, symbol, mint address, decimals), trader addresses, and transaction signatures
-- **Pool Creation**: Track new CLMM pools with token pairs, creator information, and account details
-- **Position Management**: Monitor position opening (`openPositionV2`), closing (`closePosition`), and liquidity modifications (`increaseLiquidityV2`, `decreaseLiquidityV2`)
-
-### How do I use Bitquery's Solana APIs?
-
-Bitquery provides GraphQL APIs for Solana data. You can test queries using the IDE at ide.bitquery.io or convert queries to subscriptions for real-time data via WebSocket connections. To access API outside the IDE, you need to use your OAuth token, generate one [here](https://account.bitquery.io/user/api_v2/access_tokens). For enterprise users, we also offer Kafka streams for high-throughput data processing.
-
-### What Kafka streams are available for Solana?
-
-Bitquery provides managed Kafka topics including `solana.dextrades.proto`, `solana.tokens.proto`, and `solana.transactions.proto` with pre-parsed, enriched Protocol-Buffers events. These streams offer sub-second latency and enterprise-grade reliability for high-volume data processing. Read more [here](https://docs.bitquery.io/docs/streams/kafka-streaming-concepts/).
-
-### Where can I find more information about Solana APIs?
-
-For comprehensive Solana API documentation, visit [https://docs.bitquery.io/docs/blockchain/Solana/](https://docs.bitquery.io/docs/blockchain/Solana/). For real-time streaming options, check out [https://docs.bitquery.io/docs/streams/real-time-solana-data/](https://docs.bitquery.io/docs/streams/real-time-solana-data/).
-
## Raydium CLMM API Guide
In this section we will see how to get data on Raydium CLMM trades in real-time. According to the official docs available [here](https://docs.raydium.io/raydium/liquidity-providers/providing-concentrated-liquidity-clmm/intro-on-concentrated-liquidity),
@@ -543,3 +519,12 @@ You can run the query **[here](https://ide.bitquery.io/decreaseLiquidityV2-lates
}
```
+
+
diff --git a/docs/blockchain/Solana/solana-dextrades.mdx b/docs/blockchain/Solana/solana-dextrades.mdx
index 2a363a7d..8e241cc8 100644
--- a/docs/blockchain/Solana/solana-dextrades.mdx
+++ b/docs/blockchain/Solana/solana-dextrades.mdx
@@ -1,6 +1,7 @@
---
sidebar_position: 2
---
+import FAQ from "@site/src/components/FAQ";
# Solana DEX Trades API
@@ -2439,3 +2440,12 @@ You can run this query [in the Bitquery IDE](https://ide.bitquery.io/Top-Traders
## Video Tutorial on Solana DEXTrades API | How to get Top Solana tokens by Price Change 5min, 1h, 6h
+
+
diff --git a/docs/blockchain/Solana/solana-gmgn-api.md b/docs/blockchain/Solana/solana-gmgn-api.md
index 56ed8ad8..a3d70500 100644
--- a/docs/blockchain/Solana/solana-gmgn-api.md
+++ b/docs/blockchain/Solana/solana-gmgn-api.md
@@ -15,6 +15,7 @@ keywords:
- Bitquery Solana GMGN
sidebar_position: 1
---
+import FAQ from "@site/src/components/FAQ";
# GMGN Solana API
@@ -675,3 +676,10 @@ Same pattern as **top buyers**, ordered by **sell-side** flow for the same mint.
### Get GMGN Terminal Data with Bitquery API and Streams
+
+
diff --git a/docs/blockchain/Solana/solana-jupiter-api.mdx b/docs/blockchain/Solana/solana-jupiter-api.mdx
index f5358e63..46a0d379 100644
--- a/docs/blockchain/Solana/solana-jupiter-api.mdx
+++ b/docs/blockchain/Solana/solana-jupiter-api.mdx
@@ -3,6 +3,7 @@ title: "Solana Jupiter API - Live Swaps, Limit Orders, DEX Aggregator Data"
description: "Ultra low latency Jupiter DEX Aggregator swaps, limit orders, routing data, and trading analytics. Get real-time Jupiter API data for Solana token swaps, routing, and DEX aggregator insights."
sidebar_position: 7
---
+import FAQ from "@site/src/components/FAQ";
# Solana Jupiter API - Live Swaps, Limit Orders, DEX Aggregator Data
@@ -473,3 +474,10 @@ subscription {
### Video Tutorial | How to Track Create Limit Order, Cancel Limit Order and Cancel Expired Limit Order Transactions on Jupiter
+
+
diff --git a/docs/blockchain/Solana/solana-orca-dex-api.mdx b/docs/blockchain/Solana/solana-orca-dex-api.mdx
index 34c7ba02..90180f2b 100644
--- a/docs/blockchain/Solana/solana-orca-dex-api.mdx
+++ b/docs/blockchain/Solana/solana-orca-dex-api.mdx
@@ -1,6 +1,7 @@
---
sidebar_position: 7
---
+import FAQ from "@site/src/components/FAQ";
# Orca DEX API
@@ -822,3 +823,11 @@ subscription {
## Video Tutorial | How To Track Add Liquidity And Remove Liquidity Transactions On Solana Orca DEX
+
+
diff --git a/docs/blockchain/Solana/solana-photon-api.md b/docs/blockchain/Solana/solana-photon-api.md
index 8a2f98b6..1cf68b34 100644
--- a/docs/blockchain/Solana/solana-photon-api.md
+++ b/docs/blockchain/Solana/solana-photon-api.md
@@ -1,8 +1,7 @@
---
sidebar_position: 1
---
-
-
+import FAQ from "@site/src/components/FAQ";
# Photon Solana API
@@ -302,3 +301,11 @@ You can run this query [in the Bitquery IDE](https://ide.bitquery.io/Top-Traders
import VideoPlayer from "../../../src/components/videoplayer.js";
+
+
diff --git a/docs/blockchain/Solana/solana-transactions.md b/docs/blockchain/Solana/solana-transactions.md
index 530d697a..95bd8700 100644
--- a/docs/blockchain/Solana/solana-transactions.md
+++ b/docs/blockchain/Solana/solana-transactions.md
@@ -1,6 +1,7 @@
---
sidebar_position: 6
---
+import FAQ from "@site/src/components/FAQ";
# Solana Transactions API
@@ -113,3 +114,10 @@ subscription(
}
```
+
+
diff --git a/docs/blockchain/introduction.md b/docs/blockchain/introduction.md
index ca1457b2..ff38c7d3 100644
--- a/docs/blockchain/introduction.md
+++ b/docs/blockchain/introduction.md
@@ -3,6 +3,7 @@ title: "Blockchain Data APIs - Multi-Chain Developer Platform"
description: "Access comprehensive blockchain data across Ethereum, Solana, BSC, Arbitrum, Base, Polygon, Tron, and more. Real-time and historical data via GraphQL APIs, WebSocket subscriptions, and Kafka streams. Free tier available."
keywords: ["blockchain API", "blockchain data API", "multi-chain API", "Ethereum API", "Solana API", "BSC API", "Arbitrum API", "Base API", "Polygon API", "Tron API", "blockchain GraphQL API", "real-time blockchain data", "historical blockchain data", "DEX API", "DeFi API", "NFT API", "token API", "transaction API", "balance API", "smart contract API", "mempool API", "blockchain streaming", "WebSocket blockchain", "Kafka blockchain", "blockchain analytics", "blockchain developer tools", "blockchain infrastructure", "blockchain indexing", "blockchain data platform", "stablecoin API", "MEV detection", "mempool monitoring", "crypto price API", "real-time trading data", "cross-chain analytics", "blockchain compliance", "payment processing API"]
---
+import FAQ from "@site/src/components/FAQ";
# Blockchain Data APIs
@@ -534,267 +535,17 @@ Ready to start building with blockchain data? Here's your path forward:
4. **[Build Real-time Applications](https://docs.bitquery.io/docs/subscriptions/)** - Set up live data streams
5. **[Join Our Community](https://t.me/Bloxy_info)** - Get help and share your projects
-## Frequently Asked Questions
-
-
-### Q: What is Bitquery and how is it different from other blockchain data providers?
-
-A: Bitquery is a comprehensive blockchain data platform that provides pre-indexed, enriched, and analytics-ready data across 40+ blockchains. Unlike traditional RPC providers that offer raw node data, Bitquery provides:
-- Pre-computed analytics (real-time OHLC with 1-second aggregation, moving averages, volume metrics)
-- Real-time streaming via GraphQL subscriptions and Kafka
-- Cross-chain aggregation and unified data views
-- Historical data since blockchain genesis
-- Enterprise-grade infrastructure with 99.9% uptime
-
-### Q: Which blockchains does Bitquery support?
-
-A: Bitquery supports 40+ blockchains across two API versions. For a detailed **per-interface** list (including Kafka, gRPC, ClickHouse, and cloud), see **[Supported blockchains & networks](/docs/blockchain/supported-chains/)**.
-
-**V2 APIs:**
-- **EVM Chains**: Ethereum, BSC, Arbitrum, Base, Polygon, Optimism, opBNB
-- **Non-EVM**: Solana, Tron, TON, Bitcoin, Cardano
-
-**V1 APIs:**
-- **Supported Blockchains**: Bitcoin, Ethereum, Solana, BSC, Polygon, Bitcoin Cash, Litecoin, Bitcoin SV, Dash, Zcash, Avalanche, Klaytn, Celo, Moonbeam, Fantom, Cronos, Cosmos, Hedera, Flow, EOS, Ripple (XRP), Stellar, Algorand, Cardano, Filecoin, and more.
-
-**Documentation:**
-- **[Supported chains by interface](/docs/blockchain/supported-chains/)** — Coverage matrix: V1/V2, Kafka, gRPC, ClickHouse, cloud
-- **[V2 Documentation](https://docs.bitquery.io/docs/)** - Latest APIs with real-time streaming
-- **[V1 Documentation](https://docs.bitquery.io/v1/)** - Comprehensive APIs with 40+ blockchain support
-
-### Q: How accurate and reliable is the data?
-
-A: Bitquery provides enterprise-grade data accuracy and reliability:
-- **99.9% uptime** with redundant infrastructure
-- **Real-time data validation** and quality filtering
-- **Automatic outlier detection** and low-quality trade filtering
-- **Cross-validation** with multiple data sources
-- **Historical data integrity** maintained since blockchain genesis
-
-## **API & Technical Questions**
-
-### Q: What's the difference between GraphQL API, GraphQL subscriptions, and Kafka streaming?
-
-A: Each interface serves different use cases:
-- **GraphQL API**: Best for data queries, analytics, and applications needing flexible data retrieval
-- **GraphQL Subscriptions (WebSocket)**: Ideal for real-time applications, trading bots, and live dashboards
-- **Kafka Streaming**: Perfect for high-volume enterprise applications, data pipelines, and microservices
-
-### Q: How fast is the API response time?
-
-A: Bitquery provides sub-second response times:
-- **GraphQL queries**: Typically under 1 second for most queries
-- **WebSocket subscriptions**: Sub-second latency for real-time data
-- **Kafka streaming**: Sub-second data delivery with guaranteed ordering
-- **Complex analytics**: 2-5 seconds for heavy aggregation queries
-
-### Q: What are the rate limits and pricing?
-
-A: Bitquery offers flexible pricing:
-- **Free Tier**: 10,000 API points for 1 month
-- **Enterprise**: Custom solutions with dedicated support
-- **Rate limits**: Vary by plan, with enterprise customers getting higher limits
-
-### Q: How do I authenticate with the API?
-
-A: Bitquery uses OAuth2 for secure authentication:
-1. Create an application at [account.bitquery.io](https://account.bitquery.io/user/api_v2/applications)
-2. Generate an access token
-3. Include the token in your requests: `Authorization: Bearer YOUR_ACCESS_TOKEN`
-4. Tokens can be set with custom expiration times
-
-## **Bitquery Data & Features Questions**
-
-### Q: What types of blockchain data can I access?
-
-A: Bitquery provides comprehensive blockchain data including:
-- **Trading Data**: DEX trades, OHLC, volume, liquidity events
-- **Token Data**: Transfers, balances, holders, supply information
-- **Smart Contract Data**: Events, function calls, contract creation
-- **Block Data**: Headers, transactions, gas usage, network statistics
-- **NFT Data**: Transfers, collections, marketplace trades, metadata
-- **Stablecoin Data**: Real-time price monitoring, payment detection, compliance tools
-- **Mempool Data**: Pre-confirmation transactions, MEV detection, fee estimation
-- **Advanced Analytics**: Cross-chain aggregation, custom metrics, historical analysis
-
-### Q: Can I get real-time data?
-
-A: Yes, Bitquery provides multiple real-time data options:
-- **GraphQL Subscriptions**: Convert any query to a live stream via WebSocket
-- **Kafka Streaming**: High-throughput real-time data streams
-- **Mempool Monitoring**: Pre-confirmation transaction data for MEV and trading strategies
-- **Stablecoin APIs**: Real-time payment detection and price monitoring
-
-### Q: How far back does the historical data go?
-
-A: Yes, Bitquery provides complete historical data for all supported blockchains since their respective launch dates. Historical data is permanently stored and accessible for comprehensive analysis.
-
-### Q: Can I query data across multiple blockchains simultaneously?
-
-A: Yes, Bitquery supports cross-chain queries:
-- **Unified queries**: Query multiple blockchains in a single request
-- **Cross-chain aggregation**: Get unified views of tokens across chains
-- **Currency-level data**: Aggregate data for tokens like BTC across all chains
-- **Cross-chain analytics**: Compare metrics across different blockchains
-
-### Q: What are stablecoin APIs and how do they work?
-
-A: Bitquery's stablecoin APIs provide specialized infrastructure for stablecoin applications:
-- **Price Monitoring**: Track real-time price deviations from pegged values
-- **Payment Detection**: Instantly identify incoming stablecoin transfers
-- **Compliance Tools**: AML/KYC support with transaction monitoring
-- **Multi-chain Support**: USDT, USDC, DAI across all supported blockchains
-- **Cross-chain Analytics**: Unified view of stablecoin movements
-
-### Q: How does mempool monitoring work?
-
-A: Bitquery's mempool monitoring provides pre-confirmation data:
-- **Pre-confirmation Visibility**: See transactions before they're included in blocks
-- **MEV Detection**: Identify arbitrage opportunities and sandwich attacks
-- **Fee Estimation**: Real-time gas price recommendations
-- **Transaction Simulation**: Test transaction success before broadcasting
-- **Cross-chain Support**: Monitor pending transactions across multiple chains
-
-### Q: What advanced features are available for enterprise users?
-
-A: Enterprise users get access to advanced capabilities:
-- **Backfilling**: Automatic recovery of missing data during interruptions
-- **Silent Disconnect/Reconnect**: Automatic connection management
-- **Dedicated Infrastructure**: Isolated clusters for high-volume customers
-- **Custom Topics**: Tailored Kafka topics for specific requirements
-
-## **Integration & Development Questions**
-
-### Q: What programming languages are supported?
-
-A: Bitquery works with any programming language that supports HTTP requests:
-- **JavaScript/TypeScript**: Native GraphQL support
-- **Python**: Popular libraries like `requests`, `gql`, `kafka-python`
-- **Go**: Built-in HTTP client and Kafka libraries
-- **Java**: Spring Boot, Apache Kafka client
-- **Rust**: `reqwest`, `kafka-rust` crates
-- **PHP, Ruby, C#**: Standard HTTP libraries
-
-### Q: How do I get started with development?
-
-A: Getting started is easy:
-1. **Create account**: Visit our [GraphQL IDE](https://ide.bitquery.io/)
-2. **Run first query**: Try our [starter queries](https://docs.bitquery.io/docs/start/starter-queries/)
-3. **Generate API key**: Set up authentication at [account management](https://account.bitquery.io/user/api_v2/applications)
-4. **Explore examples**: Check our [use cases](https://docs.bitquery.io/docs/usecases/)
-5. **Join community**: Get help on [Telegram](https://t.me/Bloxy_info)
-
-### Q: Do you provide SDKs or libraries?
-
-A: Yes, Bitquery provides several tools:
-- **GraphQL IDE**: Built-in query builder and testing environment at [ide.bitquery.io](https://ide.bitquery.io/)
-- **Code generation**: Auto-generate code in your preferred language
-- **Postman collection**: Ready-to-use API examples in our [Postman documentation](https://docs.bitquery.io/docs/graphql/postman/)
-- **Protocol Buffer schemas**: For Kafka streaming in our [Protobuf documentation](https://docs.bitquery.io/docs/streams/protobuf/)
-- **TradingView SDK**: Ready-to-chart library for price data
-
-### Q: Can I use this for commercial applications?
-
-A: Absolutely! Bitquery is designed for both personal and commercial use:
-- **Commercial licensing**: Clear terms for commercial applications
-- **Enterprise support**: Dedicated support for business customers
-- **SLA guarantees**: Performance and uptime guarantees for enterprise
-- **Custom solutions**: Tailored solutions for specific business needs
-
-### **Data Export & Storage Questions**
-
-### Q: Can I export data for offline analysis?
-
-A: Yes, Bitquery provides comprehensive data export capabilities:
-- **Bulk exports**: Export large datasets for specific time ranges
-- **Scheduled exports**: Automated recurring exports
-- **Multiple formats**: JSON, CSV, Parquet, Protocol Buffers
-- **Cloud storage**: Direct access to AWS S3 data
-- **Custom filters**: Export only the data you need
-
-### Q: What data formats are available for export?
-
-A: Multiple formats are supported:
-- **JSON**: Human-readable, nested structure
-- **Parquet**: Columnar format for analytics and ML
-- **CSV**: Tabular format for spreadsheets and BI tools
-- **Protocol Buffers**: Binary format for high-performance applications
-- **Compression**: Optional gzip and snappy compression
-
-### Q: Can I set up automated data pipelines?
-
-A: Yes, Bitquery supports automated data pipelines:
-- **Kafka streaming**: Continuous data streams for real-time pipelines
-- **Scheduled exports**: Automated data exports on custom schedules
-- **Webhook integration**: Trigger external systems on data events
-- **Cloud integration**: Direct integration with AWS, Google Cloud, Azure
-
-### **Support & Community Questions**
-
-### Q: What support options are available?
-
-A: Bitquery provides multiple support channels:
-- **Documentation**: Comprehensive guides and API reference at [docs.bitquery.io](https://docs.bitquery.io/)
-- **Community Forum**: Technical discussions and feature requests at [community.bitquery.io](https://community.bitquery.io/)
-- **Telegram**: Quick questions and community help on [Telegram](https://t.me/Bloxy_info)
-- **Discord**: Developer community and discussions on [Discord](https://discord.gg/bitquery)
-- **Support Desk**: Technical issues and data problems at [support.bitquery.io](https://support.bitquery.io/)
-- **Enterprise Support**: Dedicated support for enterprise customers
-
-### Q: Is there a community or developer resources?
-
-A: Yes, Bitquery has an active developer community:
-- **Learning Path**: Structured learning from beginner to advanced in our [learning path guide](https://docs.bitquery.io/docs/start/learning-path/)
-- **Video Tutorials**: Step-by-step guides and examples
-- **Code Examples**: Real-world implementation examples in our [examples section](https://docs.bitquery.io/docs/examples/)
-- **Community Forum**: Share knowledge and get help at [community.bitquery.io](https://community.bitquery.io/)
-- **GitHub**: Open source tools and examples
-
-### Q: How do I report bugs or request features?
-
-A: You can report issues and request features through:
-- **Support Desk**: [support.bitquery.io](https://support.bitquery.io/) for bugs
-- **Community Forum**: [community.bitquery.io](https://community.bitquery.io/) for feature requests
-- **Telegram**: Quick questions and community feedback on [Telegram](https://t.me/Bloxy_info)
-- **Enterprise customers**: Direct contact with dedicated support team
-
-### **Enterprise & Scaling Questions**
-
-### Q: Do you offer enterprise solutions?
-
-A: Yes, Bitquery provides enterprise-grade solutions:
-- **Dedicated infrastructure**: Isolated clusters for high-volume customers
-- **Custom SLAs**: Performance and uptime guarantees
-- **Priority support**: Dedicated support team
-- **Custom topics**: Tailored Kafka topics for specific needs
-- **Volume discounts**: Reduced rates for high-volume usage
-
-### Q: How does Bitquery handle high-volume applications?
-
-A: Bitquery is designed for scale:
-- **Auto-scaling**: Infrastructure scales with your usage
-- **Kafka streaming**: Handle millions of events per second
-- **Load balancing**: Automatic traffic distribution
-- **Monitoring**: Comprehensive metrics and alerting
-
-### Q: What are the data retention policies?
-
-A: Bitquery provides flexible data retention:
-- **Historical data**: Permanently stored since blockchain genesis
-- **Real-time data**: Available for immediate querying
-- **Kafka topics**: Configurable retention (7 days to 1 year)
-- **Export data**: Custom retention based on your needs
-- **Backup policies**: Multiple backups for data safety
-
-### How do I add a custom EVM network and what does it cost? {#how-do-i-add-a-custom-evm-network-and-what-does-it-cost}
-
-**Adding a new EVM-compatible chain** to Bitquery’s indexed networks is **not** a self-serve toggle in these docs. It is a **product and indexing engagement**: scope (historical depth, datasets, SLAs), engineering effort, and **pricing** are agreed with Bitquery—typically via **sales** and a custom quote. Start from [pricing](https://bitquery.io/pricing) and [Account → Billing](https://account.bitquery.io/user/billing), or email [sales@bitquery.io](mailto:sales@bitquery.io) with the chain, RPC details, and your data requirements. For chains **already listed** in our docs, use the documented `network` values in GraphQL (see each chain’s guide).
-
-
-### Does Bitquery support Arbitrum, Optimism, and Base? {#does-bitquery-support-arbitrum-optimism-and-base}
-
-**Yes.** All three are **EVM-compatible** networks in **V2**: use **`EVM(network: …, dataset: …)`** with the documented **`network`** values for **[Arbitrum](https://docs.bitquery.io/docs/blockchain/Arbitrum/)**, **[Optimism](https://docs.bitquery.io/docs/blockchain/Optimism/)**, and **[Base](https://docs.bitquery.io/docs/blockchain/Base/)** to query **blocks, transactions, transfers, DEX trades, events, calls**, and more. **Realtime**, **archive**, and **combined** datasets follow the same model as Ethereum and BSC; for streaming, use **GraphQL subscriptions**, **Kafka** ([EVM protobuf streams](https://docs.bitquery.io/docs/streams/protobuf/chains/EVM-protobuf/)), and the chain-specific guides linked above.
+
---
diff --git a/docs/cloud/index.md b/docs/cloud/index.md
index 4e73fa9d..be00b41d 100644
--- a/docs/cloud/index.md
+++ b/docs/cloud/index.md
@@ -44,6 +44,8 @@ keywords:
sidebar_position: 1
---
+import FAQ from "@site/src/components/FAQ";
+
# Blockchain Data in Cloud
Bitquery provides ready-to-use blockchain **data dumps** in **Parquet format** via popular cloud providers such as **AWS S3**, **Google Cloud Storage**, **Snowflake**, and **BigQuery**.
@@ -367,3 +369,24 @@ If you require **low-latency or streaming blockchain data**, Bitquery also provi
- [Bitcoin Data Export](https://docs.bitquery.io/docs/cloud/bitcoin/) – Bitcoin blockchain and OMNI data
- [Kafka Streaming Concepts](https://docs.bitquery.io/docs/streams/kafka-streaming-concepts/) – Real-time blockchain data streams
+
+
diff --git a/docs/examples/_protocol-template.mdx b/docs/examples/_protocol-template.mdx
new file mode 100644
index 00000000..bd30c7fb
--- /dev/null
+++ b/docs/examples/_protocol-template.mdx
@@ -0,0 +1,69 @@
+---
+title: "Protocol API page template"
+description: "Template for protocol-specific API answer hubs — copy and customize for new DEX / launchpad pages."
+draft: true
+---
+
+import FAQ from "@site/src/components/FAQ";
+
+# {Protocol} API — Real-Time Trades, Prices & Liquidity
+
+Bitquery's {Protocol} API returns real-time and historical trades, OHLC candles, liquidity, and prices for {Protocol} on {Chain}, via GraphQL, WebSocket, and Kafka.
+
+## What data is available
+
+- Trades, OHLC, prices, liquidity, new pools/pairs
+- Wallet-level trade history and volume rankings
+- Historical archives plus realtime window (see dataset notes on live pages)
+
+## Stream real-time {Protocol} trades (GraphQL subscription)
+
+```graphql
+subscription {
+ Solana {
+ DEXTrades(
+ where: { Trade: { Dex: { ProtocolName: { is: "raydium" } } } }
+ ) {
+ Block { Time }
+ Trade {
+ Dex { ProtocolName }
+ Buy { Amount Currency { Symbol } }
+ Sell { Amount Currency { Symbol } }
+ }
+ }
+ }
+}
+```
+
+Replace `ProtocolName` and root type (`Solana` / `EVM`) for your venue.
+
+## Coverage & latency
+
+| | |
+|---|---|
+| **Chain** | {Chain} |
+| **Interfaces** | GraphQL, WebSocket, Kafka, gRPC (where available) |
+| **Latency** | Near real-time as blocks are processed |
+
+## Related docs
+
+- [Solana DEX trades](/docs/blockchain/Solana/solana-dextrades/)
+- [Authorisation](/docs/authorisation/how-to-generate/)
+- [Kafka streaming](/docs/streams/kafka-streaming-concepts/)
+
+
diff --git a/docs/examples/futures-dexs/asterdex-api.md b/docs/examples/futures-dexs/asterdex-api.md
index 29c3c4cd..7db56bd3 100644
--- a/docs/examples/futures-dexs/asterdex-api.md
+++ b/docs/examples/futures-dexs/asterdex-api.md
@@ -31,6 +31,7 @@ slug: asterdex-api
canonical: "/docs/examples/futures-dexs/asterdex-api"
image: "/img/asterdex-api-guide.png"
---
+import FAQ from "@site/src/components/FAQ";
# AsterDEX API Documentation - Complete Guide to BNB Smart Chain Perpetual Futures Trading
@@ -482,19 +483,19 @@ async function fetchAsterDEXData(retries = 3) {
- [Production Deployment Guide](https://docs.bitquery.io/docs/start/getting-updates/)
- [API Rate Limits](https://docs.bitquery.io/docs/graphql/limits/)
-## Frequently Asked Questions (FAQ)
-### Why Use Bitquery for AsterDEX Data?
-
-**Bitquery** provides comprehensive blockchain data infrastructure that indexes the entire BSC chain in real-time. All **AsterDEX trading data** — including perpetual futures trades, liquidation events, margin calls, and smart contract interactions — is automatically captured and made available through powerful GraphQL APIs and streaming services.
-
-**Key advantages:**
-
-- **Real-time data access** without running blockchain nodes
-- **Historical data** for backtesting and analytics
-- **GraphQL API** for flexible data queries
-- **Streaming capabilities** for live trading applications
-- **Complete order lifecycle tracking** from creation to settlement
+
## What You Can Build with AsterDEX API Integration
@@ -504,84 +505,6 @@ With Bitquery's AsterDEX integration, developers can build:
- **Monitor trader, token pairs, and pool performance** in real-time
- **Stream real‑time on‑chain events** (swaps, stop loss & take profit updates, liquidations) as they occur
-### General AsterDEX API Questions
-
-**Q: What is AsterDEX and how does it work?**
-
-A: AsterDEX is a perpetual decentralized exchange on BNB Smart Chain that allows users to trade cryptocurrency futures with leverage, provide liquidity, and earn trading fees. It uses automated market-making mechanisms for decentralized derivatives trading.
-
-**Q: How do I access AsterDEX trading data without running a BSC node?**
-
-A: Use Bitquery's GraphQL APIs to access complete AsterDEX data including trades, liquidations, and smart contract events without infrastructure setup. All data is indexed in real-time from BNB Smart Chain.
-
-**Q: What contract address does AsterDEX use on BSC?**
-
-A: The main AsterDEX contract address is `0x1b6F2d3844C6ae7D56ceb3C3643b9060ba28FEb0` on BNB Smart Chain (BSC).
-
-### API Integration Questions
-
-**Q: How can I track AsterDEX liquidations in real-time?**
-
-A: Use our liquidation API to monitor `ExecuteCloseSuccessful` events with `executionType: 2`. These events indicate liquidation occurrences with detailed position and price information.
-
-**Q: Can I track a specific trader's activity on AsterDEX?**
-
-A: Yes, use our trader-specific APIs to monitor all trading activities for any wallet address, including position openings, closures, margin updates, and P&L calculations.
-
-**Q: How do I differentiate between limit orders and market orders?**
-
-A: Monitor `OpenLimitOrder` events for limit orders and `OpenMarketTrade` events for market orders. Each has different execution timing and follow-up events.
-
-**Q: What are the different execution types in AsterDEX?**
-
-A: There are 4 execution types: 0 (TakeProfit), 1 (StopLoss), 2 (Liquidation), and 3 (Manual/Market close). Each indicates how a position was closed.
-
-### Technical Implementation Questions
-
-**Q: How do I track the complete lifecycle of an AsterDEX trade?**
-
-A: Use the order hash to track all related events from `OpenLimitOrder`/`OpenMarketTrade` through `ExecuteLimitOrderSuccessful`, margin updates, and final `CloseTradeSuccessful` events.
-
-**Q: Can I get real-time funding rate data for AsterDEX pairs?**
-
-A: Yes, monitor `UpdatePairAccFundingFeePerShare` events to track funding rate changes and `FundingFeeAddLiquidity` events for funding payments.
-
-**Q: How do I monitor margin calls and position health?**
-
-A: Track `UpdateMargin` events for margin changes and `ExecuteTpSlOrLiq` events for automated risk management triggers like stop-loss and take-profit executions.
-
-**Q: Is there rate limiting on Bitquery APIs for AsterDEX data?**
-
-A: Bitquery offers different plans with varying rate limits. Check the [Bitquery pricing page](https://bitquery.io/pricing) for current API limits and upgrade options.
-
-### Data Analysis Questions
-
-**Q: How can I calculate trading volumes on AsterDEX?**
-
-A: Aggregate `OpenMarketTrade` and `CloseTradeSuccessful` events, extracting position sizes and values to calculate daily, weekly, or monthly trading volumes.
-
-**Q: Can I track AsterDEX market maker activity?**
-
-A: Yes, analyze trading patterns using our trader APIs to identify market makers based on trading frequency, position sizes, and profit patterns.
-
-**Q: How do I analyze liquidation patterns and market stress?**
-
-A: Monitor liquidation events frequency, amounts, and market conditions during high volatility periods using our historical data APIs.
-
-### Getting Started Questions
-
-**Q: Do I need special permissions to access AsterDEX data via Bitquery?**
-
-A: Create a free [Bitquery account](https://ide.bitquery.io/) to start exploring data. Production applications may require paid plans for higher limits and additional features.
-
-**Q: Are there code examples for different programming languages?**
-
-A: Yes, all GraphQL queries work with any language that supports HTTP requests. Common implementations include JavaScript, Python, and Go clients.
-
-**Q: How fresh is the AsterDEX data provided by Bitquery?**
-
-A: Data is indexed in real-time with typical latency of 1-3 seconds from block confirmation on BNB Smart Chain.
-
## Related Resources
### Bitquery Platform
diff --git a/docs/examples/polymarket-api/polymarket-api.md b/docs/examples/polymarket-api/polymarket-api.md
index 8fa8e310..caff72e3 100644
--- a/docs/examples/polymarket-api/polymarket-api.md
+++ b/docs/examples/polymarket-api/polymarket-api.md
@@ -21,6 +21,7 @@ keywords:
- position trading API
- oracle resolution API
---
+import FAQ from "@site/src/components/FAQ";
# Polymarket API - Trade, Prices & Market Data
@@ -608,29 +609,17 @@ query {
---
-## Frequently Asked Questions
-### What is the Polymarket CTF Exchange?
-
-The CTF (Conditional Token Framework) Exchange is Polymarket's prediction market layer on Polygon. Bitquery indexes it as `polymarket` protocol. Use the [Polymarket Markets API](https://docs.bitquery.io/docs/examples/polymarket-api/polymarket-markets-api) to query markets by condition_id, slug, or token ID.
-
-### How do I filter Polymarket trades by condition_id?
-
-Use the [Polymarket Markets API](https://docs.bitquery.io/docs/examples/polymarket-api/polymarket-markets-api) with `Condition.Id` in your query, or `PredictionManagements` with `Prediction.Condition.Id: { in: $conditionIds }`. Combine with the [Prediction Trades API](https://docs.bitquery.io/docs/examples/prediction-market/prediction-trades-api) for trade history.
-
-### Where can I get the Polymarket 5-minute BTC up/down API?
-
-Bitquery provides prediction market data via the [Prediction Trades API](https://docs.bitquery.io/docs/examples/prediction-market/prediction-trades-api). Filter by market question or condition ID for BTC up/down markets. For a dedicated 5-minute product, contact [support](https://t.me/bloxy_info).
-
-### What network does Polymarket use?
-
-Polymarket runs on Polygon. Use `EVM(dataset: realtime, network: matic)` for prediction trades and settlements (see the **Dataset** note above—**realtime** holds about the **last 7 days**).
-
-### Does Bitquery support real-time Polymarket streaming?
-
-Yes. Use GraphQL subscriptions (change `query` to `subscription`) or [Kafka Streams](https://docs.bitquery.io/docs/streams/kafka-streaming-concepts) for `matic.predictions.proto`. Contact support for Kafka access.
-
----
+
## Support
diff --git a/docs/mcp/build-a-trading-agent.mdx b/docs/mcp/build-a-trading-agent.mdx
new file mode 100644
index 00000000..aba6bd88
--- /dev/null
+++ b/docs/mcp/build-a-trading-agent.mdx
@@ -0,0 +1,66 @@
+---
+title: "Build a Trading Agent with Bitquery MCP"
+description: "End-to-end recipe: connect an AI agent to Bitquery MCP, discover tokens, stream trades, and monitor wallets across chains."
+---
+
+import FAQ from "@site/src/components/FAQ";
+
+# Build a Trading Agent with Bitquery MCP
+
+Use Bitquery's MCP server as the data layer for an AI trading agent: discover trending tokens, pull OHLC and liquidity, watch wallets, and alert on volume spikes — without writing GraphQL by hand.
+
+## Architecture
+
+```
+Your agent (Claude / Cursor / custom) → mcp.bitquery.io → Bitquery trading dataset
+```
+
+The agent calls MCP tools in plain English; Bitquery returns structured trade, price, and wallet data from the same production dataset as the GraphQL API.
+
+## Step 1 — Connect MCP
+
+Pick your runtime:
+
+| Client | Config |
+|--------|--------|
+| Claude Desktop | Custom connector → `https://mcp.bitquery.io` |
+| Cursor | `.cursor/mcp.json` with `mcp-remote` → `https://mcp.bitquery.io/mcp` |
+| Claude Code | `claude mcp add bitquery -- npx -y mcp-remote https://mcp.bitquery.io/mcp` |
+
+Sign in with a [Bitquery account](https://account.bitquery.io/) on first tool call. For headless servers, append `?token=YOUR_TOKEN` (see [MCP overview](/docs/mcp/mcp-server/#authentication-via-query-token-less-secure)).
+
+## Step 2 — Discovery loop
+
+Ask the agent to rank tokens by volume, filter wash trading, and return mint/ pool addresses:
+
+> *"Top 20 Solana tokens by USD volume in the last 24h, exclude pools with suspicious wash patterns."*
+
+Save mint addresses for monitoring.
+
+## Step 3 — Price & liquidity monitoring
+
+> *"1-minute OHLC for [TOKEN] on Raydium for the last 6 hours."*
+> *"Alert me when 5m volume on [POOL] exceeds 2× its 24h average."*
+
+For sub-100ms pipelines, graduate to [Kafka](/docs/streams/kafka-streaming-concepts/) or [Solana protobuf streams](/docs/streams/protobuf/chains/Solana-protobuf/) after validating logic via MCP.
+
+## Step 4 — Wallet intelligence
+
+> *"All trades for wallet [ADDRESS] on Base in the last 7 days with realised PnL per token."*
+
+Combine with your execution layer (CEX, on-chain router, etc.) — MCP is read-only and does not place trades.
+
+## Next steps
+
+- [MCP server overview](/docs/mcp/mcp-server/)
+- [Cursor setup](/docs/mcp/cursor/)
+- [Solana DEX trades API](/docs/blockchain/Solana/solana-dextrades/)
+- [Trading cube overview](/docs/trading/trading-data-overview/)
+
+
diff --git a/docs/mcp/claude-desktop.mdx b/docs/mcp/claude-desktop.mdx
new file mode 100644
index 00000000..40eea73c
--- /dev/null
+++ b/docs/mcp/claude-desktop.mdx
@@ -0,0 +1,39 @@
+---
+title: "Use Bitquery MCP in Claude Desktop"
+description: "Connect Claude Desktop to Bitquery's MCP server for on-chain DEX trades, OHLC, market cap, and wallet data in plain English."
+---
+
+import FAQ from "@site/src/components/FAQ";
+
+# Use Bitquery MCP in Claude Desktop
+
+Connect Claude Desktop to [`https://mcp.bitquery.io`](https://mcp.bitquery.io) and query Bitquery's blockchain trading dataset in plain English — DEX trades, OHLC, market cap, and wallet history across Solana, Ethereum, BSC, Base, and more.
+
+## Setup
+
+1. Open **Claude Desktop** → **Settings** → **Connectors** (or **MCP Servers**).
+2. Choose **Add custom connector** / **Custom MCP server**.
+3. Paste the server URL:
+
+```
+https://mcp.bitquery.io
+```
+
+4. Save and restart Claude Desktop if prompted.
+5. When a tool runs for the first time, sign in with your [Bitquery account](https://account.bitquery.io/) and approve access. OAuth tokens refresh automatically (~30 days).
+
+## Example prompts
+
+- *"Top 10 Solana tokens by USD volume in the last 24 hours."*
+- *"1-minute OHLC for WIF on Raydium for the last 6 hours."*
+- *"Show every trade for wallet `7xKX…` on Base in the last 7 days."*
+
+See the full [MCP server overview](/docs/mcp/mcp-server/) for coverage, authentication options, and more clients.
+
+
diff --git a/docs/mcp/cursor.mdx b/docs/mcp/cursor.mdx
new file mode 100644
index 00000000..adb54567
--- /dev/null
+++ b/docs/mcp/cursor.mdx
@@ -0,0 +1,51 @@
+---
+title: "Use Bitquery MCP in Cursor"
+description: "Add Bitquery's MCP server to Cursor for AI-assisted DEX trade queries, OHLC charts, and wallet analytics across 8+ chains."
+---
+
+import FAQ from "@site/src/components/FAQ";
+
+# Use Bitquery MCP in Cursor
+
+Add Bitquery to Cursor so the AI can query live and historical DEX trades, OHLC, market cap, and wallet data via [`https://mcp.bitquery.io`](https://mcp.bitquery.io).
+
+## Setup via Cursor settings
+
+1. Open **Cursor Settings** → **MCP** (or **Features → MCP Servers**).
+2. Add a new MCP server.
+3. URL: `https://mcp.bitquery.io`
+4. Reload MCP configuration or restart Cursor.
+5. Approve Bitquery when prompted and sign in with your Bitquery account.
+
+## Setup via config file
+
+Add to `.cursor/mcp.json` in your project (or global Cursor config):
+
+```json
+{
+ "mcpServers": {
+ "bitquery": {
+ "command": "npx",
+ "args": ["-y", "mcp-remote", "https://mcp.bitquery.io/mcp"]
+ }
+ }
+}
+```
+
+Restart Cursor so the server is picked up. On first tool call, complete OAuth in the browser.
+
+## Example prompts
+
+- *"Which Base tokens crossed $10M market cap in the last 24h?"*
+- *"Pull Pump.fun trades for mint `…` in the last hour."*
+- *"Compare 24h volume on Raydium vs Orca for SOL pairs."*
+
+More detail: [MCP server overview](/docs/mcp/mcp-server/).
+
+
diff --git a/docs/mcp/mcp-server.mdx b/docs/mcp/mcp-server.mdx
index a587e8c8..6f00ba4d 100644
--- a/docs/mcp/mcp-server.mdx
+++ b/docs/mcp/mcp-server.mdx
@@ -17,6 +17,8 @@ keywords:
- crypto trading MCP server
---
+import FAQ from "@site/src/components/FAQ";
+
@@ -31,60 +33,6 @@ keywords:
-
# Bitquery MCP Server — Blockchain Data for AI Agents
@@ -287,21 +235,17 @@ See the [worked examples](/docs/mcp/trading/examples/) for end-to-end versions o
---
-## FAQ
-
-**Is the MCP free?** Yes — a free Bitquery account is enough to start. Heavier usage is metered against your existing plan.
-
-**Do I need to write SQL?** No. You ask in plain English; the agent handles the rest. The server is read-only — the agent cannot delete, insert, or modify anything.
-
-**Can I self-host?** The underlying server is the open-source [`mcp-clickhouse`](https://github.com/ClickHouse/mcp-clickhouse) project. Bitquery runs the production deployment with OAuth and our production data; you can run your own MCP if you have your own database.
-
-**How far back does the data go?** Multiple years for the major chains. Tell the agent the window you care about (e.g. *"in the last 7 days"*) and it bounds the lookup efficiently.
-
-**How fresh is the data?** Near real time — the dataset updates as blocks are processed.
-
-**Where do I report issues or request new data?** [Telegram](https://t.me/Bloxy_info) or [support.bitquery.io](https://support.bitquery.io/).
-
----
+
## References
diff --git a/docs/mcp/windsurf.mdx b/docs/mcp/windsurf.mdx
new file mode 100644
index 00000000..5c65371d
--- /dev/null
+++ b/docs/mcp/windsurf.mdx
@@ -0,0 +1,46 @@
+---
+title: "Use Bitquery MCP in Windsurf"
+description: "Connect Windsurf to Bitquery's MCP server for blockchain DEX data, OHLC, and wallet queries in your AI coding workflow."
+---
+
+import FAQ from "@site/src/components/FAQ";
+
+# Use Bitquery MCP in Windsurf
+
+Connect Windsurf to Bitquery's hosted MCP endpoint at [`https://mcp.bitquery.io`](https://mcp.bitquery.io) to query DEX trades, prices, liquidity, and wallet history while you build trading tools and dashboards.
+
+## Setup
+
+1. Open **Windsurf** → **Settings** → **MCP** (or the MCP / Cascade connectors panel).
+2. Add a **custom MCP server**.
+3. Server URL: `https://mcp.bitquery.io`
+4. Save and reload the MCP configuration.
+5. On first use, sign in with your Bitquery account when OAuth opens in the browser.
+
+If Windsurf expects a JSON config, use the same `mcp-remote` pattern as Cursor:
+
+```json
+{
+ "mcpServers": {
+ "bitquery": {
+ "command": "npx",
+ "args": ["-y", "mcp-remote", "https://mcp.bitquery.io/mcp"]
+ }
+ }
+}
+```
+
+## Example prompts
+
+- *"Latest Raydium pool creations on Solana in the last 2 hours."*
+- *"OHLC 5m candles for ETH/USDC on Uniswap v3 today."*
+- *"Wallet PnL summary for `0x…` on Ethereum last 30 days."*
+
+See [MCP server overview](/docs/mcp/mcp-server/) for full coverage and auth options.
+
+
diff --git a/docs/streams/index.md b/docs/streams/index.md
index 883abed5..97cf5ecf 100644
--- a/docs/streams/index.md
+++ b/docs/streams/index.md
@@ -1,9 +1,11 @@
---
-title: Real-time Blockchain Data Streaming API | Bitquery Streaming Platform
+title: Real-time Blockchain Data Streaming API
description: Access real-time cryptocurrency and DeFi data with Bitquery's streaming APIs. Choose from WebSocket, Kafka, or gRPC streams for trading bots, DEX monitoring, and blockchain analytics.
keywords: [real-time blockchain data, cryptocurrency data API, DeFi data streams, trading data feeds, blockchain WebSocket API, Kafka blockchain streams, gRPC blockchain data, crypto market data, DEX trading data, blockchain analytics API]
---
+import FAQ from "@site/src/components/FAQ";
+
# Real-time Blockchain Data Streaming API | Bitquery Platform
Bitquery provides powerful **real-time blockchain data streaming** capabilities through three distinct technologies, each optimized for different use cases and requirements. Whether you're building a **cryptocurrency trading bot**, **DeFi trading terminal**, **DEX pool monitoring** system, or **token sniping** application, we have the right **blockchain data streaming solution** for your needs.
@@ -137,3 +139,13 @@ Our newest **ultra-low latency streaming technology** provides the fastest **Sol
---
Ready to start streaming? Choose the technology that best fits your use case and dive into the detailed documentation for implementation guides, best practices, and code examples.
+
+
diff --git a/docs/trading/crypto-price-api/introduction.mdx b/docs/trading/crypto-price-api/introduction.mdx
index 25eb391b..545c5790 100644
--- a/docs/trading/crypto-price-api/introduction.mdx
+++ b/docs/trading/crypto-price-api/introduction.mdx
@@ -1,5 +1,5 @@
---
-title: "Crypto Price API – Real-Time Token Data, Charts & OHLC | Bitquery"
+title: "Crypto Price API – Real-Time Token Data, Charts & OHLC"
description: "Access real-time crypto prices, OHLC, moving averages & volume across EVM, Solana, Tron & more. Ultra-low latency for trading bots, DeFi & charting apps."
keywords:
- "crypto price API"
@@ -28,6 +28,8 @@ keywords:
- "low latency price feed"
---
+import FAQ from "@site/src/components/FAQ";
+
# Crypto Price API – Real-Time Token Data, Charts & OHLC
:::tip Real-time + last ~30 days only
@@ -587,3 +589,24 @@ With the new Price API, you can simply feed the stream to your custom datafeed o
import VideoPlayer from "../../../src/components/videoplayer.js";
+
+
diff --git a/docs/trading/crypto-trades-api/trades-api.md b/docs/trading/crypto-trades-api/trades-api.md
index b6f55e85..3d8e3402 100644
--- a/docs/trading/crypto-trades-api/trades-api.md
+++ b/docs/trading/crypto-trades-api/trades-api.md
@@ -13,6 +13,7 @@ keywords:
- trader wallet trade history
- token trade filter API
---
+import FAQ from "@site/src/components/FAQ";
# Crypto Trades API — Real-Time DEX Trade Streams
@@ -2270,3 +2271,12 @@ You can run this query [in the Bitquery IDE](https://ide.bitquery.io/first-50-bu
}
}
```
+
+
diff --git a/docs/trading/trading-data-overview.md b/docs/trading/trading-data-overview.md
index 4e9e9af4..9c922038 100644
--- a/docs/trading/trading-data-overview.md
+++ b/docs/trading/trading-data-overview.md
@@ -1,5 +1,5 @@
---
-title: "Trading Data Overview — Chain-Level Trades vs Trading Cube | Bitquery"
+title: "Trading Data Overview — Chain-Level Trades vs Trading Cube"
description: "Bitquery exposes DEX trading data in two ways: raw chain-level trades (DEXTrades / DEXTradeByTokens) and the unified Trading cube (Trading.Trades, Currencies, Tokens, Pairs). Learn the difference and pick the right API."
sidebar_position: 1
keywords:
@@ -16,6 +16,8 @@ keywords:
- multi-chain trading api
---
+import FAQ from "@site/src/components/FAQ";
+
# Trading Data Overview — Chain-Level Trades vs Trading Cube
Bitquery exposes DEX trading data through **two complementary product families**. The choice between them is driven primarily by **how far back you need to look**.
@@ -169,3 +171,13 @@ A common pattern is to use the **Trading cube** for the live + 30-day-window tab
- **Chain-level trade docs:** [DEX Trades (EVM)](/docs/evm/dextrades) · [DEXTradeByTokens cube](/docs/cubes/dextradesbyTokens) · [Solana DEX Trades](/docs/blockchain/Solana/solana-dextrades)
- **Price Index internals:** [Price Index Algorithm](/docs/trading/crypto-price-api/price-index-algorithm) · [Supply fields reference](/docs/trading/crypto-price-api/supply-fields)
- **API delivery comparison:** [GraphQL Query vs Subscription vs Kafka](/docs/api-comparison)
+
+
diff --git a/docusaurus.config.js b/docusaurus.config.js
index 9fdc3188..1b72ab95 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -23,7 +23,8 @@ const enableAnalytics = process.env.NODE_ENV === "production";
/** @type {import('@docusaurus/types').Config} */
const config = {
- title: "Bitquery",
+ title: "Bitquery Docs",
+ titleDelimiter: "|",
tagline:
"How to query data and build applications on Bitquery blockchain data platform",
favicon: "img/favicon.ico",
@@ -157,13 +158,27 @@ const config = {
to: "/docs/usecases/telegram-bot/",
from: "/docs/usecases/Telegram_bot/",
},
- // MCP moved from Use Cases to docs/mcp/ (2026). Single `from` only:
- // multiple entries can collide as the same `build/.../index.html` on
- // case-insensitive filesystems (MCP vs mcp) or trailing-slash rules.
+ // MCP moved from Use Cases to docs/mcp/ (2026).
{
- to: "/docs/mcp/mcp-server",
+ to: "/docs/mcp/mcp-server/",
from: "/docs/usecases/MCP/",
},
+ {
+ to: "/docs/mcp/claude-desktop/",
+ from: "/docs/usecases/MCP/claude-desktop/",
+ },
+ {
+ to: "/docs/mcp/cursor/",
+ from: "/docs/usecases/MCP/cursor/",
+ },
+ {
+ to: "/docs/mcp/windsurf/",
+ from: "/docs/usecases/MCP/windsurf/",
+ },
+ {
+ to: "/docs/mcp/build-a-trading-agent/",
+ from: "/docs/usecases/MCP/build-a-trading-agent/",
+ },
{
to: "/docs/authorisation/how-to-generate",
from: "/docs/ide/authorisation/",
@@ -879,6 +894,8 @@ const config = {
],
},
],
+ require.resolve("./plugins/llms-txt.js"),
+ require.resolve("./plugins/tech-article-jsonld.js"),
],
presets: [
[
@@ -888,14 +905,11 @@ const config = {
docs: {
sidebarPath: require.resolve("./sidebars.js"),
showLastUpdateTime: true,
+ showLastUpdateAuthor: true,
editUrl:
"https://github.com/bitquery/streaming-data-platform-docs/tree/main",
},
- blog: {
- showReadingTime: true,
- editUrl:
- "https://github.com/bitquery/streaming-data-platform-docs/tree/main",
- },
+ blog: false,
sitemap: {
changefreq: "daily",
priority: 1,
@@ -1094,6 +1108,7 @@ const config = {
},
{ label: "Streams overview", to: "/docs/streams/" },
{ label: "MCP server", to: "/docs/mcp/mcp-server/" },
+ { label: "MCP in Cursor", to: "/docs/mcp/cursor/" },
{ label: "Cloud datasets (Parquet)", to: "/docs/cloud/" },
{
label: "Solana gRPC (CoreCast)",
diff --git a/nginx/default.conf b/nginx/default.conf
new file mode 100644
index 00000000..c9edbfbf
--- /dev/null
+++ b/nginx/default.conf
@@ -0,0 +1,17 @@
+server {
+ listen 80;
+ server_name _;
+
+ root /usr/share/nginx/html;
+ index index.html;
+
+ # Stale docs blog → main site blog (Task 5)
+ location /blog/ {
+ return 301 https://bitquery.io/blog/;
+ }
+
+ location / {
+ try_files $uri $uri/ /index.html;
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
+ }
+}
diff --git a/plugins/llms-txt.js b/plugins/llms-txt.js
new file mode 100644
index 00000000..35077036
--- /dev/null
+++ b/plugins/llms-txt.js
@@ -0,0 +1,38 @@
+/**
+ * Generates /llms-full.txt at build time from all /docs/* routes.
+ * static/llms.txt is the curated hand-maintained index.
+ */
+const fs = require("fs");
+const path = require("path");
+
+/** @type {import('@docusaurus/types').PluginModule} */
+module.exports = function llmsTxtPlugin() {
+ return {
+ name: "llms-txt",
+ async postBuild({ siteConfig, routesPaths, outDir }) {
+ const base = siteConfig.url.replace(/\/$/, "");
+ const docRoutes = routesPaths
+ .filter((r) => r.startsWith("/docs/") && !r.includes("*"))
+ .sort();
+
+ const lines = [
+ "# Bitquery Docs — full index",
+ "",
+ "> Auto-generated at build time. Curated entry points: /llms.txt",
+ "",
+ "## All documentation pages",
+ "",
+ ...docRoutes.map((r) => {
+ const url = `${base}${r.endsWith("/") ? r : `${r}/`}`;
+ return `- ${url}`;
+ }),
+ ];
+
+ fs.writeFileSync(
+ path.join(outDir, "llms-full.txt"),
+ `${lines.join("\n")}\n`,
+ "utf8",
+ );
+ },
+ };
+};
diff --git a/plugins/tech-article-jsonld.js b/plugins/tech-article-jsonld.js
new file mode 100644
index 00000000..dc2bec90
--- /dev/null
+++ b/plugins/tech-article-jsonld.js
@@ -0,0 +1,120 @@
+/**
+ * Injects TechArticle JSON-LD into each built doc page HTML at postBuild.
+ */
+const fs = require("fs");
+const path = require("path");
+const { execSync } = require("child_process");
+
+function walkDocs(dir, acc = []) {
+ for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
+ const full = path.join(dir, entry.name);
+ if (entry.name.startsWith("_") || entry.name.startsWith(".")) {
+ continue;
+ }
+ if (entry.isDirectory()) {
+ walkDocs(full, acc);
+ } else if (/\.(md|mdx)$/.test(entry.name)) {
+ acc.push(full);
+ }
+ }
+ return acc;
+}
+
+function parseFrontmatter(filePath) {
+ const raw = fs.readFileSync(filePath, "utf8");
+ const match = raw.match(/^---\r?\n([\s\S]*?)\r?\n---/);
+ const body = match ? raw.slice(match[0].length) : raw;
+ if (!match) {
+ const h1 = body.match(/^#\s+(.+)$/m)?.[1];
+ return { title: h1 || path.basename(filePath, path.extname(filePath)) };
+ }
+ const fm = match[1];
+ let title = fm.match(/^title:\s*["']?(.+?)["']?\s*$/m)?.[1];
+ if (!title) {
+ title = body.match(/^#\s+(.+)$/m)?.[1];
+ }
+ const slug = fm.match(/^slug:\s*(.+)\s*$/m)?.[1];
+ const draft = /^\s*draft:\s*true\s*$/m.test(fm);
+ return { title, slug, draft };
+}
+
+function docPermalink(siteDir, filePath) {
+ const rel = path.relative(path.join(siteDir, "docs"), filePath);
+ const parsed = parseFrontmatter(filePath);
+ if (parsed.draft) {
+ return null;
+ }
+ if (parsed.slug) {
+ const slug = parsed.slug.startsWith("/") ? parsed.slug : `/${parsed.slug}`;
+ return slug.endsWith("/") ? slug : `${slug}/`;
+ }
+ const withoutExt = rel.replace(/\.(md|mdx)$/, "");
+ return `/docs/${withoutExt}/`;
+}
+
+function gitLastUpdated(siteDir, filePath) {
+ try {
+ const iso = execSync(`git log -1 --format=%cI -- "${filePath}"`, {
+ cwd: siteDir,
+ encoding: "utf8",
+ }).trim();
+ return iso ? iso.split("T")[0] : undefined;
+ } catch {
+ return undefined;
+ }
+}
+
+/** @type {import('@docusaurus/types').PluginModule} */
+module.exports = function techArticleJsonLdPlugin(context) {
+ return {
+ name: "tech-article-jsonld",
+ async postBuild({ siteConfig, outDir }) {
+ const docsRoot = path.join(context.siteDir, "docs");
+ if (!fs.existsSync(docsRoot)) {
+ return;
+ }
+
+ const base = siteConfig.url.replace(/\/$/, "");
+
+ for (const filePath of walkDocs(docsRoot)) {
+ const permalink = docPermalink(context.siteDir, filePath);
+ if (!permalink) {
+ continue;
+ }
+
+ const htmlPath = path.join(
+ outDir,
+ permalink.replace(/^\//, ""),
+ "index.html",
+ );
+ if (!fs.existsSync(htmlPath)) {
+ continue;
+ }
+
+ const { title } = parseFrontmatter(filePath);
+ const dateModified = gitLastUpdated(context.siteDir, filePath);
+
+ const jsonLd = {
+ "@context": "https://schema.org",
+ "@type": "TechArticle",
+ headline: title,
+ ...(dateModified ? { dateModified } : {}),
+ author: { "@type": "Organization", name: "Bitquery" },
+ publisher: { "@type": "Organization", name: "Bitquery" },
+ mainEntityOfPage: {
+ "@type": "WebPage",
+ "@id": `${base}${permalink}`,
+ },
+ };
+
+ const tag = ``;
+ let html = fs.readFileSync(htmlPath, "utf8");
+ if (html.includes('"@type":"TechArticle"')) {
+ continue;
+ }
+ html = html.replace("", ` ${tag}\n`);
+ fs.writeFileSync(htmlPath, html, "utf8");
+ }
+ },
+ };
+};
diff --git a/sidebars.js b/sidebars.js
index 9879d647..5946705b 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -989,6 +989,10 @@ const sidebars = {
id: "mcp/mcp-server",
},
items: [
+ "mcp/claude-desktop",
+ "mcp/cursor",
+ "mcp/windsurf",
+ "mcp/build-a-trading-agent",
{
type: "category",
label: "Trading",
diff --git a/src/components/FAQ.module.css b/src/components/FAQ.module.css
new file mode 100644
index 00000000..cfa7e830
--- /dev/null
+++ b/src/components/FAQ.module.css
@@ -0,0 +1,34 @@
+.faq {
+ margin-top: 2.5rem;
+ padding-top: 1.5rem;
+ border-top: 1px solid var(--ifm-color-emphasis-200);
+}
+
+.faq h2 {
+ font-size: 1.35rem;
+ margin-bottom: 1rem;
+}
+
+.item {
+ border: 1px solid var(--ifm-color-emphasis-200);
+ border-radius: 8px;
+ padding: 0.75rem 1rem;
+ margin-bottom: 0.65rem;
+ background: var(--ifm-background-surface-color);
+}
+
+.item summary {
+ cursor: pointer;
+ font-weight: 500;
+ list-style: none;
+}
+
+.item summary::-webkit-details-marker {
+ display: none;
+}
+
+.item p {
+ margin: 0.75rem 0 0;
+ color: var(--ifm-color-emphasis-700);
+ line-height: 1.55;
+}
diff --git a/src/components/FAQ.tsx b/src/components/FAQ.tsx
new file mode 100644
index 00000000..e9f9dc67
--- /dev/null
+++ b/src/components/FAQ.tsx
@@ -0,0 +1,37 @@
+import React from "react";
+import Head from "@docusaurus/Head";
+import styles from "./FAQ.module.css";
+
+export type FAQItem = { q: string; a: string; id?: string };
+
+type FAQProps = {
+ items: FAQItem[];
+ title?: string;
+};
+
+export default function FAQ({ items, title = "Frequently Asked Questions" }: FAQProps) {
+ const jsonLd = {
+ "@context": "https://schema.org",
+ "@type": "FAQPage",
+ mainEntity: items.map((it) => ({
+ "@type": "Question",
+ name: it.q,
+ acceptedAnswer: { "@type": "Answer", text: it.a },
+ })),
+ };
+
+ return (
+
+
+
+
+
{title}
+ {items.map((it, i) => (
+
+ {it.q}
+
{it.a}
+
+ ))}
+
+ );
+}
diff --git a/static/_headers b/static/_headers
new file mode 100644
index 00000000..a7cb683b
--- /dev/null
+++ b/static/_headers
@@ -0,0 +1,2 @@
+/*
+ Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
diff --git a/static/_redirects b/static/_redirects
new file mode 100644
index 00000000..b297eb77
--- /dev/null
+++ b/static/_redirects
@@ -0,0 +1,6 @@
+# Blog moved to main site (docs blog disabled)
+/blog/* https://bitquery.io/blog/:splat 301
+
+# Legacy MCP path → canonical MCP docs (HTTPS, trailing slash)
+/docs/usecases/MCP /docs/mcp/mcp-server/ 301
+/docs/usecases/MCP/ /docs/mcp/mcp-server/ 301
diff --git a/static/llms.txt b/static/llms.txt
new file mode 100644
index 00000000..00979782
--- /dev/null
+++ b/static/llms.txt
@@ -0,0 +1,65 @@
+# Bitquery Docs
+
+> Bitquery is a blockchain data platform for builders who need trades, prices, and history
+> without running their own nodes. Query or stream data across 40+ chains through GraphQL,
+> WebSocket, Kafka, and Solana gRPC — or ask in plain English via the MCP server for AI agents.
+
+## Start here
+
+- [Docs home](https://docs.bitquery.io/) — platform overview and navigation
+- [GraphQL IDE](https://ide.bitquery.io/) — run queries in the browser, no setup
+- [First query in 5 minutes](https://docs.bitquery.io/docs/start/first-query/)
+- [API keys & authentication](https://docs.bitquery.io/docs/authorisation/how-to-generate/)
+- [MCP Server for AI agents](https://docs.bitquery.io/docs/mcp/mcp-server/)
+
+## Trading data — prices, trades & OHLCV
+
+Most teams building charts, bots, or dashboards start here. The **Trading cube** gives you
+clean, MEV-filtered swap data with USD price, market cap, and supply on every row.
+
+- [Trading data overview](https://docs.bitquery.io/docs/trading/trading-data-overview/) — when to use Trading cube vs chain-level APIs
+- [Crypto Trades API](https://docs.bitquery.io/docs/trading/crypto-trades-api/trades-api/) — real-time DEX swaps across 8 chains in one query
+- [Crypto Price API](https://docs.bitquery.io/docs/trading/crypto-price-api/introduction/) — token prices, pairs, and aggregated feeds
+- [OHLC / candlestick (K-line) API](https://docs.bitquery.io/docs/trading/crypto-price-api/crypto-ohlc-candle-k-line-api/) — build charts and technical indicators
+- [Market cap & supply fields](https://docs.bitquery.io/docs/trading/crypto-price-api/crypto-marketcap-api/) — FDV, circulating supply on trade rows
+- [Traders API](https://docs.bitquery.io/docs/trading/crypto-trades-api/traders-api/) — wallet-level trade history and PnL-style analytics
+
+For **historical OHLC older than ~30 days**, use chain-level [`DEXTradeByTokens`](https://docs.bitquery.io/docs/cubes/dextradesbyTokens) instead of the Trading cube.
+
+## Historical data & bulk uploads
+
+Need a full backfill, data lake, or warehouse load — not row-by-row GraphQL?
+
+- [Cloud datasets overview](https://docs.bitquery.io/docs/cloud/) — Parquet exports to S3, GCS, Snowflake, BigQuery
+- [EVM historical dumps](https://docs.bitquery.io/docs/cloud/evm/) — Ethereum, Polygon, Base, and other EVM chains
+- [Solana historical dumps](https://docs.bitquery.io/docs/cloud/solana/)
+- [BSC / BNB Chain dumps](https://docs.bitquery.io/docs/cloud/bsc/)
+- [Sample data on GitHub](https://github.com/bitquery/blockchain-cloud-data-dump-sample) — explore schemas before you buy
+
+Contact [sales@bitquery.io](mailto:sales@bitquery.io) for custom historical exports and upload schedules.
+
+## Streaming interfaces
+
+- [GraphQL overview](https://docs.bitquery.io/docs/graphql/overview/)
+- [WebSocket subscriptions](https://docs.bitquery.io/docs/subscriptions/subscription/)
+- [Kafka streaming](https://docs.bitquery.io/docs/streams/kafka-streaming-concepts/)
+- [Solana gRPC / Protobuf](https://docs.bitquery.io/docs/streams/protobuf/chains/Solana-protobuf/)
+
+## Popular protocol APIs
+
+- [Solana DEX trades](https://docs.bitquery.io/docs/blockchain/Solana/solana-dextrades/)
+- [Pump.fun API](https://docs.bitquery.io/docs/blockchain/Solana/Pumpfun/Pump-Fun-API/)
+- [Raydium DEX API](https://docs.bitquery.io/docs/blockchain/Solana/Solana-Raydium-DEX-API/)
+- [Polymarket API](https://docs.bitquery.io/docs/examples/polymarket-api/polymarket-api/)
+- [Token holders API](https://docs.bitquery.io/docs/blockchain/Ethereum/token-holders/token-holder-api/)
+
+## MCP for AI agents
+
+- [MCP overview](https://docs.bitquery.io/docs/mcp/mcp-server/)
+- [Claude Desktop setup](https://docs.bitquery.io/docs/mcp/claude-desktop/)
+- [Cursor setup](https://docs.bitquery.io/docs/mcp/cursor/)
+- [Build a trading agent](https://docs.bitquery.io/docs/mcp/build-a-trading-agent/)
+
+## Full index
+
+- [All documentation pages (llms-full.txt)](https://docs.bitquery.io/llms-full.txt)
diff --git a/static/robots.txt b/static/robots.txt
new file mode 100644
index 00000000..c06b1b50
--- /dev/null
+++ b/static/robots.txt
@@ -0,0 +1,29 @@
+User-agent: *
+Allow: /
+
+User-agent: GPTBot
+Allow: /
+
+User-agent: OAI-SearchBot
+Allow: /
+
+User-agent: ChatGPT-User
+Allow: /
+
+User-agent: ClaudeBot
+Allow: /
+
+User-agent: anthropic-ai
+Allow: /
+
+User-agent: PerplexityBot
+Allow: /
+
+User-agent: Google-Extended
+Allow: /
+
+User-agent: Applebot-Extended
+Allow: /
+
+Sitemap: https://docs.bitquery.io/sitemap.xml
+# AI index: https://docs.bitquery.io/llms.txt