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 317 networks we currently hold live data for, 5 are verified here as publishing both a cumulative total and a currently-live count on public endpoints that need no key. Where both exist, they diverge by 1.2× to 225×.
Generated 2026-10-30T07:38:13Z · every row re-fetched from the network's own API during generation
| Network | Headline / cumulative | Currently live | Ratio | Not live | Source |
|---|---|---|---|---|---|
| Titan Network TITAN |
2,993,345 total_node_count |
13,285 online_node_count |
225.3× | 99.56% | check it yourself →
Titan publishes the ratio itself as t_node_online_ratio. |
| Sia SC |
87,155 totalHosts |
526 activeHosts |
165.7× | 99.40% | totalHosts → activeHosts → Two endpoints of the same public API. The block payload also carries 3,565,796 failed contracts against 1,634,762 successful — 69% of all Sia storage contracts have failed. |
| ThreeFold Grid TFT |
7,506 nodes |
392 nodes (status=up) |
19.1× | 94.78% | nodes → nodes (status=up) → Two queries of the same public endpoint: /stats counts every registered node, /stats?status=up only the nodes that are up now. |
| Storj (us1 satellite) STORJ |
124,728 total_nodes |
31,019 active_nodes |
4.0× | 75.13% | check it yourself →
The same payload also carries disqualified, exited, offline and suspended counts, which sum exactly to the total. |
| io.net IO |
1,820 total |
1,566 active |
1.2× | 13.96% | check it yourself →
Devices, not nodes — io.net's unit is a GPU device. The same payload breaks both figures down per GPU model. |
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. For the other
312 networks we track, this page shows no pair: either we have
not found both figures published, or we have not yet verified the pair at source. Where a
network publishes a single count, the question cannot be asked from public data at all —
which is not an accusation against it either, just the shape of what is available.
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,993,345, online_node_count ≈ 13,285 curl -s 'https://test1.titannet.io/api/v2/get_index_info' # SC — expect totalHosts ≈ 87,155 curl -s 'https://api.siascan.com/metrics/block' # SC — expect activeHosts ≈ 526 curl -s 'https://api.siascan.com/metrics/host' # TFT — expect nodes ≈ 7,506 curl -s 'https://gridproxy.grid.tf/stats' # TFT — expect nodes (status=up) ≈ 392 curl -s 'https://gridproxy.grid.tf/stats?status=up' # STORJ — expect total_nodes ≈ 124,728, active_nodes ≈ 31,019 curl -s 'https://stats.storjshare.io/nodes.json' # IO — expect total ≈ 1,820, active ≈ 1,566 curl -s 'https://api.io.solutions/v1/io-explorer/network/inventory-aggregated'
Kairos Signal carries both numbers for every network on this page, with
source, as_of and a verify_url on each value.
Nothing is estimated, back-filled or zero-filled: a value that has stopped updating is
returned flagged stale, and a metric with no verified value is omitted, never reported as
zero. That is the entire product, and this page is the smallest
honest demonstration of it.
This page is 5 networks because those are the 5 whose published total and live
counts we have verified at source; a network is added only when its pair reproduces the same way.
We hold first-party supply telemetry for 146 in-scope
networks, read from each network's own endpoint or chain: node counts, capacity and
utilisation where a network publishes them, while most carry only token-contract reads
such as total supply and holders. Every value carries source,
as_of and a verify_url; withheld or stale series are listed
under withheld_not_live, never served.
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 first-party supply snapshot (every in-scope network /v1/supply serves)
# $0.49 — 146-network first-party supply snapshot: every in-scope DePIN network /v1/supply serves (the free tier rotates a 40-network window). Infrastructure series (node counts, capacity, utilisation, chain state) only where a network publishes them; for most networks the only series are token supply and holder counts read from the token contract. Every value carries verify_yourself and as_of (as_of_basis says whose clock). Series under a quality incident or not read in 26 h are listed under withheld_not_live, symbols ruled out of DePIN scope under excluded_by_scope. DefiLlama figures are not in this SKU.
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 146-network first-party supply snapshot. the checkout redirect shows your key (that is the first retrieval). GET /v1/credits/by_session?session_id=<id> serves it again only from the same IP address within 30 minutes of that first retrieval; after that the link does not serve the key: email [email protected] with the session id and a human re-issues 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