The OpenScan.AI indexing architecture includes the following indexers and fetchers.
Primary Indexers
Both indexers utilize synchronous and asynchronous operations.
- Realtime: Imports new block data from the head of the chain.
- Catchup: Imports data down the chain (starting from the head and moving backwards towards the genesis block).
Secondary fetchers
Regular
- Internal transactions
- Pending transactions
- Dropped/Replaced transactions
- Contract bytecodes
- Block rewards
- Token catalog
- Token/coin balances
- NFT instances
- Uncles
On Demand
- Coin/token balances update
- Contract bytecodes fetch/re-check
- Contract source codes lookup
- NFT instance metadata re-fetch
- Token total supply
Off-chain integrations
- Coin / token price, market cap, and TVL sources: CoinMarketCap, CoinGecko, Cryptorank, DefiLlama
- Smart contract verification: ETH bytecode DB, Sourcify
- Data enrichment: public tags, AI interpreters, contract security scanners
- Chain initialization data import: pre-mined coins, precompiled smart contracts
Chain-specific fetchers
There are more than a dozen chain-specific data fetchers to account for chain differences (Arbitrum, Optimism, Polygon zkEVM, zkSync, XDC, and others).
Temporary fetchers
Used once to resolve possible data inconsistencies.