For developers and agents
Builder evidence, any way you want it.
HEY is the public record of building on Robinhood Chain — every ship with its source — as JSON, a change feed, a typed SDK or MCP. No key, no account, and nothing here is a buy signal.
- Partner Card →bots, terminals and apps: builder intelligence in one call
- For autonomous agents →discover, connect, verify and monitor
- HEY for Robinhood Agents →the questions, the four interfaces, the evidence
One project
Snapshot, coverage and explanations
The snapshot is the summary; coverage says what HEY does not know about the project, as states and never a score; explain says why HEY publishes a figure, from the persisted evaluation — the same engine Ask HEY and the pages use.
Read
GET /api/projects/<slug>/coverage
Per dimension: MEASURED, NO_SOURCE, NOT_ENOUGH_YET, STALE, SOURCE_UNAVAILABLE, NOT_APPLICABLE, NOT_RESEARCHED, ERROR or WITHHELD, with an optional stateDetail (PARTIAL, MAPPING_BLOCKED).
curl "https://heyresearch.xyz/api/projects/<slug>/coverage"GET /api/projects/<slug>/explain?fact=
The value, FACT / DERIVED / UNKNOWN, the rule and its version, the winning source, the inputs, the lineage and the evidence ids. Without fact, the facts HEY can explain.
curl "https://heyresearch.xyz/api/projects/<slug>/explain?fact=market.valuation"GET /api/projects/<slug>
The full dossier: narrative, every registered source with how it was established, latest ships and market context.
curl "https://heyresearch.xyz/api/projects/<slug>"Stay in step
Changes: browse, or mirror with a cursor
Browse newest first with before=. To keep a copy, sync forward from after=c1.0 (or from detectedSince=) and keep the nextCursor each page gives: an upsert replaces your copy of its id when its revision is higher, and a retraction — which carries only the id — deletes it. The cursor follows the order HEY recorded events, so an event HEY learned late still arrives after your cursor; mirroring on a timestamp can lose it.
Read
GET /api/changes?after=
Sync forward from a kept cursor; filter by project, contract, domain, type, since and until.
curl "https://heyresearch.xyz/api/changes?after=c1.0&limit=100"GET /api/projects/<slug>/timeline
One project's evidence on one axis, newest first, with totals and a before cursor.
curl "https://heyresearch.xyz/api/projects/<slug>/timeline?limit=30"Over time
History and diff
History returns only the points HEY persisted, each with its basis — knowledge (what HEY knew then), observed, or reconstructed_from_chain — and every series says when collection began. A day before that is absent, never zero. A diff compares the nearest persisted points at two dates and never states a cause.
Read
GET /api/projects/<slug>/history
Series: status, momentum, discoveryGap, rank, valuation, price, liquidity, volume, pools, onchain, tvl, contractChanges, locks.
curl "https://heyresearch.xyz/api/projects/<slug>/history?series=status,valuation"GET /api/projects/<slug>/diff
Then and now between two dates, at most 400 days apart, with the changes recorded between them.
curl "https://heyresearch.xyz/api/projects/<slug>/diff?from=2026-09-01&to=2026-09-25"Cite
Evidence receipts
Every published claim has a typed id — ship:, signal:, abi:, impl:, lock:, source:, claim:, state: — and the ids in changes, timelines and explanations open here as a receipt: what it claims, the source URL, when it happened and how precisely, when HEY knew, and how it is backed. A withdrawn record says so and names nothing it may not.
Read
GET /api/evidence/<id>
One receipt by its typed id.
curl "https://heyresearch.xyz/api/evidence/<id>"On-chain
Contracts
A contract as a research entity: creation, deployer (the only account HEY ever names), verified source, proxy kind and implementation history, interface counts and changes, and activity. A proxy HEY did not read is NOT_READ, never “not a proxy”.
Read
GET /api/contracts/<chainId>/<address>
One contract.
curl "https://heyresearch.xyz/api/contracts/4663/<address>"GET /api/projects/<slug>/contracts
Every contract of a project; each says whether HEY watches it.
curl "https://heyresearch.xyz/api/projects/<slug>/contracts"Reference
Everything else
Catalogue
GET /api/projects
The catalogue, with the same filters and ordering Explore uses. Pages with limit and offset.
curl "https://heyresearch.xyz/api/projects?status=SHIPPING&limit=5"GET /api/projects/<slug>/market
HEY's own daily index of a token: price, liquidity, volume and trades by day, the lifecycle, contract checks, pools and depth, and a supply-concentration summary (shares only).
curl "https://heyresearch.xyz/api/projects/<slug>/market?days=30"GET /api/projects/<slug>/intelligence
One project's signals, rank history and development intelligence in a single answer.
curl "https://heyresearch.xyz/api/projects/<slug>/intelligence"GET /api/compare?slugs=
Two to four projects side by side, each figure tagged; no winner.
curl "https://heyresearch.xyz/api/compare?slugs=<slug>,<slug>"GET /api/search/suggest
Type-ahead over project names, symbols, contracts, websites and repositories, typo-tolerant.
curl "https://heyresearch.xyz/api/search/suggest?q=agent"Chain and discovery
GET /api/chain
Robinhood Chain day by day: trades, volume, tokens traded, transactions, launches and ships. Aggregates only, never accounts.
curl "https://heyresearch.xyz/api/chain?days=14"GET /api/signals
HEY Signal: measured changes with before and after figures and the source. Its `confidence` field is a method statistic, never a trading confidence.
curl "https://heyresearch.xyz/api/signals?days=7&limit=10"GET /api/builders
The Builder Radar, ranked by verified development, on-chain use and research standing — never by price.
curl "https://heyresearch.xyz/api/builders?filter=most-improved&limit=10"GET /api/ships
Source-backed ship records across the catalogue. To mirror, use /api/changes.
curl "https://heyresearch.xyz/api/ships?limit=20"GET /api/this-week
The weekly rollup: what shipped, what moved, and what HEY started tracking.
curl "https://heyresearch.xyz/api/this-week"GET /api/reports/weekly
The archived weekly reports. Add a week to open one.
curl "https://heyresearch.xyz/api/reports/weekly"Research questions
GET /api/projects/<slug>/ask?q=
A free-text question about one project, answered only from HEY's record, every line FACT, DERIVED or UNKNOWN with its source.
curl "https://heyresearch.xyz/api/projects/<slug>/ask?q=what%20shipped%20this%20month"GET /api/projects/<slug>/market-moves
Each day-on-day valuation move with the building events published before it: a sequence, never a cause.
curl "https://heyresearch.xyz/api/projects/<slug>/market-moves?days=90"GET /api/chain/silence
Under the Radar and below the 40th market-attention percentile.
curl "https://heyresearch.xyz/api/chain/silence"GET /api/chain/accelerating
Builders with more meaningful events in the last 30 days than in the 30 before.
curl "https://heyresearch.xyz/api/chain/accelerating"GET /api/chain/comebacks
Projects whose activity status is RESUMED.
curl "https://heyresearch.xyz/api/chain/comebacks"GET /api/chain/unlocks
Scheduled HoodLock unlocks with proof; HoodLock is the only locker HEY reads.
curl "https://heyresearch.xyz/api/chain/unlocks?days=30"GET /api/chain/contract-changes
Evidence-backed contract changes: upgrades, follow-up deployments, verification, interface changes.
curl "https://heyresearch.xyz/api/chain/contract-changes?days=30"GET /api/chain/build-market
Build Momentum beside market attention: a map, not a ranking.
curl "https://heyresearch.xyz/api/chain/build-market"Partner cards
GET /api/v1/scan
The one-line card a bot renders for a pasted contract; found: false means print nothing.
curl "https://heyresearch.xyz/api/v1/scan?chain=4663&token=<address>"GET /api/v1/builder
Builder activity by contract, in snake_case with explicit nulls; 404 for a contract HEY has not published.
curl "https://heyresearch.xyz/api/v1/builder?chain=4663&token=<address>"Research bounties
GET /api/bounties
Open research bounties with their claim rules. Claiming happens on the site, not through the API.
curl "https://heyresearch.xyz/api/bounties?status=open"Reference
Filters for /api/projects
The same vocabulary the browse pages use. An unrecognised value is dropped rather than refused, and the response echoes back under query exactly how your request was read.
tab- A discovery view:
building-with-token,still-building,under-the-radar,shipping-now,most-active,new-builders,back-from-dormancy,utility,memes. status- Activity status:
SHIPPING,ACTIVE,RESUMED,QUIET,DORMANT,UNKNOWN. kind- Project kind:
UTILITY,MEME,HYBRID,INFRASTRUCTURE,RWA,APPLICATION,OTHER. has- Facts a project must carry:
token,trading,liveMarket,verifiedToken,marketCap,launchpad,github,x. stage · age · deployed- Launch stage (
curve,graduated,dex); since the first pool opened and since the contract was deployed (day,week,month,older). minLiquidity · minMarketCap · maxMarketCap · minVolume- A floor or a ceiling in US dollars, on the card's own reading. Unknown is excluded, never read as zero.
narrative · launchpad · q- A narrative slug, a launchpad, or a search of at least two characters.
sortactivity(default),shipped,newest,marketCap,liquidity,volume24h.limit · offset- Up to 48 a page, 24 by default. The response carries
nextOffsetuntil there is nothing left.
Reading answers
Null semantics, freshness, provenance, paging, versioning, errors
- Absent means unknown. A field HEY has not measured is missing or null with a reason — never 0, false, an empty list or “none”. A withheld value says it is withheld.
- FDV is not market cap. Every valuation carries its kind (
marketCaporfdv); a market that is not live has its valuation withheld, with the reason. - Provenance travels with the fact. Market figures carry
sourceandobservedAt; ships and changes carry their source URL and typed evidence id. - Three clocks.
occurredAtis when a source dates the event (null when only HEY observed it),detectedAtwhen HEY first knew,recordedAtwhen the ledger recorded it. Precision is one ofEXACT,DATE,WEEK,WINDOW,OBSERVED,SCHEDULED. - Freshness. Public answers are cached 60 seconds. The snapshot and coverage say when each source was last read;
/api/statussays whether HEY's own pipelines are behind. - Paging. Listings say how many they hold;
nextOffsetpages a catalogue,nextCursorpages the ledger and timelines. Mirror on the ledger cursor, never on a timestamp. - Versioning.
/api/*changes only by adding fields./api/v1/*is the partner namespace, not an API version; a field there never changes meaning, and a semantic change would ship as/api/v2with at least 90 days of overlap. - Errors. Every error is
{ error, message, requestId, retryable, retryAfterSeconds? }: a stable code to switch on, a sentence for a person, and the id that finds the request in HEY's logs. - Identity is chain plus contract. Never a symbol on its own.
Something wrong in the record? Submit a correction.