PageSourceSearch

https://bitquery.io/_next/static/chunks/43454uf823e3g.js

js bitquery.io collected 2026-10-02 04:27:59 UTC 62,985 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,43181,e=>{"use strict";var s=e.i(91398),a=e.i(77035),r=e.i(91788),i=e.i(26019),t=e.i(41158),n=e.i(90403),l=e.i(43588);let c=({html:e,className:a})=>(0,s.jsx)("span",{className:a,dangerouslySetInnerHTML:{__html:e}}),o='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#f93f9c" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>',d='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#00d8dd" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>',h=[{src:"/icons/trusted/ic_binance.svg",alt:"Binance"},{src:"/icons/trusted/ic_chainalysis.svg",alt:"Chainalysis"},{src:"/icons/trusted/ic_ox.svg",alt:"0x"},{src:"/icons/trusted/ic_nexo.svg",alt:"Nexo"},{src:"/icons/trusted/ic_trm.svg",alt:"TRM Labs"},{src:"/icons/trusted/ic_3commas.svg",alt:"3Commas"},{src:"/icons/trusted/ic_bybit.svg",alt:"Bybit"},{src:"/icons/trusted/ic_coinmarketcap.svg",alt:"CoinMarketCap"},{src:"/icons/trusted/ic_lukka.svg",alt:"Lukka"}],p=[{label:"MCP Server",sub:"New",href:"/products/bitquery-mcp-server",svg:'<svg width="19" height="19" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3a3 3 0 0 0-3 3v6a3 3 0 0 0 6 0V6a3 3 0 0 0-3-3z"/><path d="M5 11a7 7 0 0 0 14 0M12 18v3"/></svg>'},{label:"OHLCV API",sub:"Charts",href:"/products/dex",svg:'<svg width="19" height="19" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M6 4v16M6 8h3v8H6zM14 2v20M14 6h3v11h-3z"/></svg>'},{label:"Pump.Fun API",sub:"Solana",href:"/products/pumpfun-api",svg:'<svg width="19" height="19" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M9 10c0-1.1 1.3-2 3-2s3 .9 3 2-1.3 2-3 2-3 .9-3 2 1.3 2 3 2 3-.9 3-2"/><path d="M12 6v1.5M12 16.5V18"/></svg>'},{label:"Solana CoreCast",sub:"gRPC · <50ms",href:"/products/corecast",svg:'<svg width="19" height="19" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2 4 14h6l-1 8 9-12h-6l1-8z"/></svg>'}],m=[{title:"DEX & Trading API",href:"/products/dex",desc:"Real-time and historical trades, OHLCV, pairs and liquidity across 300+ DEXs — the feed behind charts, terminals and bots.",meta:["DEXTrades","OHLCV","Pools"],svg:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M3 20h18M6 20v-6M11 20V8M16 20v-9M21 20V5"/></svg>'},{title:"Token & Holder API",href:"/products/token-holder-api",desc:"Holders, transfers, supply and top-trader data for any token — distribution and flow, pre-indexed and queryable.",meta:["Holders","Transfers","Supply"],svg:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8" r="3"/><path d="M5.5 20a6.5 6.5 0 0 1 13 0"/><path d="M19 9l2 1-2 1M3 9l-2 1 2 1"/></svg>'}
1,{title:"Coinpath® Money Flow",href:"/products/coinpath",desc:"Trace funds wallet-to-wallet across chains for compliance, investigation and forensics — the original on-chain money-flow API.",meta:["Tracing","Compliance","Forensics"],svg:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="6" r="2.5"/><circle cx="18" cy="6" r="2.5"/><circle cx="12" cy="18" r="2.5"/><path d="M7.7 7.7l2.8 8.1M16.3 7.7l-2.8 8.1M8.5 6h7"/></svg>'},{title:"Balances & Wallet API",href:"/products/digital-assets",desc:"Real-time balances, transfers and token metadata for wallets, portfolios and custody — the data that has to be right.",meta:["Balances","Portfolio","Metadata"],svg:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="16" rx="2"/><path d="M3 9h18M8 4v16"/></svg>'},{title:"Crypto Price API",href:"/products/crypto-price-api",desc:"Real-time and historical USD prices for any token across 40+ chains — spot quotes and OHLCV candles, straight from on-chain DEX data.",meta:["Real-time","OHLCV","Historical"],svg:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M3 16l4.5-4.5 3 3L18 7"/><path d="M14 7h4v4"/><path d="M3 20h18"/></svg>'}],x=[{name:"Ethereum",href:"/blockchains/ethereum-blockchain-api",svg:'<svg viewBox="0 0 24 24"><path fill="#627EEA" d="M12 2 5.6 12.3 12 16.1l6.4-3.8z"/><path fill="#8AA0F0" d="M12 2 5.6 12.3 12 9.4z"/><path fill="#627EEA" d="M12 17.3 5.6 13.5 12 22l6.4-8.5z"/><path fill="#8AA0F0" d="M12 17.3 5.6 13.5 12 14.9z"/></svg>'},{name:"Bitcoin",href:"/blockchains/bitcoin-blockchain-api",svg:'<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10" fill="#F7931A"/><text x="12" y="16.5" font-size="14" font-weight="700" fill="#fff" text-anchor="middle" font-family="Arial">₿</text></svg>'},{name:"Solana",href:"/blockchains/solana-blockchain-api",svg:'<svg viewBox="0 0 24 24"><defs><linearGradient id="bqsolg" x1="3" y1="18" x2="20" y2="6" gradientUnits="userSpaceOnUse"><stop stop-color="#9945FF"/><stop offset="1" stop-color="#14F195"/></linearGradient></defs><g fill="url(#bqsolg)"><path d="M6.4 6.3h12.8l-2.6 2.5H3.8z"/><path d="M3.8 10.75h12.8l2.6 2.5H6.4z"/><path d="M6.4 15.2h12.8l-2.6 2.5H3.8z"/></g></svg>'},{name:"BNB Chain",href:"/blockchains/bnb-blockchain-api",svg:'<svg viewBox="0 0 24 24" fill="#F3BA2F">
1<path d="M12 4.5 14.6 7 12 9.6 9.4 7zM7 9.5 9.6 12 7 14.6 4.4 12zM17 9.5 19.6 12 17 14.6 14.4 12zM12 14.4 14.6 17 12 19.6 9.4 17zM12 9.9 14.1 12 12 14.1 9.9 12z"/></svg>'},{name:"Polygon",href:"/blockchains/polygon-blockchain-api",svg:'<svg viewBox="0 0 38 34" fill="#8247E5"><path d="M28.34 11.53c-.64-.37-1.46-.37-2.18 0l-5.1 3-3.46 1.92-5.02 2.96c-.64.37-1.46.37-2.18 0l-3.9-2.33c-.64-.37-1.1-1.1-1.1-1.92v-4.5c0-.74.37-1.47 1.1-1.92l3.9-2.25c.64-.37 1.46-.37 2.18 0l3.9 2.33c.64.37 1.1 1.1 1.1 1.92v3l3.46-2.03V8.7c0-.74-.36-1.47-1.1-1.92l-7.27-4.28c-.64-.37-1.46-.37-2.18 0L4.96 6.78c-.74.45-1.1 1.18-1.1 1.92v8.5c0 .74.36 1.47 1.1 1.92l7.35 4.28c.64.37 1.46.37 2.18 0l5.02-2.92 3.46-2.03 5.02-2.92c.64-.37 1.46-.37 2.18 0l3.9 2.25c.64.37 1.1 1.1 1.1 1.92v4.5c0 .74-.37 1.47-1.1 1.92l-3.82 2.33c-.64.37-1.46.37-2.18 0l-3.9-2.25c-.64-.37-1.1-1.1-1.1-1.92v-2.92l-3.46 2.03v3c0 .74.36 1.47 1.1 1.92l7.35 4.28c.64.37 1.46.37 2.18 0l7.35-4.28c.64-.37 1.1-1.1 1.1-1.92v-8.58c0-.74-.36-1.47-1.1-1.92l-7.43-4.35z"/></svg>'},{name:"Arbitrum",href:"/blockchains/arbitrum-blockchain-api",svg:'<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10" fill="#12AAFF"/><path d="M8.3 16.5 12 7.2l3.7 9.3h-2l-1.7-4.6-1.7 4.6z" fill="#fff"/></svg>'},{name:"Base",href:"/blockchains/base-blockchain-api",svg:'<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10" fill="#0052FF"/><path d="M12 6.4a5.6 5.6 0 1 0 0 11.2 5.6 5.6 0 0 0 0-11.2zm-2 5.6a2 2 0 1 1 4 0 2 2 0 0 1-4 0z" fill="#fff"/><rect x="9.4" y="10.5" width="5.2" height="3" fill="#0052FF"/></svg>'},{name:"Robinhood",href:"/blockchains/robinhood-chain-api",svg:'<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10" fill="#00C805"/><path d="M7.5 14.2c2.4-4.8 5.2-7.4 8.5-8.2.3 2.6-.4 5.4-2.2 8.2-1.4 2.2-3.4 3.6-5.5 4.1 0-1.6-.3-2.8-.8-4.1z" fill="#fff"/></svg>'},{name:"Optimism",href:"/blockchains/optimism-blockchain-api",svg:'<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10" fill="#FF0420"/><text x="12" y="16" font-size="10" font-weight="700" fill="#fff" text-anchor="middle" font-family="Arial">OP</text></svg>'},{name:"Avalanche",href:"/blockchains/avalanche-blockchain-api",svg:'<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10" fill="#E84142"/><path d="M12.9 6.8c.5-.9 1.7-.9 2.2 0l4.2 7.4c.5.9-.1 2-1.1 2h-2.4c-.6 0-1.1-.3-1.4-.8l-3-5.3c-.3-.5-.3-1 0-1.5zM9 12.3c.4-.8 1.6-.8 2 0l1.9 3.3c.4.8-.1 1.7-1 1.7H8c-.9 0-1.4-.9-1-1.7z" fill="#fff"/></svg>'},{name:"Tron",href:"/blockchains/tron-blockchain-api",svg:'<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10" fill="#EF0027"/><path d="M6.5 7.5l11 1.8-5.2 8.4-4-7.2 6.8 1.1-8.4-4.1z" fill="#fff" stroke="#fff" stroke-width="0.5" stroke-linejoin="round"/></svg>'},{name:"Cardano",href:"/blockchains/cardano-blockchain-api",svg:'<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10" fill="#0033AD"/><circle cx="12" cy="7" r="1.1" fill="#fff"/><circle cx="12" cy="17" r="1.1" fill="#fff"/><circle cx="7.5" cy="9.5" r="1.1" fill="#fff"/><circle cx="16.5" cy="9.5" r="1.1" fill="#fff"/><circle cx="7.5" cy="14.5" r="1.1" fill="#fff"/><circle cx="16.5" cy="14.5" r="1.1" fill="#fff"/><circle cx="12" cy="12" r="1.4" fill="#fff"/></svg>'},{name:"XRP",href:"/blockchains/ripple-blockchain-api",svg:'<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10" fill="#fff"/><path d="M5 9.5h14M5 14.5h11" stroke="#23292F" stroke-width="2" stroke-linecap="round"/><path d="M16 9.5l3-3M16 14.5l3 3" stroke="#23292F" stroke-width="2" stroke-linecap="round"/></svg>'},{name:"Litecoin",href:"/blockchains/litecoin-blockchain-api",svg:'<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10" fill="#345D9D"/><text x="12" y="16.5" font-size="13" font-weight="700" fill="#fff" text-anchor="middle" font-family="Arial">Ł</text></svg>'},{name:"Dogecoin",href:"/blockchains/dogecoin-blockchain-api",svg:'<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10" fill="#C2A633"/><text x="12" y="16.5" font-size="13" font-weight="700" fill="#fff" text-anchor="middle" font-family="Arial">Ð</text></svg>'}],u=[{icoBg:"rgba(0,216,221,0.14)",icoSvg:'<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#51becc" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 17l6-6 4 4 8-8"/><path d="M21 7v5h-5"/></svg>',title:"Trading & market data",desc:"Sub-second DEX trades, OHLCV and price streams across 300+ DEXs — the feed behind real-time terminals, charts and trading bots.",logo:"/icons/trusted/ic_pumpfun.svg",logoAlt:"pump.fun",who:"<b>pump.fun</b> &amp; DEX terminals stream live trades",links:[{label:"DEX terminals & trading",href:"/solutions/dex-terminals"}]},{icoBg:"rgba(0,216,221,0.14)",icoSvg:'<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#51becc" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="7"/><path d="m21 21-4.3-4.3"/></svg>',title:"On-chain intelligence",desc:"Wallet labels, holder distributions, money flow and cross-chain balances — pre-indexed so analysts query, not crawl.",logo:"/icons/trusted/ic_nansen.svg",logoAlt:"Nansen",who:"<b>Nansen</b> queries wallet intelligence across 40+ chains",links:[{label:"AI on-chain investigations",href:"/solutions/ai-investigations"}]},{icoBg:"rgba(249,63,156,0.12)",icoSvg:'<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#f93f9c" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 11l3 3 8-8"/><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"/></svg>',title:"Tax, audit & compliance",desc:"Audit-ready transfers, taxable events and Coinpath® money-flow trails across 40+ chains — structured for reporting at scale.",logo:"/icons/trusted/ic_chainalysis.svg",logoAlt:"Chainalysis",who:"<b>Chainalysis</b> &amp; TRM trace on-chain activity",links:[{label:"Compliance & AML",href:"/solutions/compliance"},{label:"Crypto tax software",href:"/solutions/crypto-tax-software"}]},{icoBg:"rgba(0,41,255,0.16)",icoSvg:'<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#5f7bff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="5" width="20" height="14" rx="2"/><path d="M2 10h20"/></svg>',title:"Wallets, custody & fintech",desc:"Reliable balances, transfers and token metadata to power portfolios, custody and lending — the boring data that has to be right.",logo:"/icons/trusted/ic_nexo.svg",logoAlt:"Nexo",who:"<b>Nexo</b> &amp;
1 custodians reconcile balances in real time",links:[{label:"Crypto wallets & portfolios",href:"/solutions/crypto-wallet"}]}],f=[{logo:"/icons/partner-logos/ic_coinmetrics.svg",logoAlt:"Coin Metrics",sm:!0,text:'"The complex raw data is available at different levels of detail and from different viewpoints — whether we need simple aggregated transfers or parameters for failed contract calls. Support is responsive, friendly and quick."',name:"Engineering Team",role:"Coin Metrics"},{logo:"/icons/trusted/ic_ox.svg",logoAlt:"0x Protocol",text:'"Bitquery does the hard work of parsing blockchain transaction data into a usable form so that we don\'t have to. We use their interface to diagnose issues with complex transactions and their analytics endpoints as a starting point for our own analysis."',name:"Alex Knaggs",role:"0x Protocol"},{logo:"/icons/trusted/ic_binance.svg",logoAlt:"Binance",text:'"They proved they had the technology to deliver sophisticated data solutions. We extended our support through the Binance X fellowship — building an open-source library of visualization widgets on their blockchain data."',name:"Flora Sun",role:"Director, Binance X"}],g=[{text:"The Washington Post",cls:"press-mark pm-serif",style:{fontSize:"23px"}},{text:"CoinDesk",cls:"press-mark",style:{fontSize:"23px",fontWeight:700,letterSpacing:"-0.6px"}},{text:"THE BLOCK",cls:"press-mark",style:{fontSize:"20px",fontWeight:800,letterSpacing:"0.5px"}},{text:"decrypt",cls:"press-mark",style:{fontSize:"23px",fontWeight:700,letterSpacing:"-0.4px"}},{text:"cointelegraph",cls:"press-mark",style:{fontSize:"21px",fontWeight:600,letterSpacing:"-0.3px"}},{text:"The Wall Street Journal",cls:"press-mark pm-serif",style:{fontSize:"22px"}}],v=[{href:"https://www.theblock.co/linked/74130/ethereum-classic-another-51-attack",out:"The Block · Decrypt · Cointelegraph",date:"Aug 2020",num:"$5.6M",head:"Ethereum Classic's second 51% attack in a week — double-spends traced on-chain.",tag:"Coinpath® money-flow"},{href:"https://www.washingtonpost.com/technology/2021/09/22/stolen-crypto/",out:"The Washington Post",date:"Sep 2021",num:"∞",head:"Following stolen crypto across the blockchain, wallet by wallet.",tag:"On-chain forensics"},{href:"https://www.coindesk.com/tech/2025/01/30/avalanche-blockchain-s-december-upgrade-cut-usage-fees-by-75",out:"CoinDesk",date:"Jan 2025",num:"−75%",head:"Avalanche's December upgrade cut usage fees 75% — by the on-chain numbers.",tag:"Network data"}],y=[{name:"AWS S3",svg:'<svg viewBox="0 0 24 24" fill="#569a31"><path d="M5.4 7.5h13.2l-1.15 11.4a1.1 1.1 0 0 1-1.1 1H7.65a1.1 1.1 0 0 1-1.1-1zM4.4 4.6h15.2v2.3H4.4z"/></svg>'},{name:"Snowflake",svg:'<svg viewBox="0 0 24 24" fill="none" stroke="#29b5e8" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2.5v19M3.77 7.25l16.46 9.5M20.23 7.25 3.77 16.75"/></svg>'},{name:"Google BigQuery",svg:'<svg viewBox="0 0 24 24" fill="none" stroke="#4285f4" stroke-linecap="round"><circle cx="10.3" cy="10.3" r="6.3" stroke-width="1.9"/><path d="M15.1 15.1 20 20" stroke-width="2.2"/><path d="M10.3 7.7v5.2M7.7 10.3h5.2" stroke-width="1.5"/></svg>'},{name:"Azure",svg:'<svg viewBox="0 0 24 24"><path fill="#114a8b" d="M11.3 5.2h3.9L19.8 19.4a.5.5 0 0 1-.47.65H6.9z"/><path fill="#0078d4" d="M11.7 5.2 4.4 17.9a.5.5 0 0 0 .43.75H7.7l1.05-2.9 3.95-3.45-1.55-4.3z"/><path fill="#32bedd" d="M14.6 13.9H9.9l-2.2 5.85h8.45z"/></svg>'},{name:"Databricks",svg:'<svg viewBox="0 0 24 24" fill="#ff3621"><path d="M3 7.6 12 2.8l9 4.8-2.7 1.45L12 5.7 5.7 9.05zM3 12.1 12 7.3l9 4.8-2.7 1.45L12 10.2l-6.3 3.35zM5.7 14.95 12 11.6l6.3 3.35L12 18.3z"/></svg>'},{name:"Kafka",svg:'<svg viewBox="0 0 24 24" fill="none" stroke="#e8ebf0" stroke-width="1.6"><circle cx="7" cy="6.4" r="1.9"/><circle cx="7" cy="17.6" r="1.9"/><circle cx="16.5" cy="12" r="2.1"/><path d="M8.7 7.6 14.6 11M8.7 16.4 14.6 13M7 8.3v7.4"/></svg>'}],b=[{name:"Snowflake",svg:'<svg viewBox="0 0 24 24" fill="none" stroke="#29b5e8" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2.5v19M3.77 7.25l16.46 9.5M20.23 7.25 3.77 16.75"/></svg>'},{name:"BigQuery",svg:'<svg viewBox="0 0 24 24" fill="none" stroke="#4285f4" stroke-linecap="round"><circle cx="10.3" cy="10.3" r="6.3" stroke-width="1.9"/><path d="M15.1 15.1 20 20" stroke-width="2.2"/></svg>'},{name:"Databricks",svg:'<svg viewBox="0 0 24 24" fill="#ff3621"><path d="M3 7.6 12 2.8l9 4.8-2.7 1.45L12 5.7 5.7 9.05zM3 12.1 12 7.3l9 4.8-2.7 1.45L12 10.2l-6.3 3.35zM5.7 14.95 12 11.6l6.3 3.35L12 18.3z"/></svg>'},{name:"Spark",svg:'<svg viewBox="0 0 24 24" fill="#e25a1c"><path d="M13.4 2c.6 3-1.6 4.8-3.2 6.5C8.4 10.4 7 12.2 7 14.5A5.7 5.7 0 0 0 18.4 15c0-2-.9-3.6-2.2-4.9.3 1.2-.1 2.3-.9 3 .7-2.2-.5-4.4-2.2-5.9C11.3 5.8 13 3.8 13.4 2z"/></svg>'},{name:"Athena",svg:'<svg viewBox="0 0 24 24" fill="none" stroke="#a166ff" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8.7 12 4.2l8 4.5M5.2 9.8v7.4M9.7 9.8v7.4M14.3 9.8v7.4M18.8 9.8v7.4M3.6 20.2h16.8"/></svg>'},{name:"Airflow",svg:'<svg viewBox="0 0 24 24" fill="#017cee"><path d="M12 11.6c-.2-3.8 1-6.8 3.4-8.4-1.3 2.6-1.8 5.6-1.6 8.9zM12.4 12.2c3.3 1.9 6.3 2.4 9 1.2-2.4 2.4-5.4 2.6-8.4-.5zM11.4 12.4c-3.1 2-5.6 3.6-6.8 6.6-.6-3.3 2.3-5.6 5.6-7.2z"/><circle cx="12" cy="12" r="1.5"/></svg>'},{name:"dbt",svg:'<svg viewBox="0 0 24 24" fill="#ff694b"><path d="M12 2.3 3.6 7.1v9.8L12 21.7l8.4-4.8V7.1zm0 5.6a4.1 4.1 0 1 0 0 8.2 4.1 4.1 0 0 0 0-8.2z"/></svg>'}],w='<svg viewBox="0 0 60 22" fill="none" preserveAspectRatio="none"><path d="M0 11h52" stroke="currentColor" stroke-width="1.4"/><path d="M48 6l6 5-6 5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/></svg>',k=(()=>{let e=["#f93f9c","#af3e76","#00d8dd","#3556ff"],s=e=>Math.abs((43758.5453*Math.sin(12.9898*e)%1+1)%1),a="";for(let[e,s,r,i,t,n]of[[430,150,34,74,.5,-18],[772,296,30,64,.42,22],[292,528,30,64,.36,14],[648,712,34,74,.46,-10],[176,360,26,56,.32,3
10],[824,566,26,56,.4,-24]])a+=`<rect x="${e}" y="${s}" width="${r}" height="${i}" rx="${r/2}" fill="#13308f" opacity="${t}" transform="rotate(${n} ${e+r/2} ${s+i/2})"/>`;for(let r=0;r<88;r++){let i=r/88*Math.PI*2,t=s(r),n=214+340*t,l=(500+64*Math.cos(i)).toFixed(1),c=(500+64*Math.sin(i)).toFixed(1),o=(500+Math.cos(i)*n).toFixed(1),d=(500+Math.sin(i)*n).toFixed(1),h=e[r%e.length],p=(.1+.4*t).toFixed(2),m=(1.4+2.6*t).toFixed(1);a+=`<line x1="${l}" y1="${c}" x2="${o}" y2="${d}" stroke="${h}" stroke-width="1" opacity="${p}"/><circle cx="${o}" cy="${d}" r="${m}" fill="${h}" opacity="${(Number(p)+.18).toFixed(2)}"/>`}return`<svg viewBox="0 0 1000 1000" preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg">${a}</svg>`})(),j='<span class="c-key">',N='<span class="c-str">',M='<span class="c-fn">',S='<span class="c-com">',q='<span class="c-num">',B='<span class="c-punc">',A="</span>",P={graphql:{file:"dex_trades.graphql",endpoint:"graphql.bitquery.io",status:"200 · 312ms",raw:'subscription {\n  Solana {\n    DEXTrades(\n      where: {Trade: {Dex: {ProtocolName: {is: "raydium"}}}}\n    ) {\n      Trade {\n        Buy { Price Amount Currency { Symbol } }\n        Sell { Currency { Symbol } }\n        Dex { ProtocolName }\n      }\n    }\n  }\n}',html:j+"subscription"+A+" "+B+"{"+A+"\n  "+M+"Solana"+A+" "+B+"{"+A+"\n    "+M+"DEXTrades"+A+B+"("+A+"\n      "+j+"where"+A+B+":"+A+" "+B+"{"+A+M+"Trade"+A+B+": {"+A+M+"Dex"+A+B+": {"+A+M+"ProtocolName"+A+B+": {"+A+j+"is"+A+B+":"+A+" "+N+'"raydium"'+A+B+"}}}}"+A+"\n    "+B+")"+A+" "+B+"{"+A+"\n      "+M+"Trade"+A+" "+B+"{"+A+"\n        "+M+"Buy"+A+" "+B+"{"+A+" Price Amount "+M+"Currency"+A+" "+B+"{"+A+" Symbol "+B+"}"+A+" "+B+"}"+A+"\n        "+M+"Sell"+A+" "+B+"{"+A+" "+M+"Currency"+A+" "+B+"{"+A+" Symbol "+B+"} }"+A+"\n        "+M+"Dex"+A+" "+B+"{"+A+" ProtocolName "+B+"}"+A+"\n      "+B+"}"+A+"\n    "+B+"}"+A+"\n  "+B+"}"+A+"\n"+B+"}"+A},ws:{file:"subscribe.js",endpoint:"streaming.bitquery.io",status:"connected · live",raw:'const ws = new WebSocket(\n  "wss://streaming.bitquery.io/eap",\n  ["graphql-ws"]\n);\n\nws.onmessage = (e) => {\n  const trade = JSON.parse(e.data);\n  render(trade.Solana.DEXTrades);\n};',html:j+"const"+A+" ws "+B+"="+A+" "+j+"new"+A+" "+M+"WebSocket"+A+B+"("+A+"\n  "+N+'"wss://streaming.bitquery.io/eap"'+A+B+","+A+"\n  "+B+"["+A+N+'"graphql-ws"'+A+B+"]"+A+"\n"+B+");"+A+"\n\nws"+B+"."+A+M+"onmessage"+A+" "+B+"="+A+" "+B+"("+A+"e"+B+")"+A+" "+B+"=>"+A+" "+B+"{"+A+"\n  "+j+"const"+A+" trade "+B+"="+A+" JSON"+B+"."+A+M+"parse"+A+B+"("+A+"e"+B+"."+A+"data"+B+");"+A+"\n  "+M+"render"+A+B+"("+A+"trade"+B+"."+A+"Solana"+B+"."+A+"DEXTrades"+B+");"+A+"\n"+B+"}"+B+";"+A},kafka:{file:"consumer.properties",endpoint:"kafka.bitquery.io:9093",status:"lag 0 · <500ms",raw:"bootstrap.servers = kafka.bitquery.io:9093\ngroup.id          = bitquery-solana-dex\ntopic             = solana.dextrades.proto\nsecurity.protocol = SASL_SSL\n\n# offset replay — re-read from any point\nauto.offset.reset = earliest",html:j+"bootstrap.servers"+A+" "+B+"="+A+" kafka.bitquery.io"+B+":"+A+q+"9093"+A+"\n"+j+"group.id"+A+"          "+B+"="+A+" bitquery-solana-dex\n"+j+"topic"+A+"             "+B+"="+A+" solana.dextrades.proto\n"+j+"security.protocol"+A+" "+B+"="+A+" SASL_SSL\n\n"+S+"# offset replay — re-read from any point"+A+"\n"+j+"auto.offset.reset"+A+" "+B+"="+A+" earliest"},grpc:{file:"corecast.proto",endpoint:"corecast.bitquery.io:443",status:"stream · <300ms",raw:"service CoreCast {\n  // binary Protobuf, ultra-low latency\n  rpc DexTrades(SubReq) returns (stream Trade);\n}\n\nmessage Trade {\n  string  pair   = 1;\n  double  price  = 2;\n  uint64  block  = 3;\n}",html:j+"service"+A+" "+M+"CoreCast"+A+" "+B+"{"+A+"\n  "+S+"// binary Protobuf, ultra-low latency"+A+"\n  "+j+"rpc"+A+" "+M+"DexTrades"+A+B+"("+A+"SubReq"+B+")"+A+" "+j+"returns"+A+" "+B+"("+A+j+"stream"+A+" Trade"+B+");"+A+"\n"+B+"}"+A+"\n\n"+j+"message"+A+" "+M+"Trade"+A+" "+B+"{"+A+"\n  "+j+"string"+A+"  pair   "+B+"="+A+" "+q+"1"+A+B+";"+A+"\n  "+j+"double"+A+"  price  "+B+"="+A+" "+q+"2"+A+B+";"+A+"\n  "+j+"uint64"+A+"  block  "+B+"="+A+" "+q+"3"+A+B+";"+A+"\n"+B+"}"+A},mcp:{file:"mcp_tool_call.json",endpoint:"mcp.bitquery.io",status:"tool · ok",raw:'{\n  "tool": "trending_tokens",\n  "arguments": {\n    "network": "solana",\n    "limit": 10\n  }\n}\n\n// LLM agents query on-chain data directly',html:B+"{"+A+"\n  "+j+'"tool"'+A+B+":"+A+" "+N+'"trending_tokens"'+A+B+","+A+"\n  "+j+'"arguments"'+A+B+":"+A+" "+B+"{"+A+"\n    "+j+'"network"'+A+B+":"+A+" "+N+'"solana"'+A+B+","+A+"\n    "+j+'"limit"'+A+B+":"+A+" "+q+"10"+A+"\n  "+B+"}"+A+"\n"+B+"}"+A+"\n\n"+S+"// LLM agents query on-chain data directly"+A}},C=[{k:"graphql",title:"GraphQL",desc:"Author, test and ship queries against historical & real-time data.",ti:'<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#74c7c5" stroke-width="1.7"><circle cx="12" cy="12" r="2.4"/><circle cx="12" cy="3.2" r="1.6"/><circle cx="12" cy="20.8" r="1.6"/><circle cx="4.4" cy="7.6" r="1.6"/><circle cx="19.6" cy="7.6" r="1.6"/><circle cx="4.4" cy="16.4" r="1.6"/><circle cx="19.6" cy="16.4" r="1.6"/><path d="M12 5v4.6M6 8.6l4 2.2M18 8.6l-4 2.2M6 15.4l4-2.2M18 15.4l-4-2.2"/></svg>'},{k:"ws",title:"WebSocket",desc:"Browser-ready JSON streams (~1s) with server-side filtering.",ti:'<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#74c7c5" stroke-width="1.7" stroke-linecap="round"><path d="M3 12h3l2 6 4-14 2 8h7"/></svg>'},{k:"kafka",title:"Kafka",pill:"enterprise",desc:"Full raw stream <500ms, guaranteed delivery, offset replay.",ti:'<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#74c7c5" stroke-width="1.7"><circle cx="6" cy="12" r="2.2"/><circle cx="17" cy="6.5" r="2.2"/><circle cx="17" cy="17.5" r="2.2"/><path d="M8 11l7-3.5M8 13l7 3.5"/></svg>'},{k:"grpc",title:"Solana gRPC",desc:"Binary Protobuf via CoreCast. Built for MEV & HFT.",ti:'<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#74c7c5" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2 4 14h6l-1 8 9-12h-6l1-8z"/></svg>'},{k:"mcp",title:"MCP Server",pill:"new",desc:"Agent-ready skills so LLMs query on-chain data directly.",ti:'<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#74c7c5" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3a3 3 0 0 0-3 3v6a3 3 0 0 0 6 0V6a3 3 0 0 0-3-3z"/><path d="M5 11a7 7 0 0 0 14 0M12 18v3"/></svg>'}],T=[{q:"What is Bitquery?",a:"Bitquery is a blockchain data company providing historical and real-time indexed data for 40+ chains through one GraphQL schema, WebSocket, Solana gRPC, an MCP server and bulk cloud datashares (fixed-cost Kafka on Enterprise). Query token trades, transfers, holders, balances, smart-contract events, money flow and more — without running a single node."},{q:"How fresh is the data — what latency can I expect?",a:"It depends on the interface. Kafka streams deliver decoded events at &lt;500ms p95; WebSocket subscriptions push JSON in roughly a second; Solana CoreCast (gRPC) is built for ultra-low latency MEV/HFT use cases. Historical data is the same indexed dataset, queryable the moment a block is final."},{q:"How far back does the historical data go?",a:"Self-service plans include a live window (about 30-day trades and 4–8 hours of on-chain history on core chains); deepen coverage with archive add-ons on Pricing, or go Enterprise for complete history. Bitquery has indexed blockchains since 2018 — Enterprise and cloud datashares can backfill petabytes as Parquet on S3 or query long historical ranges over GraphQL."},{q:"How is this different from running my own nodes or RPC calls?",a:"Nodes and raw RPC give you undecoded data and force you to build indexing, decoding, reorg handling and cross-chain joins yourself. Bitquery delivers decoded, normalized, cross-chain data through one schema — so a query that would take thousands of chained RPC calls becomes a single request, with zero infrastru
1cture to operate."},{q:"Which blockchains, DEXs and assets do you support?",a:l.HOMEPAGE_FAQ_CHAINS},{q:"How do rate limits and scaling to production work?",a:l.HOMEPAGE_FAQ_RATE_LIMITS},{q:"Can I load Bitquery straight into my data warehouse?",a:"Yes. Historical and real-time data ships as columnar, partitioned Parquet to your own S3 bucket, or as datashares you can COPY INTO Snowflake, BigQuery, Databricks and Azure — or query in place with Athena and Spark. Schema is stable, so your pipelines don't break."},{q:"How does pricing work, and is there a free trial?",a:l.HOMEPAGE_FAQ_PRICING},{q:"What support and reliability do you offer?",a:l.HOMEPAGE_FAQ_SUPPORT}],E="/forms/api",_="https://account.bitquery.io/",L=[{symbol:"BTC",price:64128,decimals:0,chg:null},{symbol:"ETH",price:3389.42,decimals:2,chg:null},{symbol:"SOL",price:178.65,decimals:2,chg:null},{symbol:"BNB",price:612.3,decimals:2,chg:null}],z=(e,s)=>null==e?"…":"$"+e.toLocaleString("en-US",{minimumFractionDigits:s,maximumFractionDigits:s});function H(){let e=(0,r.useRef)(null),a=(0,r.useRef)(null),[l,j]=(0,r.useState)("graphql"),[N,M]=(0,r.useState)(!1),[S,q]=(0,r.useState)(L),[B,A]=(0,r.useState)(L),H=(0,r.useRef)(L),I=(0,r.useRef)(new Map),F=(0,r.useRef)(!1),D=S.some(e=>null!=e.price);(0,r.useEffect)(()=>{H.current=S},[S]),(0,r.useEffect)(()=>{A(S)},[S]),(0,r.useEffect)(()=>{let s=e.current;if(!s)return;let a=Array.from(s.querySelectorAll(".reveal"));if(window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches||!("IntersectionObserver"in window))return void a.forEach(e=>e.classList.add("in"));let r=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(e.target.classList.add("in"),r.unobserve(e.target))})},{threshold:.12,rootMargin:"0px 0px -8% 0px"});return a.forEach(e=>r.observe(e)),()=>r.disconnect()},[]),(0,r.useEffect)(()=>{if(!D)return;let e=window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,s=a.current;if(!s)return;let r=[],i=["Raydium","Orca","Meteora","Phoenix","Jupiter"],t=()=>{let e=H.current.filter(e=>null!=e.price);if(!e.length)return null;let s=e[Math.floor(Math.random()*e.length)],a=i[Math.floor(Math.random()*i.length)],r=Math.random()>.5,t=(s.price*(1+(.002*Math.random()-.001))).toLocaleString("en-US",{minimumFractionDigits:s.decimals,maximumFractionDigits:s.decimals}),n=Math.round((6e4*Math.random()+2e3)/Math.max(1,s.price)).toLocaleString("en-US"),l=document.createElement("div");return l.className="stream-row",l.innerHTML='<span class="pair">'+s.symbol+'/USDC <span class="dex">· '+a+'</span></span><span><span class="side '+(r?"buy":"sell")+'">'+(r?"buy":"sell")+'</span></span><span class="px">$'+t+'</span><span class="amt">'+n+"</span>",l};s.innerHTML="";for(let e=0;e<9;e++){let e=t();e&&s.appendChild(e)}return e||r.push(setInterval(()=>{let e=t();if(e)for(s.insertBefore(e,s.firstChild);s.children.length>9;)s.removeChild(s.lastChild)},1300)),()=>r.forEach(e=>clearInterval(e))},[D]),(0,r.useEffect)(()=>{let e=!1,s=async()=>{try{let s=await fetch("/api/token-prices");if(!s.ok)return;let a=await s.json(),r=Array.isArray(a?.prices)?a.prices:[];if(e||0===r.length)return;let i=!F.current;q(e=>{let s=new Map(e.map(e=>[e.symbol,e.price]));return r.map(e=>{let a=s.get(e.symbol),r=!i&&null!=a&&a>0&&e.price?(e.price-a)/a*100:null;return{symbol:e.symbol,price:e.price,decimals:e.decimals,chg:r}})}),F.current=!0}catch{}};s();let a=setInterval(s,6e4);return()=>{e=!0,clearInterval(a)}},[]),(0,r.useEffect)(()=>{if(!D||window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;let e=setInterval(()=>{A(H.current.map(e=>{if(null==e.price)return{...e,chg:null};let s=e.price*(1+(.0014*Math.random()-7e-4)),a=I.current.get(e.symbol),r=null!=a&&a>0?(s-a)/a*100:e.chg;return I.current.set(e.symbol,s),{...e,price:s,chg:r}}))},1800);return()=>clearInterval(e)},[D]);let R=P[l],O=B.find(e=>"SOL"===e.symbol),W=O?.chg??null;return(0,s.jsxs)("div",{className:"bq-home",ref:e,children:[(0,s.jsxs)("section",{className:"hero","aria-labelledby":"hero-h",children:[(0,s.jsxs)("div",{className:"hero-art","aria-hidden":"true",children:[(0,s.jsx)("div",{className:"glow"}),(0,s.jsx)(c,{className:"burst",html:k})]}),(0,s.jsx)("div",{className:"hero-mask","aria-hidden":"true"}),(0,s.jsxs)("div",{className:"wrap hero-grid",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"eyebrow",children:"Real-time & historical blockchain data · 40+ chains"}),(0,s.jsx)("h1",{id:"hero-h",children:"The blockchain data API behind crypto's most-used products."}),(0,s.jsx)("p",{className:"sub",children:"We index 40+ blockchains so you don't have to run a single node. Query it all through one schema in GraphQL, or stream the same data over WebSocket and Solana gRPC (fixed-cost Kafka on Enterprise). Trusted by 40,000+ developers at companies like Nansen, Chainalysis and Binance."}),(0,s.jsxs)("div",{className:"hero-chips","aria-label":"Data you can query",children:[(0,s.jsx)("span",{children:"DEX trades"}),(0,s.jsx)("span",{children:"Token prices"}),(0,s.jsx)("span",{children:"OHLCV"}),(0,s.jsx)("span",{children:"Holders"}),(0,s.jsx)("span",{children:"Money flow"}),(0,s.jsx)("span",{children:"Smart contracts"})]}),(0,s.jsxs)("div",{className:"hero-cta",children:[(0,s.jsxs)("a",{className:"bq-btn bq-btn-primary",href:_,target:"_blank",rel:"noopener noreferrer",children:["Start building free ",(0,s.jsx)(c,{className:"arrow",html:"→"})]}),(0,s.jsx)("a",{className:"bq-btn bq-btn-secondary",href:E,children:"Talk to us"})]}),(0,s.jsxs)("div",{className:"trustline",children:[(0,s.jsx)("span",{className:"stars","aria-hidden":"true",children:"★★★★★"}),(0,s.jsxs)("span",{className:"names",children:["Used by ",(0,s.jsx)("b",{children:"40,000+ developers"})," · free to start, no card"]})]})]}),(0,s.jsxs)("div",{className:"hero-bento","aria-label":"Live previews of Bitquery data: Solana DEX trades, token prices, and OHLCV chart",children:[(0,s.jsxs)("div",{className:"hframe f-trades",children:[(0,s.jsxs)("div",{className:"hframe-bar",children:[(0,s.jsx)("span",{className:"gdot"}),(0,s.jsx)("span",{className:"t",children:"DEX Trades · Solana"}),(0,s.jsxs)("span",{className:"live",children:[(0,s.jsx)("i",{}),"LIVE"]})]}),(0,s.jsxs)("div",{className:"hstream-head",children:[(0,s.jsx)("span",{children:"Pair / DEX"}),(0,s.jsx)("span",{children:"Side"}),(0,s.jsx)("span",{style:{textAlign:"right"},children:"Price"}),(0,s.jsx)("span",{style:{textAlign:"right"},children:"Amount"})]}),(0,s.jsx)("div",{className:"stream-body",ref:a})]}),(0,s.jsxs)("div",{className:"hframe f-prices",children:[(0,s.jsxs)("div",{className:"hframe-bar",children:[(0,s.jsx)("span",{className:"t",children:"Token Prices"}),(0,s.jsx)("span",{className:"pill2",children:"real-time"})]}),(0,s.jsx)("div",{children:B.map(e=>(0,s.jsxs)("div",{className:"price-row",children:[(0,s.jsx)("span",{className:"sym",children:e.symbol}),(0,s.jsx)("span",{className:"pp",children:z(e.price,e.decimals)}),(0,s.jsx)("span",{className:`chg ${null==e.chg?"":e.chg>=0?"up":"down"}`,children:null==e.chg?"":`${e.chg>=0?"▲":"▼"} ${Math.abs(e.chg).toFixed(2)}%`})]},e.symbol))})]}),(0,s.jsxs)("div",{className:"hframe f-chart",children:[(0,s.jsxs)("div",{className:"hframe-bar",children:[(0,s.jsx)("span",{className:"t",children:"SOL/USDC · 1h OHLCV"}),(0,s.jsxs)("span",{className:"live",children:[(0,s.jsx)("i",{}),"LIVE"]})]}),(0,s.jsxs)("div",{className:"hchart",children:[(0,s.jsxs)("div",{className:"hc-top",children:[(0,s.jsx)("span",{className:"hc-px",children:O?z(O.price,2):"$…"}),(0,s.jsx)("span",{className:"hc-chg",style:{color:null!=W&&W<0?"#f0897c":"#54c98e"},children:null==W?"":`${W>=0?"+":""}${W.toFixed(2)}%`})]}),(0,s.jsx)("svg",{viewBox:"0 0 220 64",preserveAspectRatio:"none","aria-hidden":"true",children:(0,s.jsxs)("g",{strokeWidth:"5",children:[(0,s.jsx)("line",{x1:"10",y1:"20",x2:"10",y2:"44",stroke:"#3a4150"}
1),(0,s.jsx)("rect",{x:"6",y:"26",width:"8",height:"14",fill:"#54c98e"}),(0,s.jsx)("line",{x1:"26",y1:"16",x2:"26",y2:"42",stroke:"#3a4150"}),(0,s.jsx)("rect",{x:"22",y:"22",width:"8",height:"12",fill:"#54c98e"}),(0,s.jsx)("line",{x1:"42",y1:"24",x2:"42",y2:"50",stroke:"#3a4150"}),(0,s.jsx)("rect",{x:"38",y:"30",width:"8",height:"14",fill:"#f0897c"}),(0,s.jsx)("line",{x1:"58",y1:"18",x2:"58",y2:"46",stroke:"#3a4150"}),(0,s.jsx)("rect",{x:"54",y:"24",width:"8",height:"12",fill:"#54c98e"}),(0,s.jsx)("line",{x1:"74",y1:"12",x2:"74",y2:"38",stroke:"#3a4150"}),(0,s.jsx)("rect",{x:"70",y:"18",width:"8",height:"14",fill:"#54c98e"}),(0,s.jsx)("line",{x1:"90",y1:"20",x2:"90",y2:"44",stroke:"#3a4150"}),(0,s.jsx)("rect",{x:"86",y:"28",width:"8",height:"12",fill:"#f0897c"}),(0,s.jsx)("line",{x1:"106",y1:"14",x2:"106",y2:"40",stroke:"#3a4150"}),(0,s.jsx)("rect",{x:"102",y:"20",width:"8",height:"13",fill:"#54c98e"}),(0,s.jsx)("line",{x1:"122",y1:"10",x2:"122",y2:"34",stroke:"#3a4150"}),(0,s.jsx)("rect",{x:"118",y:"14",width:"8",height:"12",fill:"#54c98e"}),(0,s.jsx)("line",{x1:"138",y1:"16",x2:"138",y2:"42",stroke:"#3a4150"}),(0,s.jsx)("rect",{x:"134",y:"26",width:"8",height:"11",fill:"#f0897c"}),(0,s.jsx)("line",{x1:"154",y1:"12",x2:"154",y2:"36",stroke:"#3a4150"}),(0,s.jsx)("rect",{x:"150",y:"16",width:"8",height:"14",fill:"#54c98e"}),(0,s.jsx)("line",{x1:"170",y1:"8",x2:"170",y2:"30",stroke:"#3a4150"}),(0,s.jsx)("rect",{x:"166",y:"12",width:"8",height:"12",fill:"#54c98e"}),(0,s.jsx)("line",{x1:"186",y1:"14",x2:"186",y2:"38",stroke:"#3a4150"}),(0,s.jsx)("rect",{x:"182",y:"18",width:"8",height:"13",fill:"#54c98e"}),(0,s.jsx)("line",{x1:"202",y1:"10",x2:"202",y2:"32",stroke:"#3a4150"}),(0,s.jsx)("rect",{x:"198",y:"14",width:"8",height:"11",fill:"#54c98e"})]})})]})]})]})]})]}),(0,s.jsx)("section",{className:"partners","aria-label":"Partners in growth",children:(0,s.jsxs)("div",{className:"wrap",children:[(0,s.jsx)("p",{className:"lbl",children:"Partners in growth"}),(0,s.jsx)("div",{className:"logowall",children:h.map(e=>(0,s.jsx)(i.default,{loading:"lazy",className:"plogo",src:e.src,alt:e.alt,width:120,height:32},e.alt))})]})}),(0,s.jsx)("div",{className:"kpiband","aria-label":"Platform scale",children:(0,s.jsx)("div",{className:"wrap",children:(0,s.jsxs)("div",{className:"kpis reveal",children:[(0,s.jsxs)("div",{className:"kpi",children:[(0,s.jsxs)("div",{className:"v",children:["40",(0,s.jsx)("span",{className:"u",children:"+"})]}),(0,s.jsx)("div",{className:"k",children:"Chains supported"})]}),(0,s.jsxs)("div",{className:"kpi",children:[(0,s.jsxs)("div",{className:"v",children:["1PB",(0,s.jsx)("span",{className:"u",children:"+"})]}),(0,s.jsx)("div",{className:"k",children:"Blockchain data indexed"})]}),(0,s.jsxs)("div",{className:"kpi",children:[(0,s.jsxs)("div",{className:"v",children:["10bn",(0,s.jsx)("span",{className:"u",children:"+"})]}),(0,s.jsx)("div",{className:"k",children:"API calls / month"})]})]})})}),(0,s.jsx)("section",{className:"block",id:"products","aria-labelledby":"prod-h",children:(0,s.jsxs)("div",{className:"wrap",children:[(0,s.jsxs)("div",{className:"sec-head reveal",children:[(0,s.jsx)("p",{className:"eyebrow",children:"Products"}),(0,s.jsx)("h2",{id:"prod-h",children:"30+ data products. One schema underneath."}),(0,s.jsx)("p",{children:"Pick by what you're building — DEX trades, token holders, money flow, NFTs — or grab a trending feed. Same indexed data, delivered over GraphQL, streams or cloud datashares."})]}),(0,s.jsx)("div",{className:"trend-lbl reveal",children:"Trending now"}),(0,s.jsx)("div",{className:"trend reveal",children:p.map(e=>(0,s.jsxs)("a",{href:e.href,children:[(0,s.jsx)(c,{className:"tri",html:e.svg}),(0,s.jsxs)("span",{children:[(0,s.jsx)("span",{className:"trt",children:e.label}),(0,s.jsx)("span",{className:"trs",children:e.sub})]})]},e.label))}),(0,s.jsxs)("div",{className:"prod-grid reveal",children:[m.map(e=>(0,s.jsxs)("div",{className:"card prod",children:[(0,s.jsx)(c,{className:"pi",html:e.svg}),(0,s.jsx)("h3",{children:e.title}),(0,s.jsx)("p",{className:"d",children:e.desc}),(0,s.jsx)("div",{className:"meta",children:e.meta.map(e=>(0,s.jsx)("span",{children:e},e))}),(0,s.jsxs)("a",{className:"lnk",href:e.href,children:["Explore APIs ",(0,s.jsx)(c,{className:"arrow",html:"→"})]})]},e.title)),(0,s.jsxs)("div",{className:"card prod",style:{background:"var(--bq-gradient-accent)",justifyContent:"center",alignItems:"flex-start"},children:[(0,s.jsx)("h3",{style:{fontSize:"24px"},children:"Don't see your use case?"}),(0,s.jsx)("p",{className:"d",style:{color:"rgba(255,255,255,0.88)"},children:"Browse all 30+ products by chain, asset and interface — or bring requirements and we'll deliver a tailored datashare."}),(0,s.jsxs)("a",{className:"bq-btn",style:{marginTop:"18px",background:"#fff",color:"var(--bq-magenta)"},href:"/products",children:["Browse all products ",(0,s.jsx)(c,{className:"arrow",html:"→"})]})]})]})]})}),(0,s.jsx)("section",{className:"block",id:"chains",style:{paddingTop:0}
1,"aria-labelledby":"chains-h",children:(0,s.jsxs)("div",{className:"wrap",children:[(0,s.jsxs)("div",{className:"sec-head reveal",children:[(0,s.jsx)("p",{className:"eyebrow",children:"40+ chains · one schema"}),(0,s.jsx)("h2",{id:"chains-h",children:"Query every major chain without switching tools."}),(0,s.jsx)("p",{children:"The same GraphQL schema and streams cover L1s, L2s and appchains. Add a new chain to your product without touching your code — or joining a single new RPC."})]}),(0,s.jsxs)("div",{className:"chains-grid reveal",children:[x.map(e=>(0,s.jsx)("a",{className:"chain-chip",href:e.href,dangerouslySetInnerHTML:{__html:e.svg+e.name}},e.name)),(0,s.jsxs)("a",{className:"chain-chip more",href:"https://docs.bitquery.io/docs/blockchain/supported-chains/",target:"_blank",rel:"noopener noreferrer",children:["+ 24 more chains ",(0,s.jsx)(c,{className:"arrow",html:"→"})]})]})]})}),(0,s.jsx)("section",{className:"block",id:"interfaces",style:{borderTop:"1px solid var(--bq-line-2)"},"aria-labelledby":"if-h",children:(0,s.jsxs)("div",{className:"wrap",children:[(0,s.jsxs)("div",{className:"sec-head reveal",children:[(0,s.jsx)("p",{className:"eyebrow",children:"One schema · many interfaces"}),(0,s.jsx)("h2",{id:"if-h",children:"Design the query once. Ship it over any protocol."}),(0,s.jsx)("p",{children:"Shape your data in GraphQL, then stream the exact same fields over WebSocket or Solana gRPC on self-service (fixed-cost Kafka on Enterprise) — or hand it to an AI agent via MCP. No re-modelling, no re-indexing."})]}),(0,s.jsxs)("div",{className:"iface-wrap reveal",children:[(0,s.jsx)("div",{className:"iface-tabs",role:"tablist","aria-label":"Interfaces",children:C.map(e=>(0,s.jsxs)("button",{className:"iface-tab",role:"tab",type:"button","aria-selected":l===e.k,onClick:()=>j(e.k),children:[(0,s.jsx)(c,{className:"ti",html:e.ti}),(0,s.jsxs)("span",{children:[(0,s.jsxs)("span",{className:"tt",children:[e.title,e.pill?(0,s.jsx)("span",{className:"pill",children:e.pill}):null]}),(0,s.jsx)("span",{className:"td",children:e.desc})]})]},e.k))}),(0,s.jsxs)("div",{className:"iface-panel",role:"tabpanel",children:[(0,s.jsxs)("div",{className:"pbar",children:[(0,s.jsxs)("span",{className:"dots",children:[(0,s.jsx)("i",{style:{background:"#ec6a5e"}}),(0,s.jsx)("i",{style:{background:"#f3bf4f"}}),(0,s.jsx)("i",{style:{background:"#61c554"}})]}),(0,s.jsx)("span",{className:"fname",children:R.file}),(0,s.jsx)("span",{className:"endpoint",children:R.endpoint})]}),(0,s.jsx)("pre",{className:"iface-code",dangerouslySetInnerHTML:{__html:R.html}}
1),(0,s.jsxs)("div",{className:"pfoot",children:[(0,s.jsxs)("span",{className:"ok",children:[(0,s.jsx)("i",{}),(0,s.jsx)("span",{children:R.status})]}),(0,s.jsxs)("span",{className:"copy",onClick:()=>{let e=P[l].raw,s=()=>{M(!0),setTimeout(()=>M(!1),1400)};navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(e).then(s,s):s()},children:[(0,s.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,s.jsx)("rect",{x:"9",y:"9",width:"12",height:"12",rx:"2"}),(0,s.jsx)("path",{d:"M5 15V5a2 2 0 0 1 2-2h10"})]}),N?"Copied":"Copy"]})]})]})]})]})}),(0,s.jsx)("section",{className:"block",id:"pipelines",style:{paddingTop:0},"aria-labelledby":"dp-h",children:(0,s.jsxs)("div",{className:"wrap",children:[(0,s.jsxs)("div",{className:"sec-head reveal",children:[(0,s.jsx)("p",{className:"eyebrow",children:"For data & platform teams"}),(0,s.jsx)("h2",{id:"dp-h",children:"Drop Bitquery straight into your data pipeline."}),(0,s.jsx)("p",{children:"Stream live over WebSocket or gRPC; Enterprise adds Kafka and S3 Parquet — decoded, partitioned and schema-stable. No nodes, no backfill jobs, no rate limits on bulk."})]}),(0,s.jsxs)("div",{className:"pipe reveal",role:"img","aria-label":"Pipeline: 40+ chains indexed by Bitquery, delivered via Kafka streams and S3 Parquet into your warehouse",children:[(0,s.jsxs)("div",{className:"pnode",children:[(0,s.jsx)("span",{className:"pk",children:"Source"}),(0,s.jsx)("span",{className:"pt",children:"40+ chains"}),(0,s.jsx)("span",{className:"pd",children:"40+ chains, one schema"})]}),(0,s.jsx)(c,{className:"pconn",html:w}),(0,s.jsxs)("div",{className:"pnode",children:[(0,s.jsx)("span",{className:"pk",children:"Bitquery"}),(0,s.jsx)("span",{className:"pt",children:"Indexing engine"}),(0,s.jsx)("span",{className:"pd",children:"decoded & normalized"})]}),(0,s.jsx)(c,{className:"pconn",html:w}),(0,s.jsxs)("div",{className:"pfork",children:[(0,s.jsxs)("span",{className:"pmode k",children:[(0,s.jsx)(c,{html:'<svg viewBox="0 0 24 24" fill="none" stroke="#e8ebf0" stroke-width="1.7"><circle cx="7" cy="6.4" r="1.9"/><circle cx="7" cy="17.6" r="1.9"/><circle cx="16.5" cy="12" r="2.1"/><path d="M8.7 7.6 14.6 11M8.7 16.4 14.6 13M7 8.3v7.4"/></svg>'}),"Kafka streams ",(0,s.jsx)("span",{className:"tg",children:"real-time"})]}),(0,s.jsxs)("span",{className:"pmode s",children:[(0,s.jsx)(c,{html:'<svg viewBox="0 0 24 24" fill="#569a31"><path d="M5.4 7.5h13.2l-1.15 11.4a1.1 1.1 0 0 1-1.1 1H7.65a1.1 1.1 0 0 1-1.1-1zM4.4 4.6h15.2v2.3H4.4z"/></svg>'}),"S3 · Parquet ",(0,s.jsx)("span",{className:"tg",children:"historical"})]})]}),(0,s.jsx)(c,{className:"pconn",html:w}),(0,s.jsxs)("div",{className:"pnode",children:[(0,s.jsx)("span",{className:"pk",children:"Destination"}),(0,s.jsx)("span",{className:"pt",children:"Your warehouse"}),(0,s.jsx)("span",{className:"pd",children:"Snowflake · BigQuery · Spark"})]})]}),(0,s.jsxs)("div",{className:"dp-grid reveal",children:[(0,s.jsxs)("div",{className:"card dp-card k",children:[(0,s.jsxs)("div",{className:"dph",children:[(0,s.jsx)(c,{className:"dpi",html:'<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#00d8dd" stroke-width="1.7"><circle cx="6" cy="12" r="2.3"/><circle cx="17" cy="6" r="2.3"/><circle cx="17" cy="18" r="2.3"/><path d="M8.1 11l6.8-3.6M8.1 13l6.8 3.6"/></svg>'}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"dpkick",children:"Real-time"}),(0,s.jsx)("div",{className:"dpt",children:"Kafka streams"})]})]}),(0,s.jsx)("p",{className:"dpsub",children:"Subscribe to decoded topics per chain and event type. The same firehose that powers our own streaming — pushed straight to your consumers."}),(0,s.jsx)("div",{className:"dp-snip",dangerouslySetInnerHTML:{__html:'<span class="c3"># consume a decoded topic</span><br/><span class="c1">topic</span>     = solana.dextrades.proto<br/><span class="c1">format</span>    = <span class="c2">Protobuf</span> | <span class="c2">JSON</span><br/><span class="c1">delivery</span>  = at-least-once · <span class="c4">offset replay</span><br/><span class="c1">latency</span>   = <span class="c4">&lt;500ms</span> p95'}}),(0,s.jsxs)("ul",{children:[(0,s.jsxs)("li",{children:[(0,s.jsx)(c,{html:d}),(0,s.jsxs)("span",{children:[(0,s.jsx)("b",{children:"Guaranteed delivery"})," with offset replay — re-read from any point, no gaps."]})]}),(0,s.jsxs)("li",{children:[(0,s.jsx)(c,{html:d}),(0,s.jsxs)("span",{children:[(0,s.jsx)("b",{children:"Consumer groups"})," scale horizontally — partitioned by chain & market."]})]}),(0,s.jsxs)("li",{children:[(0,s.jsx)(c,{html:d}),(0,s.jsxs)("span",{children:[(0,s.jsx)("b",{children:"SASL_SSL"})," auth, stable Protobuf schema — wire it into Flink, Spark or ksqlDB."]})]})]}
1),(0,s.jsxs)("a",{className:"dplnk",href:"/products/data-streams",children:["Streams quickstart ",(0,s.jsx)(c,{className:"arrow",html:"→"})]})]}),(0,s.jsxs)("div",{className:"card dp-card s",children:[(0,s.jsxs)("div",{className:"dph",children:[(0,s.jsx)(c,{className:"dpi",html:'<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#f93f9c" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><ellipse cx="12" cy="5.5" rx="8" ry="3"/><path d="M4 5.5v13c0 1.7 3.6 3 8 3s8-1.3 8-3v-13M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3"/></svg>'}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"dpkick",children:"Historical"}),(0,s.jsx)("div",{className:"dpt",children:"Parquet on S3"})]})]}),(0,s.jsx)("p",{className:"dpsub",children:"Full archival history as columnar Parquet, partitioned and ready to copy. Backfill petabytes without a single API call or rate limit."}),(0,s.jsx)("div",{className:"dp-snip",dangerouslySetInnerHTML:{__html:'<span class="c3"># partitioned, columnar, copy-ready</span><br/>s3://<span class="c2">bitquery-datasets</span>/solana/dex_trades/<br/>  <span class="c1">chain</span>=solana/<span class="c1">date</span>=2026-06-04/<br/>    part-0000.<span class="c4">parquet</span><br/>    part-0001.<span class="c4">parquet</span>'}}),(0,s.jsxs)("ul",{children:[(0,s.jsxs)("li",{children:[(0,s.jsx)(c,{html:o}),(0,s.jsxs)("span",{children:[(0,s.jsx)("b",{children:"Columnar Parquet"}),", Hive-partitioned by chain & date — predicate pushdown out of the box."]})]}),(0,s.jsxs)("li",{children:[(0,s.jsx)(c,{html:o}),(0,s.jsxs)("span",{children:[(0,s.jsx)("b",{children:"COPY INTO"})," Snowflake, BigQuery or Databricks — or query in place with Athena & Spark."]})]}),(0,s.jsxs)("li",{children:[(0,s.jsx)(c,{html:o}),(0,s.jsxs)("span",{children:[(0,s.jsx)("b",{children:"Petabyte backfill"})," + daily deltas to your own bucket — no rate limits, stable schema."]})]})]}),(0,s.jsxs)("a",{className:"dplnk",href:"/forms/api?from=enterprise",children:["Request a datashare ",(0,s.jsx)(c,{className:"arrow",html:"→"})]})]})]}),(0,s.jsxs)("div",{className:"dp-works reveal",children:[(0,s.jsx)("span",{className:"wl",children:"Works with"}),b.map(e=>(0,s.jsxs)("span",{className:"wp",children:[(0,s.jsx)(c,{html:e.svg}),e.name]},e.name))]})]})}),(0,s.jsx)("section",{className:"block",id:"personas",style:{borderTop:"1px solid var(--bq-line-2)"},"aria-labelledby":"per-h",children:(0,s.jsxs)("div",{className:"wrap",children:[(0,s.jsxs)("div",{className:"sec-head reveal",children:[(0,s.jsx)("p",{className:"eyebrow",children:"Proof, by what you're building"}),(0,s.jsx)("h2",{id:"per-h",children:"Whatever you're building, a team you've heard of has built it on us."}),(0,s.jsx)("p",{children:"The same data runs trading terminals, tax tools, wallets and analytics platforms. Find the use case that looks like yours — the proof is already sitting there."})]}),(0,s.jsx)("div",{className:"persona-grid reveal",children:u.map(e=>(0,s.jsxs)("div",{className:"card persona",children:[(0,s.jsx)(c,{className:"ico",html:e.icoSvg}),(0,s.jsx)("h3",{children:e.title}),(0,s.jsx)("p",{className:"desc",children:e.desc}),(0,s.jsxs)("div",{className:"who",children:[(0,s.jsx)("span",{className:"chip",children:(0,s.jsx)(i.default,{loading:"lazy",src:e.logo,alt:e.logoAlt,width:20,height:20})}),(0,s.jsx)("span",{className:"cap-t",dangerouslySetInnerHTML:{__html:e.who}})]}),(0,s.jsx)("div",{className:"persona-links",children:e.links.map(e=>(0,s.jsxs)(t.default,{className:"persona-link",href:e.href,children:[e.label," ",(0,s.jsx)(c,{className:"arrow",html:"→"})]},e.href))})]},e.title))}),(0,s.jsxs)("div",{className:"persona-foot reveal",children:[(0,s.jsxs)(t.default,{className:"persona-all",href:"/solutions",children:["Browse all solutions ",(0,s.jsx)(c,{className:"arrow",html:"→"})]}),(0,s.jsx)("span",{className:"persona-foot-note",children:"Compliance, law enforcement, VASP, tax, wallets, DEX terminals, NFT, RWA, CBDC and education — each with the datasets and delivery that fit."})]})]})}),(0,s.jsx)("section",{className:"block",style:{paddingTop:0},"aria-label":"Customer testimonials",children:(0,s.jsxs)("div",{className:"wrap",children:[(0,s.jsxs)("div",{className:"spotlight reveal",children:[(0,s.jsx)("div",{className:"qmark","aria-hidden":"true",children:"“"}),(0,s.jsxs)("blockquote",{children:["At Nansen, we're building a trading platform that demands high-quality, cross-chain live price data — so when we went looking for the best onchain data available, we did a thorough search of the market. Bitquery came out on top.",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"What's kept us there is the team. They tailored an offering specifically to our needs, and whenever we hit an issue they jump on it immediately. We don't think of Bitquery as a vendor — they're a partner. Bitquery now powers all live prices across Nansen."]}),(0,s.jsxs)("div",{className:"by",children:[(0,s.jsx)("span",{className:"bylogo",children:(0,s.jsx)(i.default,{loading:"lazy",src:"/icons/trusted/ic_nansen.svg",alt:"Nansen",width:28,height:28})}),(0,s.jsxs)("div",{className:"meta",children:[(0,s.jsx)("div",{className:"n",children:"Alexander Karsten"}),(0,s.jsx)("div",{className:"r",children:"Nansen"})]})]})]}),(0,s.jsx)("div",{className:"quote-row reveal",children:f.map(e=>(0,s.jsxs)("div",{className:"card qcard",children:[(0,s.jsx)("div",{className:"stars","aria-hidden":"true",children:"★★★★★"}),(0,s.jsx)("p",{children:e.text}),(0,s.jsxs)("div",{className:"by",children:[(0,s.jsx)("span",{className:e.sm?"qlogo sm":"qlogo",children:(0,s.jsx)(i.default,{loading:"lazy",src:e.logo,alt:e.logoAlt,width:e.sm?20:28,height:e.sm?20:28})}),(0,s.jsxs)("div",{className:"meta",children:[(0,s.jsx)("div",{className:"n",children:e.name}),(0,s.jsx)("div",{className:"r",children:e.role})]})]})]},e.role))})]})}),(0,s.jsx)("section",{className:"block",style:{paddingTop:0},"aria-labelledby":"press-h",children:(0,s.jsxs)("div",{className:"wrap",children:[(0,s.jsxs)("div",{className:"sec-head center reveal",children:[(0,s.jsx)("p",{className:"eyebrow",children:"In the headlines"}),(0,s.jsx)("h2",{id:"press-h",children:"When the headline has to be right, our data is in it."}),(0,s.jsx)("p",{children:"Reporters lean on our Coinpath® money-flow analysis to untangle 51% attacks, trace stolen funds and pin down what actually moved on-chain."})]}),(0,s.jsx)("div",{className:"press-wall reveal","aria-label":"Publications that have cited Bitquery",children:g.map(e=>(0,s.jsx)("span",{className:e.cls,style:e.style,children:e.text},e.text))}),(0,s.jsx)("div",{className:"press-grid reveal",children:v.map(e=>(0,s.jsxs)("a",{className:"card pcard",href:e.href,target:"_blank",rel:"noopener noreferrer",children:[(0,s.jsxs)("div",{className:"pc-top",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"pc-out",children:e.out}),(0,s.jsx)("div",{className:"pc-date",children:e.date})]}),(0,s.jsx)("div",{className:"pc-num",children:e.num})]}),(0,s.jsx)("div",{className:"pc-head",children:e.head}),(0,s.jsx)("span",{className:"pc-tag",children:e.tag}),(0,s.jsxs)("span",{className:"pc-lnk",children:["Read coverage ",(0,s.jsx)(c,{className:"arrow",html:"→"})]})]},e.head))}),(0,s.jsxs)("div",{className:"press-foot reveal",children:[(0,s.jsxs)(t.default,{className:"press-all",href:"/investigations",children:["Read our investigations ",(0,s.jsx)(c,{className:"arrow",html:"→"})]}),(0,s.jsx)("span",{className:"press-foot-note",children:"We run the same tracing ourselves — laundering circuits, wash-trading rings, manufactured volume and drained treasuries, each one reproducible from the queries we publish."})]})]})}),(0,s.jsx)("section",{className:"block",style:{borderTop:"1px solid var(--bq-line-2)"}
1,"aria-labelledby":"cred-h",children:(0,s.jsxs)("div",{className:"wrap cred reveal",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"eyebrow",children:"Backed & distributed"}),(0,s.jsx)("h2",{id:"cred-h",style:{fontSize:"34px",fontWeight:500,letterSpacing:"-0.8px",lineHeight:"40px",marginTop:"14px"},children:"We've been indexing chains since 2018."}),(0,s.jsx)("p",{style:{fontSize:"17px",color:"var(--bq-grey)",marginTop:"16px",lineHeight:1.55,letterSpacing:"-0.1px"},children:"That's long before on-chain data was its own category. The ecosystems we serve have backed the work along the way, and you can pull it from wherever your data already lives."}),(0,s.jsxs)("div",{className:"clouds",children:[(0,s.jsx)("div",{className:"lbl",children:"Datashares on the platforms you already use"}),(0,s.jsx)("div",{className:"cloud-grid",children:y.map(e=>(0,s.jsxs)("span",{className:"cloud-pill",children:[(0,s.jsx)(c,{html:e.svg}),e.name]},e.name))})]})]}),(0,s.jsxs)("div",{className:"badges",children:[(0,s.jsxs)("div",{className:"card cred-badge",children:[(0,s.jsx)("div",{className:"mk wide",children:(0,s.jsx)(i.default,{loading:"lazy",src:"/icons/trusted/ic_binance.svg",alt:"Binance",width:120,height:32})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{children:"Binance SAFU Hackathon winners"}),(0,s.jsx)("p",{children:"Recognized in January 2019 and selected for the Binance X Fellowship to build open-source, data-driven tooling."})]})]}),(0,s.jsxs)("div",{className:"card cred-badge",children:[(0,s.jsx)("div",{className:"mk",style:{background:"#6c00f6"},children:(0,s.jsx)(c,{html:'<svg width="23" height="21" viewBox="0 0 38 34" fill="#fff" aria-hidden="true"><path d="M28.34 11.53c-.64-.37-1.46-.37-2.18 0l-5.1 3-3.46 1.92-5.02 2.96c-.64.37-1.46.37-2.18 0l-3.9-2.33c-.64-.37-1.1-1.1-1.1-1.92v-4.5c0-.74.37-1.47 1.1-1.92l3.9-2.25c.64-.37 1.46-.37 2.18 0l3.9 2.33c.64.37 1.1 1.1 1.1 1.92v3l3.46-2.03V8.7c0-.74-.36-1.47-1.1-1.92l-7.27-4.28c-.64-.37-1.46-.37-2.18 0L4.96 6.78c-.74.45-1.1 1.18-1.1 1.92v8.5c0 .74.36 1.47 1.1 1.92l7.35 4.28c.64.37 1.46.37 2.18 0l5.02-2.92 3.46-2.03 5.02-2.92c.64-.37 1.46-.37 2.18 0l3.9 2.25c.64.37 1.1 1.1 1.1 1.92v4.5c0 .74-.37 1.47-1.1 1.92l-3.82 2.33c-.64.37-1.46.37-2.18 0l-3.9-2.25c-.64-.37-1.1-1.1-1.1-1.92v-2.92l-3.46 2.03v3c0 .74.36 1.47 1.1 1.92l7.35 4.28c.64.37 1.46.37 2.18 0l7.35-4.28c.64-.37 1.1-1.1 1.1-1.92v-8.58c0-.74-.36-1.47-1.1-1.92l-7.43-4.35z"/></svg>'})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{children:"Polygon ecosystem grant"}),(0,s.jsx)("p",{children:"Granted by the Polygon team to deepen indexing and expand multi-chain coverage."})]})]}),(0,s.jsxs)("div",{className:"card cred-badge",children:[(0,s.jsx)("div",{className:"mk",style:{background:"var(--bq-gradient)"},children:"∞"}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{children:"Indexing since 2018"}),(0,s.jsx)("p",{children:"Live windows on self-service plans; archive add-ons and Enterprise for deep history — permanently stored and queryable."})]})]})]})]})}),(0,s.jsx)(n.default,{className:"block",style:{borderTop:"1px solid var(--bq-line-2)"}}),(0,s.jsx)("section",{className:"block",id:"faq",style:{borderTop:"1px solid var(--bq-line-2)"},"aria-labelledby":"faq-h",children:(0,s.jsxs)("div",{className:"wrap",children:[(0,s.jsxs)("div",{className:"sec-head center reveal",children:[(0,s.jsx)("p",{className:"eyebrow",children:"FAQ"}),(0,s.jsx)("h2",{id:"faq-h",children:"Questions, answered."})]}),(0,s.jsx)("div",{className:"faq reveal",children:T.map((e,a)=>(0,s.jsxs)("details",{open:0===a,children:[(0,s.jsxs)("summary",{children:[e.q," ",(0,s.jsx)("span",{className:"pm","aria-hidden":"true"})]}),(0,s.jsx)("div",{className:"ans",dangerouslySetInnerHTML:{__html:e.a}})]},e.q))})]})}),(0,s.jsx)("section",{className:"finalcta","aria-labelledby":"cta-h",children:(0,s.jsxs)("div",{className:"wrap",children:[(0,s.jsx)("h2",{id:"cta-h",children:"Your first query is five minutes away."}),(0,s.jsx)("p",{children:"Start free in the GraphQL IDE — no card, no sales call. When you're ready to scale, tell us what you're building and we'll shape a feed around your stack."}),(0,s.jsxs)("div",{className:"cta",children:[(0,s.jsxs)("a",{className:"bq-btn bq-btn-primary",href:_,target:"_blank",rel:"noopener noreferrer",children:["Start building free ",(0,s.jsx)(c,{className:"arrow",html:"→"})]}),(0,s.jsx)("a",{className:"bq-btn bq-btn-secondary",href:E,children:"Talk to us"}),(0,s.jsx)("a",{className:"bq-btn bq-btn-secondary",href:"https://docs.bitquery.io/",target:"_blank",rel:"noopener noreferrer",children:"Read the docs"})]}),(0,s.jsx)("div",{className:"reassure",children:"Nansen · Binance · 0x · Chainalysis · TRM · Nexo · CoinMarketCap · 40,000+ developers"})]})})]})}let I={"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What is Bitquery?",acceptedA
1nswer:{"@type":"Answer",text:"Bitquery is a blockchain data company providing historical and real-time indexed data for 40+ chains through one GraphQL schema, WebSocket, Solana gRPC, an MCP server and bulk cloud datashares (fixed-cost Kafka on Enterprise). Query token trades, transfers, holders, balances, smart-contract events, money flow and more — without running a single node."}},{"@type":"Question",name:"How fresh is the data — what latency can I expect?",acceptedAnswer:{"@type":"Answer",text:"It depends on the interface. Kafka streams deliver decoded events at <500ms p95; WebSocket subscriptions push JSON in roughly a second; Solana CoreCast (gRPC) is built for ultra-low latency MEV/HFT use cases. Historical data is the same indexed dataset, queryable the moment a block is final."}},{"@type":"Question",name:"How far back does the historical data go?",acceptedAnswer:{"@type":"Answer",text:"Self-service plans include a live window (about 30-day trades and 4–8 hours of on-chain history on core chains); deepen coverage with archive add-ons on Pricing, or go Enterprise for complete history. Bitquery has indexed blockchains since 2018 — Enterprise and cloud datashares can backfill petabytes as Parquet on S3 or query long historical ranges over GraphQL."}},{"@type":"Question",name:"How is this different from running my own nodes or RPC calls?",acceptedAnswer:{"@type":"Answer",text:"Nodes and raw RPC give you undecoded data and force you to build indexing, decoding, reorg handling and cross-chain joins yourself. Bitquery delivers decoded, normalized, cross-chain data through one schema — so a query that would take thousands of chained RPC calls becomes a single request, with zero infrastructure to operate."}},{"@type":"Question",name:"Which blockchains, DEXs and assets do you support?",acceptedAnswer:{"@type":"Answer",text:l.HOMEPAGE_FAQ_CHAINS}},{"@type":"Question",name:"How do rate limits and scaling to production work?",acceptedAnswer:{"@type":"Answer",text:l.HOMEPAGE_FAQ_RATE_LIMITS}},{"@type":"Question",name:"Can I load Bitquery straight into my data warehouse?",acceptedAnswer:{"@type":"Answer",text:"Yes. Historical and real-time data ships as columnar, partitioned Parquet to your own S3 bucket, or as datashares you can COPY INTO Snowflake, BigQuery, Databricks and Azure — or query in place with Athena and Spark. Schema is stable, so your pipelines don't break."}},{"@type":"Question",name:"How does pricing work, and is there a free trial?",acceptedAnswer:{"@type":"Answer",text:l.HOMEPAGE_FAQ_PRICING_PLAIN}},{"@type":"Question",name:"What support and reliability do you offer?",acceptedAnswer:{"@type":"Answer",text:l.HOMEPAGE_FAQ_SUPPORT}}]};e.s(["__N_SSG",0,!0,"default",0,function(){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.default,{customTitle:!0,title:"Blockchain Data APIs & Real-Time Crypto Streams | Bitquery",description:"Blockchain data APIs and real-time crypto streams for 40+ chains. Kafka, WebSocket, Solana gRPC, DEX trades, OHLCV, Pump.fun, Polymarket and more.",image:"/icons/seo/bitquery-og-coverage-wall.jpg",url:"https://bitquery.io/",keywords:"kafka crypto streams, websocket blockchain API, solana DEX data API, pump.fun API, OHLCV crypto, polymarket API, web3 api, web3 data api, defi api, api web3, web 3 api, blockchain api developer, blockchainapi, blockchain data, blockchain apis, blockchain data apis, blockchain indexing, real-time blockchain data, solana streams, BSC streams, four.meme API, crypto price streams",jsonLd:[I]}),(0,s.jsx)(H,{})]})}],43181)},19675,(e,s,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/",()=>e.r(43181)]),s.hot&&s.hot.dispose(function(){window.__NEXT_P.push(["/"])})}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.