SMART CONTRACT API · GraphQL · WebSocket · Kafka

Smart Contract API decoded events, calls & traces across 40+ chains

Skip the ABIs, the archive node and the log replay. We've already decoded every event, method call, internal trace and deployment on 40+ chains — so a contract's full activity is one GraphQL query away, or a live stream. Filter by signature, no decoder to maintain.

Trusted by teams atChainalysis logoTRM Labs logoNansen logoCoinMarketCap logo
EVM.EventsDecoded logs for any contract — subscribe by event signature, no ABI wrangling.Docs
contract_events.graphqlCopy
subscription {
  EVM(network: eth) {
    Events(
      where: {Log: {Signature:
        {Name: {is: "Transfer"}}}}
    ) {
      Log { Signature { Name } }
      Block { Number }
    }
  }
}
responseSTREAMING
ContractEventBlock
200 · WebSocket · 0.6sstreaming.bitquery.io
Trusted by 40,000+ developers & teams like
Binance logoChainalysis logoTRM Labs logoNansen logo0x logoCoinMarketCap logoCoin Metrics logoBybit logoLukka logo3Commas logoNexo logoTether logo
40+
Chains supported
1PB+
Blockchain data indexed
10B+
API calls / month
99.9%
Production uptime
01
Forget decoding ABIs and replaying logs

Raw contract data wasn't built for the questions you're asking.

Reading a contract's activity yourself means an archive node per chain, an ABI per contract, a hand-written log decoder and a tracer for internal calls — and it still stops at the chain boundary. We did the decoding, so you get events, calls and traces across every chain at once.

What you're doing
Build it yourself
Bitquery Smart Contract API
A contract's full event history
Replay logs on an archive node
A single GraphQL query
Decode logs from an ABI
Maintain a decoder per contract
Decoded by signature, built in
Every method call, by signature
Trace and parse calldata yourself
Calls decoded with ok / fail
Internal calls inside a tx
Run debug_traceTransaction
The full call tree, queryable
New contract deployments
Poll and filter create txns
Streamed the moment they land
EVM and Solana in one place
Two stacks, two schemas
One schema across chains
02
Delivery channels

Four ways to get contract data — one schema underneath.

Design your query once in GraphQL, then read the exact same fields as GraphQL streams, Kafka, gRPC or a bulk cloud export. Pick the channel that fits your latency and volume — no second pipeline.

03
What's decoded

Events, calls, traces and deployments — one feed.

A single query spans a contract's whole surface. Filter Events and Calls by signature, name or argument — and reach internal traces, contract creations and Solana instructions from the same schema.

CapabilityDatasetWhat you get
EvContract EventsEVM.EventsDecoded logs for any contract — filter by event signature, name or argument
CaContract CallsEVM.CallsEvery external method call decoded by signature, with success / revert status
ItInternal TracesEVM.CallsThe full internal call tree and value transfers inside any transaction
CrContract CreationsCalls · CreateNew deployments the moment they land, with deployer and bytecode address
AbBy-Signature / ABIArgumentsArgument names and types resolved from the ABI — no manual log decoding
SoSolana InstructionsSolana.InstructionsDecoded program instructions, methods and accounts across Solana programs
+ filter by argument, opcode, gas, deployer & more across 40+ chains
05
Build it this weekend

The contract products people ship on us.

Each one is a filter on the same indexed data — subscribe over Kafka or gRPC for bots, or query GraphQL for dashboards.

GraphQL

Decode any protocol's events

Stream decoded logs for any contract by event signature — Transfers, Swaps, Approvals — with argument names resolved from the ABI, no decoder to maintain.

Events
  where: { Log: { Signature: { Name: "Transfer" } } }
Read the docs
WebSocket · Kafka

Track new contract deployments

Subscribe to creation calls to catch every new contract the moment it lands — filtered by deployer — the feed behind deployment scanners and token launchers.

subscribe Calls
  where: { Call: { Create: true } }
Read the docs
GraphQL

Monitor a contract's calls

