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 370 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 1.7× to 219×.

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

NetworkHeadline / cumulativeCurrently live RatioNot liveSource
Titan Network
TITAN
2,992,851
total_node_count
13,666
online_node_count
219.0× 99.54% check it yourself →
Titan publishes the ratio itself as t_node_online_ratio.
Sia
SC
87,134
totalHosts
534
activeHosts
163.2× 99.39% totalHosts →
activeHosts →
Two endpoints of the same public API. The block payload also carries 3,565,678 failed contracts against 1,624,472 successful — 69% of all Sia storage contracts have failed.
Storj (us1 satellite)
STORJ
124,372
total_nodes
31,170
active_nodes
4.0× 74.94% check it yourself →
The same payload also carries disqualified, exited, offline and suspended counts, which sum exactly to the total.
io.net
IO
2,471
total
1,495
active
1.7× 39.50% 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 366 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,992,851, online_node_count ≈ 13,666
curl -s https://test1.titannet.io/api/v2/get_index_info
# SC — expect totalHosts ≈ 87,134
curl -s https://api.siascan.com/metrics/block
# SC — expect activeHosts ≈ 534
curl -s https://api.siascan.com/metrics/host
# STORJ — expect total_nodes ≈ 124,372, active_nodes ≈ 31,170
curl -s https://stats.storjshare.io/nodes.json
# IO — expect total ≈ 2,471, active ≈ 1,495
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.

Buy the rest of it

This page is 4 networks because 4 are all that publish both figures in public. We hold first-party supply telemetry — node counts, capacity, utilisation — for 168 networks, read from each network's own endpoint, every value carrying source, as_of and a verify_url. Three ways in, cheapest first, and none of them is a contact form.

# 1 · free key. $5 in credits on signup — no card, no human. Limit 3 per originating IP per 30 days; past that a new key is created at $0 and says so.
curl -sX POST https://kairossignal.com/v1/credits/register \
  -H 'Content-Type: application/json' -d '{"agent_name":"your-agent"}'

# 2 · the full first-party supply snapshot
#     $0.49 — full 168-network first-party supply snapshot (free tier rotates a 40-network window). Node counts, GPU capacity, utilisation, every value verify-stamped.
curl -sX POST https://kairossignal.com/v1/credits/purchase \
  -H 'X-API-Key: YOUR_KEY' -H 'Content-Type: application/json' \
  -d '{"product_key":"depin_provenance"}'
#     delivery is inline in the response; the receipt carries the SHA-256 of
#     exactly what shipped, and a curl that re-reads the receipt with your key

No account, no crypto, no agent: $4.99 (posts as $4.99 API credits, $1 = 1 credit) — API credits by card, not a dataset: a key holding the credits is provisioned at checkout, for any product, e.g. depin_provenance ($0.49), the 168-network first-party supply snapshot. redirect auto-provisions your key; GET /v1/credits/by_session?session_id=<id> if you lose it

Every network, every day: $199/mo — full network breadth, 30-day daily history, active engines and cross-network views; Watchtower, exports and webhooks excluded, rate locked for the life of the subscription. Pay: https://buy.stripe.com/dRm00b9zT81o5a50Na1ZS20

API documentation · Pricing · Live network list