Demos Network OracleDNO as of 11:14:57 UTC

DEMOS NETWORK ORACLE

Independent · not an official Demos product

Observe. Explain.

A watch-only public observability layer.

DNO mark: a broken metal ring, two nodes and a needle

This cycle

GET /organism, GET /health/first read in progress

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

GET /health

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.

  1. ACTIVE on chain

    reading

    Rows with status ACTIVE, when at least two public seeds return the same list.

  2. answered as that key

    reading

    DNO dials the address each published on chain; the answer names the same key.

  3. at the seeds' height

    reading

    That answer's own height within ±25 blocks of the seeds' median, the band the seeds' agreement uses.

  4. every round, last hour

    reading

    Answered as that key at the seeds' height in every counted round of the last 60 minutes.

How the reading is formed

GET /health, GET /organism

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

GET /health

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

Each configured seed against the median

the seed's own height its first listed peer's height, not counted

Last 24 hours

GET /organism

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

GET /health

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.

Each row is shown as discovered- plus the last 4 characters of its identity, in hex order.

  • 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

Probed seeds: rows with monitored true in GET /health
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

GET /organism, GET /incidents?scope=public&status=active

reading

    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, not ACTIVE.
    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

    ok degraded dormant failing
    a node's own GET /health. DNO does not read it.
    ACTIVE UNSTAKING EXITED
    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.