Obtaining Data

ctc collects data from a variety of sources, including RPC nodes, metadata databases, block explorers, and market data aggregators. After initial collection, much of this data is then stored.

Sources of Historical Data

ctc collects the majority of its data from RPC nodes using the EVM’s standard JSON-RPC interface. Collection of historical data (as opposed to recent data) requires use of an archive node.

There are 3 main ways to gain access to an RPC node:

  1. Run your own node: Although this requires more time, effort, and upfront cost than the other methods, it often leads to the best results. Erigon is the most optimized client for running an archive node.

  2. Use a 3rd-party private endpoint: Private RPC providers (e.g. Alchemy, Quicknode, or Moralis) provide access to archive nodes, either through paid plans or sometimes even through free plans.

  3. Use a 3rd-party public endpoint: You can query data from public endpoints like Infura. This approach is not recommended for any significant data workloads, as it often suffers from rate-limiting and poor historical data availability.

ctc’s RPC config is created and modified by running the setup wizard.

Other types of data

Beyond RPC data there are other types of data that ctc collects, including: