KAIROS Signal Customer Technical Manual
The comprehensive, verifiable dataset for decentralized physical infrastructure networks (DePIN). Every value is measured live, every value carries proof. Delivered over REST, MCP, and A2A — this manual documents the full API surface, pricing, and provenance model.
Primary delivery: REST API (HTTP/JSON)
Agent delivery: MCP server + A2A agent card
Version: v1
Updated: 2026-08-25
What KAIROS measures
KAIROS Signal tracks the operating health, supply, revenue, and market position of decentralized physical infrastructure networks across every major blockchain. We do not guess, model, or interpolate. We read the network's own telemetry, chain state, and markets — and we show you the receipts.
Of the 727 networks we have cataloged, 372 currently return live data. Of those, 295 are served by first-party telemetry read directly from the network's own API or chain and 77 are on-chain market only. We maintain 11,127 live time series sourced from 134 distinct upstream sources, stored in 4,443,209 rows in ClickHouse.
Coverage & Scale
| Metric | Value | Meaning |
|---|---|---|
networks_live | 372 | Networks with live telemetry flowing today |
first_party | 295 | Networks read from their own API or chain |
market_only | 77 | Networks with on-chain market data only |
catalog_only | 224 | Cataloged but no live data yet |
catalog_total | 727 | Total cataloged networks |
live_series | 11,127 | Individual live time series |
data_sources | 134 | Distinct upstream data sources |
rows_clickhouse | 665K | Rows in our ClickHouse store |
endpoints | 19 | Live REST API endpoints |
Quick Start
The fastest path: hit a public endpoint, no key required. The network list, a single network's
detail, first-party supply, and the source registry are all free to browse — no registration,
no card. Networks are addressed by their canonical ticker (Helium is HNT, not
HELIUM); an unknown symbol returns 404. On the free tier
/v1/networks returns a sample of the catalog rather than all of it — the
response carries n_networks_shown and n_networks so you can see
which — while /v1/network/<SYM> resolves any catalogued symbol,
sampled or not.
CURL — Health Checkcurl https://api.kairossignal.com/health
CURL — Network List (no key)curl https://api.kairossignal.com/v1/networks
CURL — Single Network (no key)curl https://api.kairossignal.com/v1/network/HNT
CURL — With API Keycurl -H "X-API-Key: your_key_here" \
https://api.kairossignal.com/v1/signals
Without a key that last one answers 402 Payment Required with a JSON body telling
you what unlocks it — that is the expected, documented behaviour, not a failure.
https://kairossignal.com
(e.g. https://kairossignal.com/v1/networks). Use whichever fits your network policy.
Base URL & Versioning
| Channel | Base URL | Notes |
|---|---|---|
| REST (primary) | https://api.kairossignal.com | Versioned under /v1 |
| REST (proxy) | https://kairossignal.com | Same endpoints |
| Engines (paid) | https://api.kairossignal.com (same host, no port suffix) | Node-quality, sector-health, bot-detection, competitive-landscape, gpu-supply-demand — all under /v1/ |
| MCP server | https://kairossignal.com/mcp/ | 10 tools, agent-ready |
| A2A agent card | https://a2a.kairossignal.com/.well-known/agent-card.json | Agent-to-Agent discovery |
| DAG Manifold API | https://dag.kairossignal.com | Correlation/analytics manifold |
Versioning is path-based (/v1/...). Breaking changes ship under a new major version
(/v2/...) with a documented migration window. Minor additive changes (new fields) do
not bump the version.
Authentication
Authentication uses a single API key passed in the X-API-Key header.
Keys are issued by POST /v1/credits/register or via Stripe checkout
(GET /v1/credits is not a route; it returns 404 with the list of the
five real /v1/credits/* routes). There is no OAuth and no session
tokens, and you do not sign your requests — the key alone authenticates you. Responses are a
different matter: every /v1/ response we serve is ed25519-signed, so you hold a
verifiable receipt of what we returned and when. See Response receipts below.
Authentication is not authorisation. The key identifies you; what it can reach depends on your tier, and these are two separate systems. Verified end to end on 2026-09-13:
- Keyless. The browsing surfaces —
/v1/networks,/v1/network/<SYM>,/v1/supply,/v1/market,/v1/revenue,/v1/provenance,/v1/history,/v1/attest— need no key and no account at all. - Credits. Registering grants free credits. You spend them with
POST /v1/credits/purchase, which ships a data product inline and debits your balance. Credits do not change your tier. Buying a $0.49 snapshot does not lift the gate on a tier-gated endpoint — the balance falls and the 402 stays. - Tier. The cross-network derived views —
/v1/signals,/v1/correlations,/v1/digest,/v1/grades,/v1/health-profile/<SYM>and the rest below — are unlocked by a subscription, not by credits. See pricing.
So the command below is an authentication example, not a working call for a newly registered
key: /v1/signals is tier-gated, and a fresh key receives 402 with a
how_to_unlock block naming the tier it needs. That is the expected response, not
a fault.
AUTH — API Keycurl -H "X-API-Key: ks_live_xxxxxxxxxxxxxxxx" \
https://api.kairossignal.com/v1/signals
Response receipts (ed25519)
Every GET against /v1/ returns three extra headers. They let you prove later
what this API served you — which a verify_url on its own cannot do, because an
upstream URL only shows you what the upstream says now.
| Header | Meaning |
|---|---|
X-Kairos-Signature | ed25519:<base64> over the response body and request path |
X-Kairos-Timestamp | RFC3339 UTC instant we served it |
X-Kairos-Signing-Key | URL of the public key that verifies the signature |
VERIFY A RECEIPTcurl -sS -D headers.txt -o body.json \
"https://api.kairossignal.com/v1/networks?limit=1"
curl -sS https://kairossignal.com/.well-known/kairos-signing-key.json
What this proves, and what it does not. The signature proves these bytes came from us, unaltered, at that timestamp — we are on the record for what we said. It does not prove the upstream network agreed with us at that moment. Note the signature is attached on GET; a HEAD request returns headers without it.
Key tiers & behavior
| Tier | Key required? | Free endpoints | Paid endpoints |
|---|---|---|---|
| Verify Free | No | /v1/networks, /v1/supply, /v1/provenance | 402 payment_required |
| Paid (Design Partner / Pro / Enterprise) | Yes | All free + paid | Full access |
402 payment_required with a message telling you how to upgrade. Public endpoints
(/v1/networks, /v1/supply, /v1/provenance) always respond
with or without a key.
CURL — Payment Required Responsecurl -i https://api.kairossignal.com/v1/signals
HTTP/1.1 402 Payment Required
Content-Type: application/json
{"error": "payment_required", "message": "Valid X-API-Key required for this endpoint",
"plan": "pro", "upgrade_url": "https://kairossignal.com/#access"}
Header reference
| Header | Required | Description |
|---|---|---|
X-API-Key | Paid endpoints | Your live API key |
Accept | No | application/json (default) |
Request budgets
Every tier has an exact daily request budget. These are the numbers the gate enforces — not guidance, and not rounded for the page.
| Tier | Requests / day | Counted against |
|---|---|---|
| Verify Free (no key) | 1,000 |
Your IP |
| Verify Free (free key) | 1,000 |
Your key |
| Design Partner | 100,000 |
Your key |
| Watchtower | 100,000 |
Your key |
| Pro | 500,000 |
Your key |
| Enterprise | 5,000,000 |
Your key |
Budgets reset at 00:00 UTC. Anonymous callers are counted per IP so the free tier cannot be farmed by omitting the key. There is no per-second or per-minute limit — the daily budget is the whole limit.
/health,
/try, /v1/world, /v1/brief and
/v1/key/by-session. Discovery, liveness checks and the
post-checkout key handover must never be the thing that 429s you.
Measured 2026-09-14: three /health calls and one
/v1/world moved the counter by 0; one
/v1/networks moved it by 1.
CURL — Budget Exhausted Responsecurl -i https://api.kairossignal.com/v1/changes -H "X-API-Key: $KAIROS_KEY"
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
{"error": "daily request quota exceeded", "tier_served": "pro",
"daily_limit": 500000, "resets": "00:00 UTC",
"upgrade": "https://kairossignal.com/pricing"}
requests_remaining_today is attached to the response body
on some — not all — counted endpoints, so you can
back off before you are cut off rather than after. Measured 2026-09-14:
present on /v1/networks and /v1/supply; absent on
/v1/provenance, /v1/compare and
/v1/digest. Do not build a client that depends on the field
being there. The 429 body always states your daily_limit.
Pricing & Tiers
| Tier | Price | What you get | Requests / day | Term |
|---|---|---|---|---|
| Verify Free | $0 | Browse /v1/networks, /v1/supply, /v1/provenance with verify_url |
1,000 |
Forever |
| Design Partner | $199/mo | Full API access at a rate locked for the life of the subscription | 100,000 |
Locked while active |
| Watchtower | $249/mo | Everything in Design Partner plus material-change detection across a 10-network watchlist and the weekly IC Pack | 100,000 |
Monthly |
| Pro | $499/mo | Full API + all 8 engines (node-quality, dilution-risk, gpu-supply-demand, sector-health, bot-detection, geo-concentration, dev-velocity, competitive-landscape) under /v1/, plus bulk CSV/NDJSON export |
500,000 |
Monthly |
| Enterprise | from $2,000/mo | Custom schemas, SLA, dedicated support, change webhooks | 5,000,000 |
Custom |
/v1/ and require a Pro (or higher) key. See the Engines
section for details.
verify_url back to the source
at zero cost.
Credits & Deposits
Beyond monthly plans, KAIROS runs a self-serve agent credit system. You purchase credits up front via Stripe, and credits are drawn against usage (especially for agent-facing workloads).
Payment rails
| Method | Detail |
|---|---|
| Card (Stripe) | Self-serve at checkout; issues API key immediately |
| USDC on Base | Requires a verified sending wallet, a current quote and a finalized transfer. Instructions and current availability. |
CURL — Product & Price List (no key)curl https://api.kairossignal.com/v1/credits/pricing
CURL — Check Your Balancecurl -H "X-API-Key: your_key" \
https://api.kairossignal.com/v1/credits/balance
Note the distinction in failure codes: /v1/credits/balance is about who you
are, so an unauthenticated call returns 401 Unauthorized. The metered data
endpoints are about what you have bought, so they return 402 Payment
Required instead.
Other billed services
| Service | Base URL | Billing |
|---|---|---|
| DAG Manifold API | https://dag.kairossignal.com | $99/mo per customer |
Endpoint Index
Base URL: https://api.kairossignal.com (or https://kairossignal.com).
None of these are "coming soon" — every one is implemented and answering today, with one
routing exception noted below.
How to read the Auth column. Free means the endpoint answers
200 with no key at all. Free (sampled) means the same, but an
anonymous call returns a rotating slice of the rows rather than the whole set — the response's
access block always tells you how many rows you got and how many were withheld.
Key means an anonymous call is refused with HTTP 402 Payment Required
and a JSON body explaining what unlocks it; it is never a silent empty result.
/v1/correlations/lead-lag is implemented and answers 402 on the
service itself, but the public host currently returns nginx 404 for that path.
Until that is routed, treat lead-lag as unreachable from outside. Every other endpoint in this
table was executed against the public host on 2026-09-13 and behaved as the Auth column says.
| # | Method | Endpoint | Description | Auth |
|---|---|---|---|---|
| 1 | GET | /health | API health check | — |
| 2 | GET | /v1/networks | Full network list with telemetry tiers | Free |
| 3 | GET | /v1/network/<SYM> | Single network detail | Free |
| 4 | GET | /v1/supply | First-party supply telemetry (scarce tier) | Free |
| 5 | GET | /v1/market | Price, mcap, volume (CoinGecko/DefiLlama) | Free (sampled) |
| 6 | GET | /v1/revenue | Protocol revenue / fees | Free (sampled) |
| 7 | GET | /v1/provenance | Source registry with verify_url per source | Free |
| 8 | GET | /v1/correlations | Cross-network correlation matrix | Key |
| 9 | GET | /v1/correlations/lead-lag | Lead-lag analysis | Key |
| 10 | GET | /v1/indicators | Technical indicators | Key |
| 11 | GET | /v1/signals | Trading signals | Key |
| 12 | GET | /v1/digest | Daily digest of changes | Key |
| 13 | GET | /v1/changes | Recent changes / movements | Key |
| 14 | GET | /v1/compare?metric=<canonical> | Compare networks on a metric | Key |
| 15 | GET | /v1/history?network=<SYM>&metric=<M>&days=<N> | Historical time series | Free (capped window) |
| 16 | GET | /v1/health-profile/<SYM> | Network health profile | Key |
| 17 | GET | /v1/grades | Network grades | Key |
| 18 | GET | /v1/enrichment/<SYM> | Enrichment data per network | Key |
| 19 | GET | /v1/ai-intel | AI intelligence layer | Key |
API health check. Returns service status and version. No key required.
CURL — Healthcurl https://api.kairossignal.com/health
RESPONSE{"status": "ok", "version": "v1", "time": "2026-08-25T12:00:00Z"}
Full network list with telemetry tiers. This is the free browsing surface — no key required. Each entry tells you whether the network is first-party, market-only, or catalog-only.
This endpoint is paged. One anonymous call returns a slice of the catalog —
40 rows at the time of writing — not the whole list. The response tells you
exactly what you got: n_networks (the full catalogued count),
n_networks_shown (rows in this response), and
access.withheld_networks (the remainder). The slice is ordered richest-telemetry
first and re-rotates every 30 minutes, so a given symbol is not guaranteed to be on the page
you happen to fetch. The counts, the tier legend and the not_covered map are
always complete and always free. To pull a specific network, call
/v1/network/<SYM> directly — also free, and not subject to the rotation.
CURL — Network Listcurl https://api.kairossignal.com/v1/networks
RESPONSE (abridged){
"n_networks": 782,
"n_networks_shown": 40,
"access": {"tier_served": "free", "withheld_networks": 742},
"networks": [
{"symbol": "HNT", "name": "Helium", "category": "wireless", "chains": "solana",
"telemetry_tier": "first_party_telemetry", "has_live_supply_telemetry": true,
"has_onchain_market_data": true, "first_party_stats_api": true,
"live_supply_metrics": 2},
{"symbol": "MOBILE", "name": "Helium Mobile", "category": "wireless", "chains": "solana",
"telemetry_tier": "first_party_telemetry", "has_live_supply_telemetry": true},
{"symbol": "FIL", "name": "Filecoin", "category": "storage",
"telemetry_tier": "onchain_only", "has_onchain_market_data": true,
"has_live_supply_telemetry": false}
],
"not_covered": {"IO": "io.net — no free public network-stats endpoint", "...": "..."}
}
Tier values, exactly as the API spells them: first_party_telemetry
(295), onchain_only
(77), market_data_only,
catalog_only (224).
The not_covered map names the networks we deliberately do not claim
first-party coverage for, and says why — read it before you assume a missing symbol
is an outage.
Single network detail. No key required — this is part of the free browsing
surface, same as /v1/networks and /v1/supply. Use the network's
canonical ticker, not its project name: Helium is HNT (with
IOT and MOBILE as its two subnetworks), Filecoin is
FIL. A project name such as HELIUM is not a symbol and returns
404. If you are unsure of a symbol, take it from the symbol field
of /v1/networks — but note that on the free tier that list is a
sample, not the full directory: compare n_networks_shown
against n_networks in the response to see how much of the catalog you are
being shown. /v1/network/<SYM> resolves any catalogued
symbol, including ones the sampled list does not display — HNT,
FIL and STORJ all return full detail whether or not they appear
in your copy of /v1/networks. So a symbol missing from that list is not
evidence the network is unavailable.
CURL — Network Detail (no key)curl https://api.kairossignal.com/v1/network/HNT
Returns the symbol you asked for echoed back, the catalog record (name, category, chains,
token address, website), on-chain market/revenue values, the live first-party series under
live.supply_telemetry, and the standing disclosure block. Every
live value carries its own source, as_of and
verify_yourself URL; every on-chain value carries source,
as_of and verify_url. For HNT that verify link points
at entities.nft.helium.io — Helium's own hotspot endpoint, which you can call
without us.
First-party supply telemetry — the scarce tier. This is real circulating supply read from each network's own API or chain, not a CoinGecko estimate. Free to browse.
CURL — Supply (no key)curl https://api.kairossignal.com/v1/supply
RESPONSE (abridged){
"series": 11,127,
"networks": 295,
"tier": "supply_telemetry",
"data": {
"HNT": {
"MOBILE_HOTSPOTS": {
"value": 57904.0, "source": "depin_first_party",
"as_of": "2026-09-13 17:09:33.702", "age_hours": 0.9, "freshness": "live",
"verify_yourself": "https://entities.nft.helium.io/v2/hotspots/pagination-metadata?subnetwork=mobile"
}
}
},
"not_covered": {"IO": "io.net — no free public network-stats endpoint", "...": "..."}
}
Shape and paging. data is keyed by symbol, then by metric name —
it is not a flat array. Like /v1/networks, an anonymous call returns a rotating
slice (n_networks of n_networks_available), so a particular symbol
may not be on the page you fetch; /v1/network/<SYM> always returns a named
one. Every metric carries source, as_of and
verify_yourself. Absent metrics are omitted, never zero-filled — a symbol
missing here means no verified value exists, and not_covered says which ones
we do not claim and why.
Market data — price, market cap, volume — sourced from CoinGecko and DefiLlama.
No key required: an anonymous call returns a rotating sample of the
networks with live market telemetry (n_symbols of
n_symbols_available), with every value carrying its own provenance. A key
lifts the sampling, it does not change the values. This is the commodity tier — price is
available anywhere; it is included for convenience, not as the product.
CURL — Market (no key)curl https://api.kairossignal.com/v1/market
Protocol revenue / fees. Real fee capture per network, from the DefiLlama fees dataset.
No key required — like /v1/market this is a sampled free
tier: the response reports n_networks of n_networks_available,
and not_covered names the networks we do not claim revenue for.
CURL — Revenue (no key)curl https://api.kairossignal.com/v1/revenue
Source registry — every source we read from, with a verify_url per
source. This is how you confirm the data yourself. Free to browse.
CURL — Provenance (no key)curl https://api.kairossignal.com/v1/provenance
RESPONSE (abridged){
"sources": 69,
"sources": [
{"name": "CoinGecko", "kind": "commodity", "networks": 288,
"verify_url": "https://api.coingecko.com/api/v3/coins/markets"},
{"name": "bittensor_subtensor_rpc", "networks": 130,
"verify_url": "https://...subtensor..."},
{"name": "evm_blockscout", "networks": 118,
"verify_url": "https://.../api/v2/"}
]
}
Cross-network correlation matrix. Requires key.
CURL — Correlationscurl -H "X-API-Key: your_key" \
https://api.kairossignal.com/v1/correlations
Lead-lag analysis — which series leads, which lags, and the lag horizon. Requires key.
CURL — Lead-Lagcurl -H "X-API-Key: your_key" \
https://api.kairossignal.com/v1/correlations/lead-lag
Technical indicators computed over live series. Requires key.
CURL — Indicatorscurl -H "X-API-Key: your_key" \
https://api.kairossignal.com/v1/indicators
Trading signals derived from the indicator layer. Requires key.
CURL — Signalscurl -H "X-API-Key: your_key" \
https://api.kairossignal.com/v1/signals
Daily digest of changes across networks. Requires key.
CURL — Digestcurl -H "X-API-Key: your_key" \
https://api.kairossignal.com/v1/digest
Recent changes and movements across the dataset. Requires key.
CURL — Changescurl -H "X-API-Key: your_key" \
https://api.kairossignal.com/v1/changes
Compare multiple networks on a single canonical metric. Requires key.
CURL — Comparecurl -H "X-API-Key: your_key" \
"https://api.kairossignal.com/v1/compare?metric=circulating_supply"
Use canonical metric names from /v1/provenance.
Historical time series for one network and metric over N days. No key required,
but the free tier caps the window: the response echoes window_days and
window_capped_by_tier so you can see whether you got the full range you asked
for. The requested symbol comes back as a key inside data, not as a top-level
network field.
CURL — History (no key)curl "https://api.kairossignal.com/v1/history?network=HNT&metric=circulating_supply&days=30"
RESPONSE (abridged){
"source_table": "default.depin_onchain",
"window_days": 30, "window_capped_by_tier": true, "tier_served": "free",
"data": {
"HNT": {
"circulating_supply": {
"tier": "market", "source": "CoinGecko /coins/markets",
"points": [{"date": "2026-09-06", "value": 187659024.4339131, "n_observations": 24}, "..."]
}
}
}
}
Network health profile — the composite operating-health view. Requires key.
CURL — Health Profilecurl -H "X-API-Key: your_key" \
https://api.kairossignal.com/v1/health-profile/HNT
Network grades across the catalog. Requires key.
CURL — Gradescurl -H "X-API-Key: your_key" \
https://api.kairossignal.com/v1/grades
Enrichment data per network — supplementary derived fields. Requires key.
CURL — Enrichmentcurl -H "X-API-Key: your_key" \
https://api.kairossignal.com/v1/enrichment/HNT
AI intelligence layer — the agent-facing analytical surface. Requires key.
CURL — AI Intelcurl -H "X-API-Key: your_key" \
https://api.kairossignal.com/v1/ai-intel
Engines (Paid — Pro & Enterprise)
Engines run on the same API host, on the same ordinary /v1/ paths as everything
else. They require a Pro ($499/mo) or higher key. There are
eight engines:
| Engine | Path | Documented below |
|---|---|---|
| Node Quality | /v1/node-quality | yes |
| Sector Health | /v1/sector-health | yes |
| Bot Detection | /v1/bot-detection | yes |
| Competitive Landscape | /v1/competitive-landscape | yes |
| GPU Supply & Demand | /v1/gpu-supply-demand | yes |
| Dilution Risk | /v1/dilution-risk | not yet — call it |
| Geo Concentration | /v1/geo-concentration | not yet — call it |
| Dev Velocity | /v1/dev-velocity | not yet — call it |
402 without a key on api.kairossignal.com, i.e. the
routes exist and gate correctly.
https://api.kairossignal.com — identical to the
main API, with no port suffix. Send your X-API-Key header exactly as with the
main API. Internally these are served by a separate process on port :6035, but
that port is not reachable from outside and you should never address it directly: use
https://api.kairossignal.com/v1/node-quality, not
…:6035/v1/node-quality. Without a key each engine answers 402.
Node-quality engine. Returns 5 key metrics per network evaluating node operational health.
CURL — Node Qualitycurl -H "X-API-Key: pro_key" \
https://api.kairossignal.com/v1/node-quality
Sector-health engine. Returns 4 sector-level health indices.
CURL — Sector Healthcurl -H "X-API-Key: pro_key" \
https://api.kairossignal.com/v1/sector-health
Bot-detection engine. Returns 5 bot-detection signals per network.
CURL — Bot Detectioncurl -H "X-API-Key: pro_key" \
https://api.kairossignal.com/v1/bot-detection
Competitive-landscape engine. Returns 4 competitive metrics.
CURL — Competitive Landscapecurl -H "X-API-Key: pro_key" \
https://api.kairossignal.com/v1/competitive-landscape
GPU supply/demand engine. Returns 6 GPU market metrics.
CURL — GPU Supply & Demandcurl -H "X-API-Key: pro_key" \
https://api.kairossignal.com/v1/gpu-supply-demand
Provenance Model
The KAIROS provenance model is the core promise: every value is attributable and verifiable. Nothing is fabricated, estimated into place, or back-filled. If a metric isn't flowing, it is absent — never filled with zero.
Every value carries four attributes
| Attribute | Type | Description |
|---|---|---|
source | String | The upstream source name (e.g. solana_rpc, first_party_api) |
as_of | ISO-8601 | When the value was measured upstream |
verify_url | URL | Points to the upstream API you can call yourself to reproduce the value |
freshness | fresh|stale|dead | Live freshness verdict |
The rules
- No zero-fill. An absent metric is absent, not zero.
- No estimates. We report measured values only.
- No back-fill. Missing history is not invented.
- Verifiable.
verify_urllets you reproduce any figure.
freshness verdict on every value so your pipeline can distinguish real zeros from
missing data and act accordingly.
Data Sources
We aggregate from 69 distinct data sources. The table below is the top 15 by
network count, covering the majority of live coverage. Every source carries a
verify_url in /v1/provenance.
| Source | Networks | Data provided | Class |
|---|---|---|---|
| CoinGecko | 288 | Market data (price, mcap, volume) | COMMODITY |
| Bittensor subtensor_rpc | 130 | Bittensor subnet telemetry | first_party |
| evm_blockscout | 118 | Holders, transfers, gas | chain |
| github | 54 | Dev velocity | social |
| bsc_rpc | 50 | BSC token supply | chain |
| solana_rpc | 49 | Solana L1 + SPL tokens | chain |
| first_party_api | 44 | Per-network first-party stats APIs | first_party |
| ethereum_rpc | 32 | Ethereum token supply | chain |
| ethereum_blockscout | 27 | Ethereum block explorers | chain |
| DefiLlama protocols | 25 | TVL | defi |
| DefiLlama fees | 21 | Revenue / fees | defi |
| bsc_deep_stats | 20 | BSC token supply + circulating | chain |
| DefiLlama chains | 16 | Chain TVL | defi |
| cosmos_lcd | 12 | Cosmos validators, bonded stake | chain |
| polygon_rpc | 6 | Polygon token supply | chain |
/v1/provenance for the full 69-source registry with per-source
verify_url.
Delivery Channels
| Channel | Where | Status |
|---|---|---|
| REST API (HTTP/JSON) | https://api.kairossignal.com | ✅ Live |
| MCP server | https://kairossignal.com/mcp/ — 10 tools, agent-ready | ✅ Live |
| A2A agent card | https://a2a.kairossignal.com/.well-known/agent-card.json | ✅ Live |
| WebSocket | — | Not yet |
| Webhooks | — | Not yet |
Kairos Signal · [email protected] · Home · Pricing · Internal Docs
Data for informational and research purposes only. Not investment advice.