The one idea
The legacy endpoint is a finished dish. A Data Feed is the ingredients, the same onchain facts, plus live prices, ready for you to plate however you like (or let a recipe plate them for you).That’s a feature, not a compromise: you get the underlying data, in real time, with no per-call limits and full control over shape, storage, and queries.
How values compare
Every migration guide classifies each field into one of these, so there are no surprises:| Class | What it means | Examples |
|---|---|---|
| Exact | Comes straight from the chain, identical to the endpoint | balances, transfers, token name/symbol/decimals, supply |
| Calculated | Computed from the feed (often from live DEX trades). Tracks the endpoint closely; compare with a small tolerance rather than expecting penny-for-penny equality | USD price, USD value, portfolio %, 24-hour change |
| Yours to control | The feed gives you everything; you apply your own rules. A gain in control, not a gap | spam/dust filtering, which rows count as a “holding” |
| Add yourself | Off-chain signals that aren’t part of onchain data, so they aren’t in the feed | token logo/thumbnail, spam/verified labels, security score |
Why these differences exist
- Prices come from real onchain trades. Data Feeds derive USD values from DEX activity in the data lake, so they’re live and verifiable, and may differ slightly from the legacy pricing engine. A token that hasn’t traded recently may not have a price yet.
- Off-chain signals live off-chain. Logos, spam/verification labels, and security scores are curation Moralis layers on top of the chain. They aren’t onchain facts, so they aren’t in a feed. Bring your own source (e.g. a public token list), or layer them in alongside your Data Feeds tables.
- You own the filtering. The legacy endpoint bakes in choices (which tokens to include, spam rules); with a feed those choices are yours, so you can match your product exactly.
Adding the off-chain extras
When you need logos, spam/verification, or security scores, you have options:- Skip them if your app doesn’t use them.
- Bring your own source, a public token list for logos, or your own allow/deny lists.
- Layer them in from a dedicated metadata source alongside your Data Feeds tables.

