The node count you quote is not the node count that is running.

A DePIN network's node count is the number that ends up in research notes, token models and sector dashboards. Usually it arrives as one integer with nothing to compare it against. Of the 372 networks we currently hold live data for, 4 publish both a cumulative total and a currently-live count on public endpoints that need no key. Where both exist, they diverge by 2.4× to 214×.

Generated 2026-09-14T07:38:07Z · every row re-fetched from the network's own API during generation

NetworkHeadline / cumulativeCurrently live RatioNot liveSource
Titan Network
TITAN
2,991,926
total_node_count
13,950
online_node_count
214.5× 99.53% check it yourself →
Titan publishes the ratio itself as t_node_online_ratio.
Sia
SC
87,078
totalHosts
520
activeHosts
167.5× 99.40% totalHosts →
activeHosts →
Two endpoints of the same public API. The block payload also carries 3,564,634 failed contracts against 1,609,732 successful — 69% of all Sia storage contracts have failed.
Storj (us1 satellite)
STORJ
123,816
total_nodes
32,494
active_nodes
3.8× 73.76% check it yourself →
The same payload also carries disqualified, exited, offline and suspended counts, which sum exactly to the total.
io.net
IO
2,551
total
1,078
active
2.4× 57.74% check it yourself →
Devices, not nodes — io.net's unit is a GPU device. The same payload breaks both figures down per GPU model.

Nobody here is being caught out

Every number above is published by the network itself, on an endpoint that needs no key and no account. Titan even publishes the ratio directly, as t_node_online_ratio. These operators are the transparent end of the market — they are legible precisely because they ship both figures.

The gap opens one hop downstream. An aggregator that carries total_nodes and drops active_nodes destroys the distinction, and from there the larger number travels alone. The other 368 networks we track publish a single count, so for those the question cannot be asked at all from public data — which is not an accusation against them either, just the shape of what is available.

Check every row without taking our word for it

No key, no account, no Kairos in the path. If a value below disagrees with what we publish, we are the stale one — tell us and we will publish the correction with the timestamp of the miss.

# TITAN — expect total_node_count ≈ 2,991,926, online_node_count ≈ 13,950
curl -s https://test1.titannet.io/api/v2/get_index_info
# SC — expect totalHosts ≈ 87,078
curl -s https://api.siascan.com/metrics/block
# SC — expect activeHosts ≈ 520
curl -s https://api.siascan.com/metrics/host
# STORJ — expect total_nodes ≈ 123,816, active_nodes ≈ 32,494
curl -s https://stats.storjshare.io/nodes.json
# IO — expect total ≈ 2,551, active ≈ 1,078
curl -s https://api.io.solutions/v1/io-explorer/network/inventory-aggregated

Why this page exists

Kairos Signal carries both numbers, on every network where both exist, with source, as_of and a verify_url on each value. Nothing is estimated, back-filled or zero-filled: a metric that stops flowing goes absent, never to zero. That is the entire product, and this page is the smallest honest demonstration of it.

API documentation · Pricing · Live network list