Index any chain.
Own every record.

The indexing engine behind wallets, exchanges and custodians. Every chain, decoded and loaded straight into your own Postgres, ClickHouse or MySQL, live and in order.

Enter to send · Shift + Enter for a new line
Chains40+ live · 1 yours
Engine● live
Moralis
106,662 events / s
position 9,184,027,744
Validate parent hash on every block 0 rejected
Order one global sequence per topic gapless
Decode 19 topics, one schema decoding
Prove hash chain, Merkle commits verified
Deliveriesyour stack
Postgres rows 2,914,550,318
ClickHouse rows 41,208,331,907
MySQL rows 6,702,184,915
Kafka delivered 9,184,027,744

Wallets, exchanges and custodians run on Moralis data

Copper Blockchain.com GSR Consensys Gate Ledger MetaMask Trust Wallet Tangem Exodus Ronin Opera Blockaid
106,662events / s on Envio's open benchmark
17×compression, Parquet + ZSTD
12 PB+of chain history recorded
2021in production under wallet and exchange load

One universal source of truth.

Most stacks keep three copies of chain data: a stream for live events, a database for queries, a backfill job for history. They drift. Data Feeds keeps one ordered record of every chain, mapped into one universal schema, and serves streaming, queries and replay from the same record.

EVM chains
Solana
Bitcoin
Stellar
Hyperliquid
+Your RPC
Universal record one schema · one global order · one hash chain position 9,184,027,744
StreamInto your database, or Kafka
QueryWith your own SQL
ReplayFrom any position
VerifyHash chain, offline verifier
Record & Stream

Real-time, reorg-safe streams, the moment a block lands.

Blocks arrive within a second of landing, validated against their parent hash before they become readable, decoded server-side into 19 topic types, and appended to one globally ordered stream per topic. When the chain reorganises, you receive a retraction and a replacement, never a silent edit.

How ordering works →
Features
Real-time, sub-second Reorg-safe Decoded, 19 topics Global order per topic Pre & post balances Gapless watermark
Decoded events · all chains Live
position — topic tokenTransfers · order global
Query & Filter

Decoded rows, in your own database.

Continuum Sink loads decoded rows straight into your own Postgres, ClickHouse or MySQL, filtered to the contracts, wallets and block ranges you choose, in one schema across every chain. Query them with the SQL you already write. Prefer to consume the stream yourself? Read it from Kafka, or look up rows from your feeds over REST.

Schema reference →
Features
Continuum Sink Postgres, ClickHouse, MySQL One schema, every chain Filter by contract, wallet, range Your own SQL
your-db · feeds.token_transfers
topic tokenTransfers chain 0x1 from 23,811,200 to 23,811,260 wallet 0x3f5c…9a21

            
61 blocks · 1,204 rows loaded by Continuum Sink
Replay & Backfill

Full history on day one, without re-indexing a single block.

Point a consumer at any position in history and it receives every event from there, in the original order, in today's schema. A new product backfills from genesis the same way it reads the head. Add a derived topic later and replay it over years in minutes.

Backfill guide →
Features
From any position Same order as live No RPC re-fetch Kafka offsets map to positions Idempotent
replay · tokenSwaps · base ▶ 48,200 ev/s
genesisposition 0 cursor3,120,940,112 headlive
from 3,120,000,000 same schema · same order
Any chain

40+ chains out of the box. Any other from your RPC.

Every major EVM chain, plus Solana, Bitcoin, Stellar and Hyperliquid, from one engine. For anything else, give Data Feeds an RPC endpoint and it indexes it like any other. A new chain is a config change, not a project.

feeds chains add --name my-rollup --family evm --rpc https://rpc.my-rollup.xyz
Universal schema

Every chain kept in full. Every event in one schema.

Data Feeds records each chain's native block exactly as the chain produced it, then maps every event into one universal schema of 19 topics. Hover a universal field to see where it came from.

Native block as Ethereum produced it
Universal schema tokenTransfers · same on every chain

Chain-specific fields stay available in the native record. The universal record carries the same field names and types on EVM, Solana, Bitcoin, Stellar and Hyperliquid, so one code path handles every chain.

Topics

19 feeds. Subscribe to the ones you need.

Every topic is its own ordered stream on every chain. Subscribe to a topic, filter by contract or wallet, and load it straight into your database. Click to build a subscription.

3 topics subscribed ~2,140 ev/s on Ethereum

        Create subscription
      

Chain data, straight into your database.

Most teams run six systems to get chain data into their product. Data Feeds replaces the indexing half and loads straight into the database you already run.

