Data sources and freshness
Where the numbers come from and how current they are.
The four sources
| Source | Provides |
|---|---|
| The chain, over RPC | Pool state, balances, allowances, ownership, receipts. |
| The indexer | Historical events folded into positions, pool metrics and the 7-day windows the score needs. |
| Chainlink feeds | USD marks for valuation, with their own publication timestamps. |
| Market session state | Whether the underlying equity market is open, which decides whether a feed should be updating at all. |
How freshness is decided
A feed publishes a heartbeat, but a heartbeat is the publisher’s staleness contract, not a promise that any price inside it is economically current. Freshness therefore combines four independent inputs: the published heartbeat, the feed’s deviation-update behaviour, the market-session state, and how old this specific round actually is.
The verdict is one of fresh, delayed or stale, and it carries the rule that decided it so the interface can always say why. A mark that is not usable causes a refusal to value, never an estimate.
Market sessions
Tokenized equities trade on-chain continuously; their underlying feeds do not. The session classifier works in America/New_York and distinguishes overnight, pre-market, regular, after-hours and closed, including a maintained holiday calendar.
Indexer coverage
Coverage is tracked as the fraction of the trailing 7-day window actually indexed, and it feeds the confidence level on every score. Under 50% coverage forces low confidence regardless of how many components computed successfully. Yield Score and Risk Grade
