X-RAY Documentation

X-RAY developer docs: REST API reference, MCP integration for Claude, and guides for querying live Web3 labor-market data.

All pages

  1. Introduction
  2. Platform
  3. Data Sources
  4. Coverage & Refresh
  5. Reading the Numbers
  6. How we map sources to sectors and chains
  7. Data quality
  8. Signals
  9. Hiring
  10. Development
  11. Tokens
  12. Protocols
  13. Landscape
  14. Company Profiles
  15. Workspace
  16. Custom Dashboards
  17. Comparing & Benchmarking
  18. Connect X-RAY to your agent
  19. MCP
  20. Getting Started with MCP
  21. What the Assistant Can Do
  22. What an agent can do with X-RAY
  23. Example Questions
  24. Subscription & Billing
  25. Pay per call (x402)
  26. Troubleshooting
  27. Account & Access
  28. FAQ

Introduction

X-RAY is Web3 with the fog of war lifted: every actor — companies, protocols, exchanges, funds, chains, token projects — on one graph with its capital, code, roles, tokens, news and links, the chains, sectors and narratives it acts on, and the same data served to AI agents over MCP and pay-per-call.

What is on the graph (12 October 2026)

| Layer | Coverage | | --- | --- | | Actors | 3,362 active: 1,717 protocols, 1,115 companies, 167 token projects, 154 chains, 124 funds, 85 exchanges | | Events | 30,045 — 17,892 typed into 15 kinds (funding, hacks, listings, governance, releases, launches, partnerships, unlocks, regulation, …) plus actor news judged about / mentions | | Relations | 2,249 investor→portfolio links, 2,842 event counterparties (investors, partners, exchanges, acquirers), 9,562 narrative memberships | | Hiring | 5,645 open roles out of 8,473 tracked vacancies, 105 employer ATS boards checked every 12 hours, 161 skill clusters | | Development | 2,375 GitHub organisations, 8,130 repositories, 33,710 releases, commits back to 2006 | | Markets | 9,127 tokens, 8,722 DefiLlama protocols, daily history | | Landscape | 22 narratives with a daily heat score, 1,704 market-wide events, 60 prediction markets, weekly briefs per scope | | Web profiles | links, contacts, careers pages and partner names from every actor's own website |

How access works

| Surface | Who can use it | | --- | --- | | Market, chains, sectors, actors, events, landscape, compare | Everyone, no account | | Watchlists, alerts (email and Telegram), saved items | Any signed-in account, free | | MCP server (36 tools) | 25 free calls to try, then a subscription | | Pay per call (x402) | Any agent with USDC on Base or Solana, no account — see Pay per call |

Programmatic access is MCP for people with an account and x402 for agents without one; both serve the same JSON the site renders.

Where to start

  1. Market — the state of the market in one screen: actors, open roles, TVL, market cap, fees, commits, events, funding.
  2. A chain or a sector — the same cards for one scope, with its actors ranked.
  3. An actor — the full picture of one company, protocol, fund or exchange, with every tab.
  4. Landscape — the field the actors act on: narratives, regime, regulation, capital, talent, security.
  5. Sign in (email link) to keep a watchlist and get alerts; connect an agent from Connect.

Platform

How X-RAY is put together: where the data comes from, how it is linked, how often it refreshes, and how to read what you see.

  • Data sources — the collectors behind each layer and the graph that links them.
  • Coverage & refresh — what is tracked and how current it is.
  • Reading the numbers — the conventions used everywhere in the product.
  • How we map sources to sectors and chains — the taxonomy rules.
  • Data quality — the standing checks, the AI decision log and the provenance of every field.

Data Sources

Every number in X-RAY comes from an observable, external source and keeps a link back to it. Models classify, de-duplicate and summarise; they never invent a value.

The collectors

Hiring. Job postings from career pages, job boards and the employers' own ATS boards (Greenhouse, Lever, Ashby, Workable, SmartRecruiters — 105 boards confirmed) are de-duplicated and normalised into one shape: role, grade, location, salary range, skill clusters (161). A posting is tracked when it disappears (closed) and when it reappears (re-opened); a role is open only while the source or the ATS still shows it.

Development. Public GitHub activity for 2,375 organisations linked to actors — 8,130 repositories, commits (history back to 2006), 33,710 tagged releases, contributors, stars and forks. Releases also become release events on the actor.

Tokens. Market data for 9,127 tokens (price, market cap, volume, supply) with one snapshot per day, plus the market-wide indicators (total cap, BTC dominance, stablecoin supply, Fear & Greed, altcoin season). Token unlock schedules become token_unlock events.

Protocols. DefiLlama value metrics for 8,722 protocols — TVL by chain, fees, revenue — daily, with the comparable TVL rule described under Reading the numbers.

Capital and security. Funding rounds (DefiLlama raises, CoinMarketCap portfolio tags, news) with their investors; hacks and exploits with technique and amount; Immunefi bounty programmes; Snapshot governance proposals.

News and streams. 383 RSS feeds — 365 of them the actors' own blogs — and real-time streams (exchange listings and delistings, market news, governance-forum posts, political signal). Every item goes through the news judge, which decides whether it is about an actor, merely mentions it, is market-wide (filed under the Landscape) or unrelated, and types it into one of 15 event kinds.

Web profiles. Each actor's own website, read once and refreshed on demand: official links, contact channels, careers page and ATS, and the partners it names. Shown as Links & contacts on the actor page and served in the web block of get_actor.

Social. LinkedIn organisation ids and follower counts, X handles and follower counts, used for the social series and for mentions in X-RAY's own posts.

The graph

Raw records are resolved onto one canonical actor record through 24,721 aliases (name variants, domains, DefiLlama and CoinMarketCap ids, GitHub organisations, X handles, LinkedIn ids, ATS urls, Snapshot spaces, Immunefi slugs). From there the links are explicit:

  • Actor → sectors and chains — a two-level sector taxonomy (104 sectors) and 92 chains; sector and chain pages are built from these links.
  • Investor → portfolio — 2,249 invested_in relations between funds (and strategic investors) and the actors they backed, read from funding rounds and portfolio tags; both ends get a tab (funding / portfolio / co-investors).
  • Event → counterparties — 2,842 participant links: investor and lead investor on a round, partner on a partnership, exchange on a listing, acquirer and target on an acquisition.
  • Narrative → members — 9,562 memberships of tokens and actors in 22 narratives, with the rules that define each narrative.
  • Token → issuer, protocol → operator, parent → subsidiary where known.

Because everything routes through the same actor record, you can move from a hiring spike to the repositories, the token, the protocol, the last round and its investors, and the actor's own announcements without changing tools — on the site or from an agent.

Coverage & Refresh

Refresh cadence

| Layer | Refresh | | --- | --- | | Hiring | Continuous through the day; ATS boards re-checked every 12 hours; open-roles rule applied on every read | | Development | GitHub organisations polled in a 30-minute tick; full repository and release snapshot daily | | Tokens and protocols | Daily snapshot, history kept per day | | Streams (listings, delistings, market news, governance) | Polled every minute | | RSS feeds (383, incl. 365 actor blogs) | Every 20 minutes in slices of 60 feeds; a feed that fails six times is paused | | News judge and event typing | Continuous on new items; every decision logged and re-judged after its TTL | | Actor and scope summaries, ranks, heat | Recomputed daily after the snapshots | | Weekly briefs | Once a week per scope (market, each narrative, regulation and each jurisdiction) | | Web profiles | One pass over every actor's website; refreshed on demand from the admin console | | LinkedIn ids and followers | Daily batches |

History

Every collector writes both a latest state and a historical record. That is why every page shows not only where things are but where they moved — deltas and period comparisons are computed from stored history, never re-derived from a single snapshot.

Coverage

Coverage is actor-first. An actor enters X-RAY once it is a meaningful participant in Web3 (3,362 active today); from that point every collector that applies starts running — careers page and ATS, GitHub organisations, token, protocol, governance space, bounty programme, blog feed, website. A coverage block on every actor says which of these exist, so an absent number is distinguishable from a zero. Actors without a token or a protocol still appear fully in hiring, development, events and news.

Reading the Numbers

A few conventions apply across the whole product.

Time windows

Every metric states the window it covers — 30D, 24H, 7D. When a delta is shown, it compares the window to the exact preceding period of the same length: a 30-day figure is compared with the 30 days before it, never with a calendar month.

Missing data

If a value cannot be computed from real data it renders as an em dash (—) and its delta is hidden. A zero always means a real, measured zero.

Deltas you can trust

Deltas are suppressed when the underlying baseline is too thin to be meaningful — for example when a comparison period has almost no data, or when a computed change is implausibly large. A hidden delta is intentional, not a bug.

Open roles

Open roles are vacancies still active at the source, not removed, and either posted within the last 120 days or confirmed within that window by the employer's own ATS (Greenhouse, Lever, Ashby, Workable, SmartRecruiters — checked every 12 hours). Older unconfirmed roles become stale: kept for history, excluded from every count, back to active when the source shows them again. The same rule (vacancies_open) feeds every page, the actor and scope summaries and the MCP tools, so the number is identical everywhere. A vacancy is active while it is still published; when it disappears it is marked closed and keeps its history; an identical role published again is linked to the previous posting and counted as re-opened.

Comparable TVL

A chain page shows DefiLlama's chain TVL as the headline. The tracked, comparable total beneath it sums the protocols of tracked actors on that chain with exchanges excluded and liquid-staking receipts and double counts removed; it is the number used in chain-to-chain comparisons and deltas, and it is never above the sum of its members (a standing check enforces this).

News relevance

Every news row gets a verdict from the news judge: about (the actor is the subject), mentions (named in passing), market (market-wide, filed under the Landscape) or unrelated. Pages and scores count only about news by default; the News tab has a toggle for mentions; unrelated rows are kept for audit and never shown.

Heat score

A narrative's heat is the average z-score of its 7-day changes in market cap, volume, TVL, open roles and news, scaled 0–100 and ranked daily against the other narratives; a 90-day heat series sits behind every narrative row. It is a comparison across narratives today, not a prediction.

Units

Large numbers are abbreviated consistently — K thousands, M millions, B billions, T trillions — and a chart axis always uses one unit for the whole axis so bars stay comparable.

What is deliberately absent

  • No AI-written market calls: AI judges classify, de-duplicate and tag records (every decision logged, reversible, re-judged after its TTL), and the weekly briefs describe the stored data with every sentence cited; nothing predicts, rates or recommends.
  • No opaque scores: activity, attention and heat are documented formulas over the stored series.
  • No personalisation: every page, rank and score is the same for every visitor.

The data is the product; interpretation is left to you.

How we map sources to sectors and chains

Every actor on X-RAY sits in one or more sectors and on one or more chains. Those memberships drive the market, chain and sector pages, the Chains and Sectors lists, and every total on them. This page explains where they come from.

DefiLlama categories and chains

Each DefiLlama protocol category (for example Lending, Dexs, Liquid Staking) is mapped to exactly one X-RAY sector. A category we have not mapped yet goes to DeFi · Other and is flagged for review. The chains a protocol is deployed on are mapped to X-RAY chains the same way, and TVL per chain comes from the protocol's per-chain breakdown (borrowed, staking and pool2 components excluded).

CMC tags and platforms

CoinMarketCap tags on a token map to sectors through an explicit list (for example memes → Memecoins, stablecoin → Stablecoins). Editorial, exchange-portfolio and geographic tags are ignored. Ecosystem tags (for example solana-ecosystem) and the token's platform map to chains.

Perplexity for hiring companies

Companies that only appear through hiring (no token or protocol) get their sector and main chains from a one-time Perplexity lookup of their public profile. These links never overwrite source-derived ones.

Manual overrides in admin

Admins can edit every category and tag mapping, and add or remove sector and chain links per actor. Manual links are kept when the source mappings are re-applied.

Which sector is primary

An actor's primary sector is chosen in this order: chains and exchanges by kind; then the sector of its main token's tags; then the category of its largest protocol by TVL; otherwise its own sectors. Funds have no primary sector.

Data quality

New data arrives every hour and the rules change every week, so X-RAY runs standing checks instead of one-off fixes. Every check is a SQL query that returns the rows breaking a rule; checks with an autofix repair the rows through an idempotent function and log the change in company_link_log (undoable), the rest open a violation that stays open until the data changes. Checks run hourly, daily or weekly; drift monitors measure a few shares and rates every day and warn when a value leaves its 30-day band (median ± 3 MAD).

What the checks cover

  • Actors. A chain actor lists only its own chain; a chain record is backed by a chain or a top-300 native asset; an exchange's primary token is an exchange token; the primary sector is a leaf of the taxonomy and part of the actor's sectors; no two active actors share a domain, X handle, CMC id or DefiLlama slug (pairs go to the merge queue); no alias on the generic-domain blocklist; descriptions describe the actor, in English; no test records.
  • Tokens. A token belongs to one actor; name-only links that share no word with the actor are audit candidates; wrapped, staked and fan tokens are never primary; a bare token record has no roles, protocol or GitHub.
  • Events. No event in the future (except unlocks, votes and listing announcements); amounts between 0 and 50B USD; every news row gets a relevance verdict within 48 hours; one row per story and actor; typed events deduped by actor, kind, day and title.
  • Vacancies. No active role older than 120 days without confirmation; no duplicate roles by title, location and actor; every role belongs to an actor.
  • Metrics. No negative values; no tenfold day-over-day jump without a source check; history completeness consistent with the first stored day; open roles identical in the actor summary, the pages and the MCP tools; chain comparable TVL never above the sum of its members.
  • Identity. Every applied AI decision has a log row; every merge has a redirect; decisions past their TTL (classification 90 days, token, link and dedupe audits 180 days) are judged again.

How AI decisions age

Every AI decision stores the hash of its input. When the input changes, the stage judges the subject again on the next run; when the decision is older than its TTL it is expired by the daily check and re-judged on the next run. A new verdict is applied only when it clears the confidence threshold; otherwise it waits in the admin review queue next to the old one.

The live state below is read from the same tables the admin sees.

Signals

Signals are the public pages. All of them are free and need no account.

| Page | Question it answers | | --- | --- | | Market | The state of Web3 today: actors, open roles, TVL, market cap, fees, commits, events, funding — with tabs for actors, hiring, development, tokens, protocols, funding, governance, security, news and events | | Chains and Sectors | The same picture for one chain or one sector, with its actors ranked | | Actors | Who is on the map — directory with facets (kind, chain, sector, coverage) and sorts | | Events | What just happened — the typed event feed across actors, filterable by kind, chain, sector and actor kind | | Landscape | What the market is about — narratives with heat, regime, regulation by jurisdiction, capital, talent, security, prediction markets, weekly briefs | | Compare | Up to four actors, chains, sectors, narratives or the market side by side | | Insights | Longer reads from the X-RAY team |

Every scope page shares one layout: a header with headline metrics and their 7-day deltas, cards per layer, and tabs with the rows behind each card. Filters are additive — narrowing one dimension narrows every panel on the page.

Hiring

Hiring is the earliest visible signal of intent: actors hire months before they ship. The Market › hiring tab, every chain, sector and actor page, and 14 MCP tools read the same vacancy set.

What the dashboard shows

  • Open roles — vacancies still active at the source, not removed, and posted within the last 120 days or confirmed by the employer's own ATS (105 boards: Greenhouse, Lever, Ashby, Workable, SmartRecruiters, checked every 12 hours). The exact rule is under Reading the numbers; it is the same everywhere, so the number on a card, a tab and an MCP answer always agree.
  • Hiring activity over time — postings per day, week or month, split into published, re-opened and closed, so churn is distinguishable from growth.
  • Top employers — ranked by open roles and by 7-day change.
  • Role composition — by grade (junior → lead) and by function.
  • Skills demand — hard skills, soft skills and benefits grouped into 161 clusters rather than raw keyword counts.
  • Compensation — median and average of published ranges, by sector and by grade; only postings that disclose at least one salary value count.
  • Hiring spikes — a sudden rise in an actor's open roles becomes a hiring_spike event, so it shows in the event feed and in alerts.