Before a typical indexing stack
Sources
RPC nodes × chains Node ops
Index
Custom indexer ABI decoders Reorg handler Backfill jobs
Store
Postgres Redis cache
Move
Airflow ETL Kafka
Watch
Prometheus Grafana On-call
2–4 data engineers rebuilt per chain
After Moralis Data Feeds
Moralis Data Feeds record · query · replay · correct · verify
Load
Continuum Sink
Stream
Kafka
Look up
REST
You keep
Postgres ClickHouseMySQLYour SQL and dashboards
The one line
docker run moralisweb3/continuum-sink
Who it's for

For teams that can't afford to be wrong.

Data Feeds is the engine for products where chain data is the product: it has to be complete, in order, and defensible when someone asks how a number was produced.

Engineering teams that need an engine

You were about to build an indexer: nodes, decoders, reorg handling, backfill jobs. Take the engine instead, keep your schema and your stack, and add chains by config.

Any chain via RPC Into your own database Kafka-native

Wallets & exchanges

Balances, history and prices for millions of users across every chain they hold, with pre and post balances on every transfer so a portfolio is a sum, not a reconstruction.

Banks & fintechs

Stablecoin settlement, tokenised assets and on-chain payments need a ledger-grade record: ordered, corrected in the open, and provable to an auditor or a regulator.

Corrections as records Offline verifier SOC 2 Type II

Institutions & custodians

Custody, treasury, market-making and compliance teams that run their own infrastructure and need the data delivered into it, not an API to poll.

Build vs buy

Running your own indexer costs more than you think.

Nodes, decoders, reorg handling, backfills, a team to keep it running, and a rebuild every time you add a chain. We priced it line by line.

$4,000a month per chain, before a line of product
2–4data engineers to keep it running
1 rebuildevery time you add a chain
Pricing

One plan. Pay for the data you use.

$10 a month with 10 GB of data included, then $1 per GB, live or history. Talk to us when you need a large volume at a lower rate, dedicated throughput or an SLA.

Data Feeds
$10/month
10 GB included, then $1 per GB
  • Every supported chain
  • All 19 topic types
  • Full history
  • Into Postgres, ClickHouse or MySQL with Continuum Sink
  • Or consume over Kafka or REST
Get started
Custom
Talk to us
For high volume and production SLAs
  • Large data volumes at a lower rate
  • Committed-use pricing
  • Dedicated throughput
  • SLA and direct engineering access
Contact sales

SOC 2 Type II.

Compare and migrate

How Data Feeds compares.

The Graph, Goldsky, Envio, SQD and Ponder work at the application layer, and each is good at something. Data Feeds is the storage and streaming layer underneath, with one schema across chains and your data in your own stack.

Indexer Best at Where your data lives Reorgs Schema change Chains Envio benchmark
events / s
Migrate
Moralis Data Feeds Ordered, multi-chain data inside your own stack Your own stack: Postgres, ClickHouse or MySQL via Continuum Sink, or Kafka Atomic, at the storage layer Add a derived topic, replay from history EVM, Solana, Bitcoin, Stellar, Hyperliquid, your RPC 106,662 –
The Graph The Graph Largest subgraph ecosystem, decentralised indexing Postgres behind their query layer Handler concern Full reindex Multi-chain – Migration guide →
Goldsky Goldsky Managed subgraph hosting with little DevOps Goldsky infrastructure Eventual consistency Re-run the pipeline Multi-chain – Migration guide →
Envio Envio Fast EVM backfill, TypeScript handlers Your database Handler logic Full reindex from RPC EVM 9,984 Migration guide →
SQD SQD Portal queries and squid processors Your database Handler logic Re-run processors Multi-chain 1,627 Migration guide →
Ponder Ponder Developer experience for small and mid EVM projects Postgres Handler logic Full reindex from RPC EVM 44 Migration guide →

Benchmark: Envio's open indexer benchmark, Rocket Pool ERC-20 transfers on Ethereum mainnet from block 18,600,000. SubQuery measured 22 events/s. Read the full comparison →

Already indexing somewhere else? Bring it with you.

Point the migration tool at your existing project. It reads your config, generates the equivalent Data Feeds subscription, hands the parts that need a handler to the agent in your editor, and then replays the same block range to prove the result matches what you had.

CLI and MCP server Coverage report before you commit Replay-verified Your handlers, ported in your editor

Custom indexer, raw RPC or an in-house pipeline? Talk to engineering and we'll map it with you.

npx feeds-migrate ./my-subgraph
→ detected The Graph subgraph · 3 contracts · 11 events
→ 92% of events map to topics · 1 handler to port
→ generated feeds.subscription.yaml
→ verify: replayed 120,000 blocks · 0 mismatches
Start building

What do you want to build with Data Feeds?

Enter to send · Shift + Enter for a new line
Live and historical, one stream 19 decoded topics Delivered into your own stack

Connect with our team

Get the power, customization you need to power your blockchain projects.