HEY Research Lab
Research which Robinhood Chain projects are still building: builder status, ships with their sources, contracts and Uniswap v4 hooks. Read-only, no key needed.
Hosted MCP Server
npx add-mcp 'https://heyresearch.xyz/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
AI agents
HEY Research Lab is the public record of building on Robinhood Chain (chain id 4663) — every ship with its source. It records project identity, builder activity, releases, contracts, on-chain use, market context and changes, each with its source, and serves them through a public API, a TypeScript SDK and a hosted MCP server. This page is for an autonomous agent or its developer: how to find HEY, connect, verify what it says, and monitor it. Nothing here is investment advice or an instruction to trade.
Start in one command
Claude Code — connect the hosted MCP server (no key, no account, no install)
claude mcp add --transport http hey-research https://heyresearch.xyz/mcp
Then try five starter tasks. Each is one tool call your assistant makes for you; every answer carries evidence ids, and what HEY does not know is said, never zero.
- Research this Robinhood Chain project
research_answer {"capability":"research_project","project":"<slug>"} - Scan this contract — is anyone building it?
find_projects {"query":"0x…"} - What changed this week?
research_answer {"capability":"what_changed","days":7,"building":"only"} - Show me the evidence behind that
get_evidence {"id":"ship:…"} - What does HEY not know about it?
research_answer {"capability":"unknowns","project":"<slug>"}
Also as Markdown: /developers/agents.md · How agents use HEY · Check a research receipt · Robinhood Agents
- https://heyresearch.xyz/mcp Streamable HTTP, stateless, read-only
- https://heyresearch.xyz/mcp/research Builder intelligence first: no market-move, Under the Radar or valuation tool. research_answer still carries market context, labelled context only.
- https://heyresearch.xyz/docs/public-api
Base URL
https://heyresearch.xyz/api; OpenAPI 3.1 at https://heyresearch.xyz/openapi.json - https://heyresearch.xyz/.well-known/agent-card.json JSON-RPC at https://heyresearch.xyz/api/a2a
- https://heyresearch.xyz/llms.txt what HEY is, in one file
- https://heyresearch.xyz/api/hey/profile researched like any token
- https://heyresearch.xyz/api/changes poll with a cursor
Research a Robinhood Chain project in one minute
Every door below answers without a key, an account or an install. Pick one and paste it; each answer carries evidence ids you can open.
- Name your software: an MCP client's
clientInfoname, or anx-hey-integration: <name>/<version>header on REST and A2A, lets HEY tell your agent from a registry probe when it counts use. It is a self-declaration, never an identity, and it changes nothing HEY answers. - Every figure is FACT, DERIVED or UNKNOWN; unknown is never zero. Market figures are context, never a view on a token.
Any MCP client — hosted (Streamable HTTP)
{
"mcpServers": {
"hey-research": {
"type": "http",
"url": "https://heyresearch.xyz/mcp"
}
}
}
Any MCP client — local (stdio, Node 20+)
{
"mcpServers": {
"hey-research": {
"command": "npx",
"args": [
"-y",
"@hey-research-lab/mcp@0.3.3"
]
}
}
}
Then ask your assistant
Which Robinhood Chain projects shipped this week? Pick one, show me what HEY checked about its builder, and open the evidence behind the latest ship.
Raw MCP, one call (stateless: no initialize needed)
curl -s https://heyresearch.xyz/mcp -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' -H 'x-hey-integration: <your-agent>/1.0' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"find_projects","arguments":{"surface":"shipping-now","limit":3}}}'
REST, end to end: find → read → evidence (curl + jq)
BASE=https://heyresearch.xyz
SLUG=$(curl -s "$BASE/api/projects?tab=shipping-now&limit=1" | jq -r '.items[0].slug')
curl -s "$BASE/api/projects/$SLUG/snapshot" | jq '.summary.lines[] | {tag, label, text, evidence: [.evidence[]?.id]}'
ID=$(curl -s "$BASE/api/projects/$SLUG/snapshot" | jq -r '[.summary.lines[].evidence[]?.id][0]')
curl -s "$BASE/api/evidence/$ID" | jq '{id, summary, sourceUrl, verification, publishedAt, detectedAt}'
TypeScript — @hey-research-lab/sdk
import { HeyClient } from '@hey-research-lab/sdk';
const hey = new HeyClient({ userAgent: 'my-agent/1.0' });
const { items } = await hey.projects.list({ tab: 'shipping-now', limit: 1 });
const snapshot = await hey.projects.snapshot(items[0]!.slug);
for (const line of snapshot.summary.lines) console.log(line.tag, line.label, line.text);
const evidence = snapshot.summary.lines.flatMap((line) => line.evidence)[0];
if (evidence) {
const receipt = await hey.evidence.get(evidence.id);
console.log(receipt.withdrawn ? \`withdrawn: ${receipt.withdrawalReason}\` : \`${receipt.summary} — ${receipt.sourceUrl}\`);
}
A2A — SendMessage
SLUG=$(curl -s "https://heyresearch.xyz/api/projects?tab=shipping-now&limit=1" | jq -r '.items[0].slug')
curl -s https://heyresearch.xyz/api/a2a -H 'content-type: application/json' -H 'A2A-Version: 1.0' \
-d '{"jsonrpc":"2.0","id":1,"method":"SendMessage","params":{"message":{"messageId":"m1","role":"ROLE_USER","parts":[{"data":{"skill":"research_project","project":"'"$SLUG"'"}}]}}}'
OpenAPI 3.1 A2A Agent Card llms.txt MCP documentation
How an agent finds HEY
From the domain heyresearch.xyz alone, a plain HTTP client with no JavaScript and no cookies can reach every entry point.
How an agent finds HEY: the details
- https://heyresearch.xyz/llms.txt (llmstxt.org): what HEY is, what it will not do, and every machine entry point. Pages point to it with a
Link: <…/llms.txt>; rel="describedby"header. - https://heyresearch.xyz/.well-known/agent-card.json: the A2A Agent Card (A2A 1.0), at the well-known URI the specification registers.
- https://heyresearch.xyz/openapi.json: the OpenAPI 3.1 description of the public API.
- The Official MCP Registry name is
io.github.hey-research-lab/hey-research; the npm packages are@hey-research-lab/mcpand@hey-research-lab/sdk; the public source is https://github.com/hey-research-lab/hey-research-open. - Robinhood Chain is chain id 4663. HEY is itself a project on it and is researched by the same rules as every other one — no ranking bonus for hosting the MCP, being used, or holding $HEY.
MCP quickstart
The hosted server needs no install and no key (the commands are under Start, above). It reads the same public API, so it can say nothing the API does not. Two more ways in:
MCP quickstart: the details
Research profile (builder intelligence first)
claude mcp add --transport http hey-research-research https://heyresearch.xyz/mcp/research
Local (stdio, Node 20+)
npx -y @hey-research-lab/mcp@0.3.3
Which interface to use
One record, four doors. Pick by what you are building; the answers are the same.
Which interface to use: the details
- MCP — tools an assistant calls while it answers someone. Tool-oriented: find_projects, get_project_snapshot, get_changes, explain_fact and the rest; research_answer carries the agent contract below.
- A2A — delegate a research task to HEY as an agent. Skills: research_project, compare_projects, what_changed, explain_fact, check_project_coverage, investigate_contract. Send
A2A-Version: 1.0; each message is answered directly, nothing is stored. - REST API + OpenAPI — any language, any HTTP client; JSON with provenance on every figure.
- SDK —
@hey-research-lab/sdkfor TypeScript: typed calls, cursor helpers, webhook verification.
A2A SendMessage
curl -s https://heyresearch.xyz/api/a2a -H 'content-type: application/json' -H 'A2A-Version: 1.0' \
-d '{"jsonrpc":"2.0","id":1,"method":"SendMessage","params":{"message":{"messageId":"m1","role":"ROLE_USER","parts":[{"data":{"skill":"research_project","project":"chit"}}]}}}'
Six questions, one answer shape
The agent contract (AgentIntelligenceResponse v1): six bounded capabilities, each answered first in one sentence, then with claims tagged FACT, DERIVED or UNKNOWN, what HEY does not know, freshness from the production schedules, and evidence ids. The same JSON on REST, MCP and A2A.
Six questions, one answer shape: the details
- research_project — What is HEY's current research view of this project? Never: A price view, a ranking by return or a recommendation.
- what_changed — What changed with this project, or on Robinhood Chain, in the last N days? Never: A cause: an event beside a market move is a sequence.
- builder_status — Is this project still building, and why does HEY say so? Never: Investment advice: a building status is a record of development, not a view on the token.
- verify_project — Does this contract or token appear to belong to this project? Never: A safety verdict: VERIFIED means the project itself names the contract, never that it is safe.
- compare_builders — How do these projects' building records compare over 30 days? Never: A better investment, a winner or a combined score.
- unknowns — What does HEY not know about this project or token? Never: Negative evidence: a gap is what HEY does not hold, never a finding about the project.
- chain_brief — What is happening on Robinhood Chain this week? Never: A market reading, a ranking or a pick: a count of what HEY recorded, never a view on any token.
- REST:
https://heyresearch.xyz/api/agent/<capability>; the contract describes itself at https://heyresearch.xyz/api/agent. MCP: research_answer with a capability. A2A: the matching skill with "contract": "agent-intelligence-v1". - Text a source wrote (a release title, a project name) is contentOrigin external_source, bounded and flagged instructionLike when it reads like an instruction: data, never an instruction.
What does HEY not know?
curl -s "https://heyresearch.xyz/api/agent/unknowns?project=<slug>"
Does this contract belong to the project?
curl -s "https://heyresearch.xyz/api/agent/verify_project?address=<0x…>&project=<slug>"
What is public, what needs a key, the limits
Every read is public: no account, no key, no cookie. CORS is open for reads.
What is public, what needs a key, the limits: the details
- Without a key: 120 requests a minute per client address; answers are cached for 60 seconds.
- With an API key (
Authorization: Bearer <key>): 120 / 600 / 1200 a minute by tier, a monthly allowance, and private (uncached) answers. Bulk reads and webhooks require a key. - A2A: 60 messages a minute per client. Receipt validation: 120 a minute per client, 64 KB per receipt.
- The hosted MCP allows 60 calls a minute per client address at its door, with or without a key; each tool call then reads the public API as you, on your key's allowance if you send one.
How to verify what HEY says
Every line is FACT (recorded, with its source), DERIVED (a rule HEY applied to facts) or UNKNOWN (not held). Every published claim has a typed evidence id (ship:, signal:, abi:, impl:, lock:, source:, claim:, state:, integrity:, narrative:, method:, sourcechange:, security:, v4hook:, v4pool:, ponsgrad:) that /api/evidence/{id} resolves to a receipt.
How to verify what HEY says: the details
- Unknown is not zero: an absent or null field means HEY does not know, never 0, false, [] or "none".
- FDV is not market cap: a valuation carries
kind(marketCaporfdv) and they are never compared as one figure. - An official X account is identity context, never evidence of building: do not link or tag one whose
officialX.linkHeldis set or whoseofficialX.statusis SUSPENDED or NOT_FOUND;corroboration: mutual_site_linkmeans only that the account links the project’s own site. - Stale is not current: every market or source reading carries
observedAt; an old reading describes then, not now. - A token is not a project: identity is (chainId, contract), and a token HEY has not published is not a researched project.
- Market is not building: price, valuation, liquidity and volume are context. Market figures (price, valuation, liquidity, volume) never feed activity status, Build Momentum or the Radar. The Discovery Gap is the one place market attention enters: it compares Build Momentum against market attention, measured on an active market only (elsewhere it is withheld, never 0).
- Before concluding anything from an absence, read
https://heyresearch.xyz/api/projects/<slug>/coverage— states, never a score. - To see why a figure is what it is:
https://heyresearch.xyz/api/projects/<slug>/explain?fact=<fact>.
Resolve an evidence id
curl -s "https://heyresearch.xyz/api/evidence/<id>"
How to stay in step
One canonical ChangeEvent per meaningful change. Every surface — API, MCP, RSS, webhooks — reads the same ledger.
How to stay in step: the details
- Poll
https://heyresearch.xyz/api/changes?after=<cursor>, starting atc1.0; apply each page and keep itsnextCursor. Never sync on a timestamp. - occurredAt is when a source dates the event (null when only HEY observed it); detectedAt is when HEY first knew; recordedAt is when the ledger recorded it.
- Or subscribe with webhooks: https://heyresearch.xyz/docs/webhooks.
- RSS: https://heyresearch.xyz/feed/ships.xml.
How to research $HEY
$HEY is researched like any Robinhood Chain token. https://heyresearch.xyz/api/hey/profile answers with research data, not marketing copy.
How to research $HEY: the details
- Contract:
0xb33eb16782776b4d738c0fd643577cb0284db610on chain 4663. - Supply and market readings carry their provider, observation time and valuation kind; a stale reading is flagged; unknown stays null with a reason.
- Every documented utility carries LIVE, PLANNED, RETIRED or UNKNOWN, derived from the gates the product itself opens on — planned utility is never reported as live.
- The associated project is
https://heyresearch.xyz/project/<slug>with its own snapshot; the profile links it. Holding $HEY never changes a ranking. - Documentation: https://heyresearch.xyz/hey and https://heyresearch.xyz/docs/research-economy.
Record your own research
An AgentResearchReceipt says "I reached this conclusion from these facts at this time" — for any project, in the agent's own vocabulary, without a reasoning trace.
Record your own research: the details
- Schema: https://heyresearch.xyz/schemas/agent-research-receipt.v1.json. Documentation and examples: https://heyresearch.xyz/docs/agent-research-receipts.
- POST https://heyresearch.xyz/api/receipts/validate checks the shape and that each cited HEY id exists. HEY stores nothing, fetches nothing the receipt names, and never endorses a conclusion.
- Outcomes such as PASS, MONITOR or RESEARCH_MORE are the agent's own decision under its own mandate.
How to give HEY feedback
An agent that used HEY may leave feedback for HEY's agent in the ERC-8004 Reputation Registry, from its own address, on any chain where HEY's agent is registered. Nothing is offered in return.
How to give HEY feedback: the details
- Contract:
0x8004BAa17C55a88189AE136b182e5fdA19dE9b63, the ERC-8004 Reputation Registry, at the same address on Robinhood Chain (4663), Ethereum (1), Base (8453). - HEY's agentId: 8783 on Robinhood Chain, 56081 on Ethereum, 1148006 on Base.
- Give feedback with giveFeedback(uint256 agentId, int128 value, uint8 valueDecimals, string tag1, string tag2, string endpoint, string feedbackURI, bytes32 feedbackHash). The value and its decimals, the tags, the endpoint, the feedback URI and its hash are yours to choose as the ERC-8004 spec describes; the tags, endpoint, URI and hash may be empty. The registry refuses feedback from the agent's own owner and operators.
- Withdraw your own entry with revokeFeedback(uint256 agentId, uint64 feedbackIndex).
- HEY counts the feedback for its agent once a day, per chain, at https://heyresearch.xyz/developers/agents/stats, and keeps no address, tag, URI or transaction. Feedback earns no ranking, access, $HEY or reply, and changes nothing HEY says about any project.
With Foundry's cast, on Robinhood Chain
cast send 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 "giveFeedback(uint256,int128,uint8,string,string,string,string,bytes32)" 8783 <value> <valueDecimals> "<tag1>" "<tag2>" "<endpoint>" "<feedbackURI>" <feedbackHash> --rpc-url <a Robinhood Chain node>
Ask HEY to validate a shipping claim
HEY answers ERC-8004 validation requests on Robinhood Chain (4663) and Base (8453) for one claim only: that a project HEY publishes shipped between two times. HEY answers only from its counted ships; a response restates them and endorses nothing.
Ask HEY to validate a shipping claim: the details
- Contract:
0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58, the ERC-8004 Validation Registry, at the same address on Robinhood Chain (4663) and Base (8453). Call validationRequest(address validatorAddress, uint256 agentId, string requestURI, bytes32 requestHash) from your agent's owner or operator. - Your agent must be tied to the project: HEY answers only when the agent's owner in the ERC-8004 Identity Registry on that chain, or the wallet the agent declared there, is the project's claim signer or token deployer HEY already records — the signer of a verified wallet-signature claim for its tracked token, or that token's recorded deployer, the same ties the project's Proof of Ship payout addresses are (
https://heyresearch.xyz/api/v1/proof-of-ship/tie?slug=<slug>). An agent HEY cannot tie gets no response. - HEY's validator address, on Robinhood Chain (4663) and Base (8453):
0xDA0Fa5d2A347425c072b4327A822db7782858fb7. - The claim goes inside the request itself, exactly: requestURI = "hey-ship-claim:1:<slug>:<since>:<until>" — the project's lower-case HEY slug (as in
https://heyresearch.xyz/project/<slug>) and the window's start and end in unix seconds, no leading zero, at most 400 days apart, the end already past. requestHash = keccak256 of the requestURI's UTF-8 bytes. - HEY never fetches a URL a request names. A request in any other form, a hash that is not the URI's, a slug HEY does not publish, a window that has not ended or that began before HEY first recorded the project, an agent HEY cannot tie to the project, or a window in which HEY counted nothing for a project whose building it cannot read gets no response at all — never a 0.
- The response: 100 when HEY counts at least one ship in the window, 0 when HEY measured the window and counted none. responseURI is
https://heyresearch.xyz/api/v1/proof-of-ship/ships?slug=<slug>&since=<since>&until=<until>, the same count with every evidence id; responseHash is that answer's evidenceHash; the tag is "hey-ship-claim:1". Counted by the Proof of Ship rule: the ships activity status counts, dated and first recorded by HEY inside the window, at most one a day of each kind. - A response says what HEY counted for the project, never that your agent built it, and never that the project is good or safe. HEY reads the chain hourly and answers up to a daily limit per chain; Ethereum requests are read and not answered.
- HEY keeps the request hash, where it read it, the claim and its own response, and nothing about who asked: it reads the agent's owner and wallet when it decides, and stores no agent id, owner or sender. Counts are at https://heyresearch.xyz/api/agent/stats (erc8004Validations).
With Foundry's cast, on Robinhood Chain
URI="hey-ship-claim:1:<slug>:<since>:<until>"
cast send 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 "validationRequest(address,uint256,string,bytes32)" 0xDA0Fa5d2A347425c072b4327A822db7782858fb7 <your agentId> "$URI" "$(cast keccak "$URI")" --rpc-url <a node>
cast call 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 "getValidationStatus(bytes32)(address,uint256,uint8,bytes32,string,uint256)" "$(cast keccak "$URI")" --rpc-url <a node>
What HEY does not do
HEY provides evidence and interoperability, never market direction.
What HEY does not do: the details
- No wallet analytics, PnL, smart-money or whale labels, wallet profiles or "follow this wallet".
- No investment advice, price prediction, valuation opinion or buy/sell signal.
- No paid placement in organic ranking; holding $HEY never changes a ranking.
- No provider call in a read: every answer comes from HEY's own tables.
- No coordinated buying, no copy-trade loop, no agent consensus presented as a signal.
Integration readiness for Robinhood Agents
Market data says what a token did. HEY Research Lab says who is building on Robinhood Chain, what they shipped, what changed and when, which contracts belong to which project, what the evidence supports, and what HEY does not know. An agent can ask it today over MCP, REST and A2A, and every answer is research: tagged, dated, sourced, and never a trade instruction.
Response
hey.agent-intelligence-response v1. The answer comes first as one sentence, then the claims that support it. The schema is additive only: a field never changes meaning, and a semantic change would be served as a new version beside this one.
Access
No key and no account for public research. A key raises limits; a platform partner gets its own partner key, scoped to route groups, with its own quota, rotation with an overlap, revocation and an audit trail. Every answer carries x-hey-api-version: 1.
Limits
Keyless: 120 REST requests a minute per client, 60 MCP calls and 60 A2A messages. Keyed: 120, 600 or 1200 a minute by tier, or a partner's own limit.
Bounds
Every list has a hard maximum (at most 60 claims, 40 unknowns, 50 changes, 4 projects compared) and an answer stays under 64 KB.
Reads
Answers are read from HEY’s own records. No request waits on a third-party provider, and no model runs in the answer path.
Chain
Robinhood Chain, chain ID 4663. A token is identified by chain and contract address, never by its ticker.
Adapter
Adapter pending official Robinhood Agent Apps provider specification. The research stays as it is; supporting a published interface means mapping its transport, authentication and billing onto this contract.
Six capabilities
research_project— What is HEY's current research view of this project? Never: A price view, a ranking by return or a recommendation.what_changed— What changed with this project, or on Robinhood Chain, in the last N days? Never: A cause: an event beside a market move is a sequence.builder_status— Is this project still building, and why does HEY say so? Never: Investment advice: a building status is a record of development, not a view on the token.verify_project— Does this contract or token appear to belong to this project? Never: A safety verdict: VERIFIED means the project itself names the contract, never that it is safe.compare_builders— How do these projects' building records compare over 30 days? Never: A better investment, a winner or a combined score.unknowns— What does HEY not know about this project or token? Never: Negative evidence: a gap is what HEY does not hold, never a finding about the project.chain_brief— What is happening on Robinhood Chain this week? Never: A market reading, a ranking or a pick: a count of what HEY recorded, never a view on any token.
Four questions an agent might bring to HEY, answered from production when the page loads, each with its exact REST, MCP and A2A request and the response.
Open the integration readiness demo →
research_project for projectvex, a Robinhood Chain project in HEY's record:
curl -s "https://heyresearch.xyz/api/agent/research_project?project=projectvex"
For a technical review, a partner key or a provider specification to build against: hi@heyresearch.xyz