Filters

Actor, sector and subsector, chain, grade, location and date range. Location matching is inclusive: a city also matches broader mentions of the same place.

Vacancy detail

A role opens the full posting — description, requirements, salary range, skill clusters, and links to the actor page and the original source.

What to look for

  • A sustained rise in senior and lead roles usually precedes a product line, not a refill.
  • Repeated re-opening of the same role often indicates a hiring problem, not growth.
  • Skill clusters appearing across many actors at once are the clearest leading indicator of a technology shift.

Development

Development measures delivery. It is the counterweight to hiring: intent versus output. Coverage today: 2,375 GitHub organisations linked to actors, 8,130 repositories, 33,710 tagged releases, commit history back to 2006.

What the dashboard shows

  • Commit activity — daily commit volume across tracked organisations; the market, chain and sector pages carry a commits 30d card with its 7-day delta.
  • Commits over time — the trend for the selected window against the preceding period of equal length.
  • Releases — tagged releases with dates, so shipping rhythm is visible separately from commit noise; every release is also a release event on the actor and in the event feed.
  • Repository leaderboard — repositories ranked by recent activity, with stars, forks and contributor counts.
  • Contributors — how many distinct people push code, which separates a healthy team from a single maintainer (Contributors).
  • Per actor — the development tab lists the actor's organisations, repositories and releases; commits_30d is one of the daily metrics served by get_company_metrics.

Filters

Actor, organisation, repository and date range.

What to look for

  • Rising headcount with flat commits is a warning sign; the reverse is often a team about to hire.
  • Release cadence tightening is a better ship signal than commit volume alone.
  • Contributor count collapsing while commits hold steady means concentration risk.

Tokens

Tokens covers tradable assets and the market context around them: 9,127 tokens with one snapshot per day, linked to the actor that issues them.

What the dashboard shows

  • Market header — total market capitalisation, BTC and ETH price, dominance, stablecoin supply, Fear & Greed, altcoin season and the regime label (also under Landscape › regime).
  • Asset table — price, market cap, volume, circulating and total supply, change over the selected window, the issuing actor and its sector.
  • Unlocks — scheduled token unlocks become token_unlock events with amount, type and category.
  • Listings and delistings — exchange listings and delistings arrive from real-time streams as listing / delisting events, with the exchange as a counterparty when it is a tracked actor.
  • Trend charts — historical market cap and volume from stored daily snapshots; token_price_usd and market_cap_usd are daily metrics on every actor and scope.

Filters

Asset, sector, chain and date range.

Notes on interpretation

Token history is one snapshot per day, so intraday movement is out of scope by design — X-RAY is built for structural change, not for trading. Where a daily baseline is missing, the delta is hidden rather than computed against an incomplete point.

Protocols

Protocols tracks where capital actually sits: 8,722 DefiLlama protocols with daily TVL, fees and revenue, linked to the actors that operate them.

What the dashboard shows

  • Total value locked — the headline per chain is DefiLlama's chain TVL; the comparable total beneath it sums tracked actors' protocols with exchanges, liquid-staking receipts and double counts removed (see Reading the numbers).
  • Protocol table — TVL per protocol with 1-day, 7-day and 30-day change, fees 24h, category and the chains it runs on.
  • Category and chain breakdown — how value is distributed across lending, DEXs, liquid staking, restaking, perps and the rest, and which networks hold it.
  • Per actor — the on-chain tab lists the actor's protocols; tvl_usd and fees_24h are daily metrics on every actor and scope and in compare.
  • History — daily series per protocol, chain and sector.

Filters

Protocol, category, chain and date range.

What to look for

  • Value migrating between chains is usually visible here days before it is discussed anywhere else.
  • A protocol whose TVL is flat while its category grows is losing share, even if its absolute numbers look fine.
Part of the job market data is provided by web3.career.

X-RAY · Data Stream · Insights · Docs · Connect your agent · Pricing