Pull every method call to a contract with success / revert status and decoded arguments — plus the internal traces inside each transaction.

Calls {
  Signature: { Name } Success
}
Read the docs

What teams say about our data

"We did a thorough search of the market for the best onchain data. Bitquery came out on top — and now powers all live prices across Nansen. We don't think of them as a vendor. They're a partner."

A
Alexander Karsten
Nansen
40+
Chains with decoded events & calls
<100ms
Kafka & gRPC stream latency
1PB+
Decoded blockchain data indexed

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 as a starting point for our own.

0x Protocol logo
Alex Knaggs
0x Protocol

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.

Director, Binance X logo
Flora Sun
Director, Binance X

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. The support is responsive, friendly and quick.

Backend Developer, Blockpit logo
Jan Dreske
Backend Developer, Blockpit

Partnering with Bitquery has been highly cost-effective — leveraging their established infrastructure rather than building our own let us rapidly expand our blockchain support and reach a much broader segment of on-chain users.

Co-Founder, Syla logo
Nick Christie
Co-Founder, Syla

Bitquery's products are very intuitive and easy to use. We currently use their products to obtain DEX-related trading and liquidity information, which saves us the manpower and tedious technical details required to develop our own system. Their excellent technical team deserves special praise; they provide near-24/7 support and resolve issues quickly. I greatly appreciate their products and work ethic.

Ourbit logo
Data Team
Ourbit

Bitquery provides the infrastructure we rely on every day. Fast, reliable, and comprehensive across the chains that matter to our business.

Webacy
Webacy
webacy.com
06
Pricing

Start free. Scale when you ship.

Query every blockchain on every plan — no chain is paywalled. Move to commercial when you need volume, SLAs and bulk datashares.

Developer
$0 / month
Free plan for developers or small projects.
  • All blockchains, all plans
  • 10 requests / minute
  • 2 streams for testing
  • GraphQL IDE access
Get started free
Most popular
Commercial
Custom
Tailored solutions for business and enterprise.
  • Scalable calls, no throttling
  • SQL, Cloud, Kafka & more
  • 24/7 engineering access
  • Dedicated onboarding & SLA
Talk to sales
Datashares
Custom
Bulk historical & real-time data on your cloud.
  • Snowflake, BigQuery, S3, Azure
  • No setup or infrastructure
  • Structured for AI agents & MCP
  • Audit data for custodians
Talk to sales
FAQ

Smart contract data questions, answered.

How do I get decoded smart contract events?
Query the Events dataset through our GraphQL API, WebSocket subscriptions, Kafka streams or gRPC. Sign up at ide.bitquery.io for an API key, then filter logs by event signature, name or argument for any contract across 40+ chains — no ABI to upload or decoder to maintain.
Can I decode contract calls and method arguments?
Yes. The Callsdataset decodes every external method call to a contract by signature, with arguments, gas and a success / revert flag — so you can watch a contract's function-level activity without parsing calldata yourself.
Do you support internal transactions and traces?
Yes. We expose the full internal call tree and value transfers inside a transaction through the same Calls schema — the data eth_getLogsand a standard RPC can't give you — without running debug_traceTransaction yourself.
Can I detect new contract deployments in real time?
Yes. Subscribe to creation calls (Call: { Create: true }) to catch every new contract the moment it lands, with the deployer and contract address — the feed behind deployment scanners and token launch trackers.
Which chains does the Smart Contract API cover?
40+ chains, EVM and Solana, decoded into one schema — including Ethereum, BNB Chain, Base, Arbitrum, Polygon and more on EVM, plus decoded program instructions on Solana through the Solana.Instructions dataset.
Can I stream contract events without managing infrastructure?
Yes. Subscribe over WebSocket, Kafka or gRPC with sub-100ms latency for new events, calls, traces and deployments — no archive node, no ABI pipeline and no tracer to run. Built for indexers, audit tooling, alerting and dApp backends.

Ship your contract product this week.

Free API key, every contract decoded, no node to run. Query historical events and stream live calls and traces in your first request.

No credit card · 10K free points for your first month · All 40+ chains included