DEMOS NETWORK ORACLE
Independent · not an official Demos product
Observe. Explain.
A watch-only public observability layer.
This cycle
Status
UNKNOWN
ACTIVE on chain: not reported this cycle (fewer than two public seeds returned a validator list).
1 of 3 configured seeds answered. Heights were not compared. Status is unknown.
25 peer-listed · find a node
Network observability is limited. Fewer than two probed seeds reported their own block height and no validator stood in for the missing one, or the observation is stale or not made yet. Public assessment is unknown. Peer-listed identities do not enter status.
trend
unknown
risk
elevated
Only 1 of 3 public nodes answered — limited cross-checking
confidence
uncertain
No cross-check: fewer than 2 public nodes answered
data quality
insufficient
fewer than 2 seeds answered
Not operated by Kynesys. Path A is three public Kynesys /info URLs, one org. Anyone can read those URLs; the rules that turn their answers into status are on /methodology.
LIVE is DNO's own freshness. Status is what the public endpoints showed this cycle. Neither is a score or a go/no-go.
Validators on chain
The on-chain validators table as the public seeds list it, and what DNO saw when it dialed the address each ACTIVE validator published on chain. Four counts, each inside the one above. Never added to the seed or peer-listed counts. In status only when fewer than two seeds give their own height: up to 8 of them, kept as candidates, are then read in a seed's place.
-
ACTIVE on chainone read
reading
Rows with status ACTIVE, when at least two public seeds return the same list.
-
answered as that key
reading
DNO dials the address each published on chain; the answer names the same key.
-
at the seeds' height
reading
That answer's own height within ±25 blocks of the seeds' median, the band the seeds' agreement uses.
-
every round, last hour
reading
Answered as that key at the seeds' height in every counted round of the last 60 minutes.
Each ACTIVE row, this round
readingACTIVE
First counted on an agreed getValidators list. Not the catalog. Not a census.
How the reading is formed
DNO reads five kinds of input. Status is made of the public seeds. When fewer than two of them give their own height, validators that answer as listed stand in. Select a path.
Agreement
Agreement among the heights DNO compared this cycle: the seeds' own; when validators stand in, one seed's and its closest validator's, or the validators' alone. Not a count of the network.
agreement
unknown
aligned / compared heights
reading
block spread
reading
median block
reading
the seed's own height its first listed peer's height, not counted
Last 24 hours
Aggregate observation from the most recent 24 hours of probe cycles. Public-network only.
last 24 hours
reading
A height that stops is reported as observed. Cause is not known from here.
Two populations
Peer-listed identities and probed seeds are separate populations. Their counts are never added together.
Peer-listed identitiesnot dialed
Identities listed on the public seeds' peerlists. DNO keeps one after two public peerlists have listed it, and records when it was first counted and last listed.
readingkept
Retained catalog. Not a census.
Listed by how many of the public peerlists read, latest crawl
A count of lists, not a count of the network.
After the 1.1 update this count dropped once: rows DNO recorded from its own node stay hidden until two public peerlists have listed them. That is not nodes leaving.
Accepts a full public key, its first characters (0x…), a truncated key (0xabcd…1234) or the last characters of a discovered- name. Matching runs in this page. Nothing typed here is sent anywhere unless you press Check the full key, which sends that key to /catalog/lookup.
Sends this key to GET /catalog/lookup for an exact match.
Each row is shown as discovered- plus the last 4 characters of its identity, in hex order. Select a row for what public peerlists reported about it.
- Awaiting first reading of /health.
Peer-listed identities from the public seeds. Not dialed. Not the on-chain validators table. Not a census of Demos beta.
Probed seedsdialed every cycle
The endpoints status is made of. When fewer than two give their own height, validators that answer as listed stand in for the missing one. Status does not use the catalog. Names are the Kynesys URLs DNO dials.
seeds answered
reading
within 100 blocks of the highest seed
reading
configured seeds
reading
| Seed | Source | Probe | Identity | Block | Latency | Uptime (obs.) |
|---|---|---|---|---|---|---|
| Awaiting first reading of /health. | ||||||
Uptime (obs.) is DNO's own observation over seven days, not a promise. Latency is this cycle's probe. Identity compares the key a seed reports about itself with the key DNO has configured for that URL.
Incidents
reading
reading
DNO opens a condition record when its own reading stays unknown, degraded or unstable for several consecutive cycles, and closes it once the reading recovers. Condition records are listed on /incidents with kind "condition" and on the timeline. They are not counted as incidents and do not enter status.
API
Every endpoint is public, read-only JSON, served with CORS for any origin. Pick one: the snippet and the request follow it.
GET /organism: the JSON an agent gets
What this reading cannot see
- Who is in the shard, or who the secretary is.
- Vote counts, any validator's stake, official admission, or any private vantage.
- Whether peer-listed identities answer. They were not dialed.
- Why a validator did not answer DNO. No answer from here does not change its row on chain.
- What stands behind a published address that several keys share. Its answer names one key.
- Whether the chain stopped, or only the nodes DNO reads did. The three seeds are public URLs of one organization.
- Who runs a validator that stands in for a seed: DNO does not check. One within 25 blocks of the seed's height is enough for a reading; with no seed, two that agree are, when they are more than half of those that gave a height.
- Whether two nodes at the same height hold the same block. Heights are compared; block hashes are not.
- Blocks and transactions are on the chain explorer. This page is the public reading from named seeds, and from validators that stand in for them.
- Why height stopped. A designed pause and a fault look the same from here.
How the reading is made
- MethodologyWhat DNO reads, how each state is derived, and where the observation stops.
- About DemosWhat the Demos docs say about validators, shards and a node's own health, and what DNO sees of each.
- SourcesThe seeds and validators read each cycle, and the deterministic rules that combine them.
- AgentHow software agents consume the API.
- ReferenceThe fixnet probe and the peer-listed identities, in two tables.
Whose word is it
DNO's words describe what it saw from outside. Demos uses its own words for a node's health and a validator's status. DNO counts validator statuses as the public seeds list them; it does not see a node's own health.
DNO's words · seen from outside
stable- this cycle's reading of the public seeds, or of the validators standing in for them, while DNO has not counted 30 minutes without a new height. Not
ok, notACTIVE. strong- every height compared sits within ±25 blocks of the median, and the spread is at most 20 blocks.
sufficient- at least two seeds reported their own height, or validators that answer as listed stood in for the missing one, and the observation is at most 300 s old. It describes DNO's vantage, not the network.
- peer-reported
- what a public peerlist said. Never confirmed by DNO.
- at the seeds' height
- a validator's own height, in its answer to DNO, within ±25 blocks of the seeds' median. Not Demos' sync check.
- stands in
- a validator that answered as the key the validators list holds, read in the place of a seed that gave no height. It can count with a seed. It cannot count against one.
- first counted
- on DNO's own clock. A peer-listed identity: when a public peerlist first listed it, once a second has. An ACTIVE key: the first agreed validators list that showed it. Not the chain's
firstSeen.
Demos' words · not DNO's
okdegradeddormantfailing- a node's own GET /health. DNO does not read it.
ACTIVEUNSTAKINGEXITED- a row in the on-chain validators table. DNO counts ACTIVE and UNSTAKING rows as two public seeds list them; EXITED rows are not in that list. It decides none of them.
- out of sync
- consensus Phase 1: a validator skipped from shard composition for those blocks. Not slashing. DNO does not see it.
Sources and the full table: About Demos.