Verification Is a Chain, Not a Single Check
Verifying a DePIN data point is a chain of independent checks, each closing a different trust gap. Starting from the value you were served, the chain runs:
verify_url — is the number actually what the source says?Do all three and you have independently verified the value — no trust in the intermediary required.
Step 1: Check the verify_url
Every value carries a verify_url pointing at its upstream source. Pull a value, open the URL, and confirm the number matches.
# Pull a value with its receipt
curl "https://api.kairossignal.com/v1/networks/akash?fields=gpu_active" \
-H "Authorization: Bearer *"
Inspect provenance for a specific value
curl "https://api.kairossignal.com/v1/verify/{value_id}"
The response includes source (where it came from), as_of (when it was read), and freshness_verdict (fresh, stale, or missing). If the source disagrees with what you were served, that's a red flag. If the freshness verdict is stale, treat the value as historical, not current.
Step 2: Check the Merkle Root
A verify_url proves source but not integrity. To confirm a batch wasn't altered, each daily batch is hashed into a single Merkle root. You can recompute the root from the served values and confirm it matches the anchored root — change any value and the recomputed root won't match. This proves the batch is intact.
Step 3: Check the Bitcoin Timestamp
The Merkle root alone doesn't prove when the batch was created — a consistent batch could be backdated. To close that gap, each root is timestamped to the Bitcoin blockchain via OpenTimestamps. The Bitcoin timestamp is a tamper-evident, decentralized proof that the batch existed at a specific time. Once anchored, it cannot be backdated or restated without detection.
The Full Verification Chain
# 1. Pull the value and its verify_url
curl "https://api.kairossignal.com/v1/networks/akash?fields=gpu_active" \
-H "Authorization: Bearer *"
2. Open the verify_url, confirm the source value
3. Inspect provenance (Merkle root + anchor reference)
curl "https://api.kairossignal.com/v1/verify/{value_id}"
If all three checks pass, the value is: source-confirmed, intact, and provably present at a point in time. That is the strongest verification available for a data point without trusting the provider.
A Worked End-to-End Verification
You're building a model on 30 days of Akash gpu_active. For each daily value: (1) you already have the verify_url in the response — open it and confirm the source; (2) you recompute the Merkle root from that day's batch and match it to the anchored root; (3) you confirm the Bitcoin timestamp predates today, so the batch wasn't created retroactively. Every value in your training set is now independently verified — source, integrity, and time.
Why Verification Matters for DePIN
DePIN is a market built on numbers — node counts, supply, utilization, fees — and it's a market where unverified numbers quietly propagate. Restated supply figures and inflated node counts are the norm. Verification is the correction: any value you act on can be checked against its source, its batch, and its timestamp.
Agents Verify Programmatically
Autonomous agents encode verification into policy: fetch the verify_url, confirm the value, only then act. Combined with the Merkle root and Bitcoin timestamp, an agent has cryptographic guarantees it can rely on automatically. See Autonomous Agent Data.
FAQ
What does the verify_url prove? Where a value came from — the source. It's the first link in the verification chain. Why check the Merkle root too? It proves the batch wasn't altered. A verify_url alone can't tell you whether a historical value was restated. Why the Bitcoin timestamp? It proves when the batch existed, closing the backdating gap. All three together give the strongest trust-free verification. Read the docs → · Get a free key →The Cost of Skipping a Layer
It's tempting to verify only the verify_url and stop — the source matches, so the data must be good. But that leaves two gaps. Without the Merkle root, a historical value could be restated silently and still match a current source. Without the Bitcoin timestamp, a consistent batch could be backdated. Each layer plugs a hole the others leave open, and skipping one creates a specific, predictable vulnerability. Verification is only complete when all three are checked.
Making Verification Continuous
The good news is that all three checks are automatable. A script or agent can fetch the value, open the verify_url, recompute the Merkle root, and check the Bitcoin timestamp — every time, without a human. That turns verification from a manual audit into a continuous process that runs alongside your consumption. In an era of automated decisions on DePIN data, continuous verification isn't optional; it's the baseline.
Read more: DePIN verify_url · Merkle Root Data Integrity · DePIN Data Provenance
---
This is a data product. Kairos Signal publishes no trading signals, performance returns, win rates, or accuracy claims.---
Try it yourself
Query the live catalog, supply telemetry, and provenance receipts directly: /v1/supply, /v1/provenance on the REST API.
Related reading: DePIN Intelligence guide · DePIN network data: 327 networks, 69 sources · how we read supply telemetry from 296 networks · the DePIN developer guide
17 of 20 design-partner seats remain at a lifetime-locked $199/mo (full API access, all 19 endpoints, MCP server, Bitcoin-anchored provenance). After seat 20 the price becomes $249/mo. Claim a design-partner seat → · See pricing---
Get Started With DePIN Intelligence
Kairos Signal provides verifiable, provenance-first telemetry for 327 DePIN networks — 296 with first-party supply data read directly from each network's own API or blockchain. Every value carries a verify_url you can check yourself, and each daily batch is Merkle-rooted and anchored to Bitcoin.
Every API response is signed with ed25519 and timestamped. You can prove what was served and when, months later. That is what we mean by provenance-first.
Related reading: DePIN Intelligence Guide · DePIN Telemetry · How to Query DePIN Data · DePIN Data Verification · Pricing