Covalent | API & SQL access to Ethereum-backed assets and protocols

See inside your smart contracts.

Direct API & SQL access to Ethereum-backed assets and protocols. Run queries on billions of rows of smart contract transactions in seconds.


Querying the blockchain is a big problem.

Though data on the blockchain is public, it is in a format that can be hard to decipher. It involves un-hashing1 function signatures and event log names. It involves data that lives off-chain.

Entire engineering teams are spending months of needless effort downloading the blockchain and building indexing servers. As the Ethereum blockchain continues to grow2, the effort needed to keep these systems available becomes prohibitive.

By not being able to easily query the blockchain, dApp developers are struggling to understand how their smart contracts are being used.

  1. un-hashing by building a rainbow table
  2. 400% growth in size in 2018

Blockchain data analysis

Get rid of scraping infrastructure and focus on the data analysis.

How it works


Identify your smart contracts

Covalent has indexed every smart contract program including its functional calls, traces and log events. We run full archive nodes on dedicated hardware.

Tailor your queries

Use direct SQL or our API to answer the most pressing questions about your business.

Act on and share your insights

Use data to improve your product experience and grow your business. Share with marketing, product and customer support teams.

Scale faster with confidence

Covalent is built for scale – we get you the data you need in a scalable and flexible way. There's zero maintenance after the setup.

Built for developers

We believe building a blockchain business should be easy. That's why we strive to make our API simple, secure, and flexible. By reducing the complexity of querying the blockchain, we're empowering all developers to move quickly and realize a decentralized future. We provide seamless integration with ENS and #defi protocols like MakerDAO, Compound and UniSwap.

const got = require("got"); const address = "0x7284a8451d9a0e7Dc62B3a71C0593eA2eC5c5638"; const key = "demo-key"; const r = got.get(`${address}/?key=${key}`); JSON.parse((await r).body)

Case study

CryptoKitties Revenue Analysis

Deep-dive into the CryptoKitties business model, auction mechanics and revenue metrics. With open-source SQL code.

Read analysis

Be the first to know about new updates