Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.MadeOnSol/robinhood-chain

NPM · MCP-SERVER-ROBINHOOD-CHAIN · SCANNED SEP 20

Robinhood Chain (id 4663) trading intelligence: KOL trades, DEX tape, deployer reputation.

+4 this week 68 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 31 of 95 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency19
Schema Quality & AI Usability69
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 12188 tokens (~187/item across 65 items; 65 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management33
  • Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 65 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the io.github.MadeOnSol/robinhood-chain MCP server?

io.github.MadeOnSol/robinhood-chain runs locally as an npm package, launched with npx -y mcp-server-robinhood-chain. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · mcp-server-robinhood-chain

# add to Claude Code
claude mcp add madeonsol-robinhood-chain -- npx -y mcp-server-robinhood-chain
// .cursor/mcp.json
{
  "mcpServers": {
    "madeonsol-robinhood-chain": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-robinhood-chain"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "madeonsol-robinhood-chain": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-robinhood-chain"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add madeonsol-robinhood-chain -- npx -y mcp-server-robinhood-chain
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "madeonsol-robinhood-chain": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "mcp-server-robinhood-chain"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add madeonsol-robinhood-chain --command npx --arg -y --arg mcp-server-robinhood-chain
# ~/.hermes/config.yaml
mcp_servers:
  madeonsol-robinhood-chain:
    command: "npx"
    args: ["-y", "mcp-server-robinhood-chain"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "madeonsol-robinhood-chain": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "mcp-server-robinhood-chain"
      ]
    }
  }
}
# add to Vellum
assistant mcp add madeonsol-robinhood-chain -t stdio -c npx -a -y mcp-server-robinhood-chain
// mcp.json
{
  "mcpServers": {
    "madeonsol-robinhood-chain": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-robinhood-chain"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 19 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 +3
    • Stability: unverified → 0.27 functional
  • 12 Sept 26 +15
    • Malware scan: unverified → pass security
  • 10 Sept 26 49

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed npm/mcp-server-robinhood-chain@0.9.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 95 packages
Packages resolved 95
Stale 31
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 65 exposed · ~12,188 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
rhc_alpha_wallets ~409

Robinhood Chain smart-money wallet ranking — trader wallets ranked by realized on-chain performance. Wallets are effective trading accounts (the ERC-4337 userOp sender where a trade was bundled, not the bundler that relayed it), so relayer addresses do not appear as traders. net_eth is realized net flow (sell − buy); win_rate is the share of traded tokens taken out profitably; likely_bot flags atomic-arb/MM fleets. memecoin_share = launchpad-token trade share — filter with min_memecoin_share to isolate memecoin traders, or max_avg_mc_usd for low-caps. Refreshed every 15 min. Tier: PRO+.

NameTypeReqDescription
active_hoursnumberOnly wallets that traded within the last N hours
classificationstringhuman = not likely_bot; smart_money = human + net_eth ≥ 2 + win_rate ≥ 0.45
identitystringknown_kol = already mapped to a tracked Solana KOL; unknown = net-new RHC smart money
limitnumberPage size (1-100, default 25)
max_avg_mc_usdnumberMaximum average market cap traded — filter to low-cap degens
max_win_ratenumberMaximum win rate (0-1)
min_buy_ethnumberMinimum ETH deployed (whale/size filter)
min_memecoin_sharenumberMinimum share of trades in launchpad memecoins (0.7 ≈ mostly-memecoin)
min_net_ethnumberMinimum realized net ETH flow
min_tokensnumberMinimum distinct tokens traded
min_tradesnumberMinimum trade count
min_win_ratenumberMinimum win rate (0-1)
offsetnumberPagination offset
orderstringSort direction
sortstringSort axis

No output schema declared.

No examples provided.

rhc_coordination_alerts_create ~403

CREATE a Robinhood Chain coordination alert rule (POST — this writes and consumes quota). Fires when min_kols+ distinct tracked KOLs buy the same RHC token within window_minutes and the cluster scores at least min_score. SCORING CAVEAT: the shared v1 scorer is used so the number is comparable to Solana, but on RHC the `earliness` component is DEFAULTED to 50 (RHC has no early-entry equivalent) while `quality` is real (KOL 7d win-rate); every fired signal records which components were real in score_inputs. Delivered on the rhc:kol:coordination WS channel and/or an HMAC-signed webhook; webhook_secret is returned EXACTLY ONCE. Rule quota is PER CHAIN (PRO 5, ULTRA 20, BUSINESS 100); exceeding it returns 409. Tier: PRO+.

NameTypeReqDescription
cooldown_minintegerSilence per (rule, token) in minutes (1-1440, default 30)
delivery_modestringWhere fires are delivered (default 'websocket')
max_mc_usdMaximum token market cap — must be >= min_mc_usd
min_kolsintegerMinimum distinct KOL buyers to fire (2-50, default 3)
min_mc_usdMinimum token market cap, or null for no floor
min_scoreintegerMinimum composite score 0-100 (default 0)
namestringOptional human label (max 64 chars)
score_jump_breakintegerRe-fire inside the cooldown when the score jumps this many points (0-100, default 20)
webhook_urlstringHTTPS URL — REQUIRED unless delivery_mode is 'websocket'
window_minutesintegerRolling cluster window in minutes (1-60, default 15)

No output schema declared.

No examples provided.

rhc_coordination_alerts_delete ~65

DELETE a Robinhood Chain coordination alert rule PERMANENTLY. This cannot be undone — to stop it temporarily use rhc_coordination_alerts_update with is_active:false. Tier: PRO+.

NameTypeReqDescription
idstringyesCoordination rule id (UUID)

No output schema declared.

No examples provided.

rhc_coordination_alerts_get ~57

Get ONE Robinhood Chain coordination alert rule by id (UUID). Returns 404 if the rule does not exist or is not yours. Tier: PRO+.

NameTypeReqDescription
idstringyesCoordination rule id (UUID)

No output schema declared.

No examples provided.

rhc_coordination_alerts_list ~115

List your Robinhood Chain coordination alert rules — rules that fire when min_kols+ tracked KOLs buy the same RHC token inside a rolling window. Returns min_kols, window_minutes, min_score, cooldown_min, score_jump_break, the optional min_mc_usd/max_mc_usd band, delivery_mode and is_active. Rule quota is PER CHAIN and does not consume the Solana coordination budget: PRO 5, ULTRA 20, BUSINESS 100. Tier: PRO+.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

rhc_coordination_alerts_update ~296

UPDATE a Robinhood Chain coordination alert rule (PATCH — this writes). Send only the fields you want changed; is_active:false pauses the rule without deleting it. The min_mc_usd <= max_mc_usd check is only applied when BOTH bounds arrive in the same call, so send both together when narrowing a band. Pass null for name, webhook_url, min_mc_usd or max_mc_usd to clear them. Tier: PRO+.

NameTypeReqDescription
cooldown_minintegerSilence per (rule, token) in minutes (1-1440)
delivery_modestringWhere fires are delivered
idstringyesCoordination rule id (UUID)
is_activebooleanfalse pauses the rule without deleting it
max_mc_usdMaximum market cap, or null to clear the ceiling
min_kolsintegerMinimum distinct KOL buyers (2-50)
min_mc_usdMinimum market cap, or null to clear the floor
min_scoreintegerMinimum composite score 0-100
nameNew label, or null to clear
score_jump_breakintegerRe-fire threshold in score points (0-100)
webhook_urlNew HTTPS webhook URL, or null to clear
window_minutesintegerRolling cluster window in minutes (1-60)

No output schema declared.

No examples provided.

rhc_copytrade_create ~378

CREATE a Robinhood Chain copy-trade rule (POST — this writes and consumes quota; do not call it to explore). Amounts are ETH, not SOL. IMPORTANT: RHC copy-trade has NO market-cap band (no min_mc_usd/max_mc_usd) — unlike the Solana engine — because the RHC KOL trade event carries no market cap, so the filter would either need a per-event DB lookup on a ~3.3M-trades/day chain or silently never match. Returns webhook_secret EXACTLY ONCE when delivery_mode includes 'webhook' — store it, payloads are HMAC-SHA256 over `<timestamp>.<body>` in X-MadeOnSol-Signature. Rule/wallet caps are PER CHAIN (PRO 3 rules / 5 wallets, ULTRA 20 / 50, BUSINESS 100 / 250); exceeding the rule cap returns 409. Tier: PRO+.

NameTypeReqDescription
delivery_modestringWhere signals are delivered (default 'webhook')
min_trade_ethnumberMinimum source-wallet trade size in ETH to fire (default 0)
namestringOptional human label (max 64 chars)
only_actionstringWhich side to mirror (default 'buy')
sizing_amountnumberyesAmount in ETH, interpreted by sizing_mode. Required
sizing_modestringHow sizing_amount is interpreted (default 'fixed')
source_walletsarrayyes1-250 source EVM wallets to mirror (0x, 40 hex). Lowercased on write. Capped by tier: PRO 5, ULTRA 50, BUSINESS 250
webhook_urlstringHTTPS URL — REQUIRED unless delivery_mode is 'websocket'

No output schema declared.

No examples provided.

rhc_copytrade_delete ~81

DELETE a Robinhood Chain copy-trade rule PERMANENTLY. This cannot be undone — to stop a rule temporarily use rhc_copytrade_update with is_active:false instead. Returns 404 if the rule does not exist or is not yours. Tier: PRO+.

NameTypeReqDescription
idintegeryesCopy-trade rule id (positive integer)

No output schema declared.

No examples provided.

rhc_copytrade_get ~57

Get ONE Robinhood Chain copy-trade rule by id. Returns 404 if the rule does not exist or is not yours. Tier: PRO+.

NameTypeReqDescription
idintegeryesCopy-trade rule id (positive integer)

No output schema declared.

No examples provided.

rhc_copytrade_list ~139

List your Robinhood Chain copy-trade rules. Each rule mirrors 1+ source EVM wallets and emits a signal (webhook and/or the rhc:copytrade:signals WS channel) when they trade on chain 4663. Returns id, name, source_wallets, min_trade_eth, only_action, sizing_mode, sizing_amount, delivery_mode, webhook_url, is_active. Rule caps are PER CHAIN and do not consume the Solana copy-trade budget: PRO 3 rules / 5 wallets each, ULTRA 20 / 50, BUSINESS 100 / 250. Tier: PRO+.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

rhc_copytrade_signals ~148

Fire history for your Robinhood Chain copy-trade rules — the catch-up path after a missed webhook or a dropped WS connection. Each signal carries fired_at, source_wallet, action, token_address/symbol/name, source_eth_amount, suggested_eth_amount, price_usd, dex, tx_hash and delivery status. Retained 7 DAYS, newest first. Read-only. Tier: PRO+.

NameTypeReqDescription
limitintegerNumber of signals (1-500, default 50)
sincestringOnly signals fired at or after this ISO 8601 timestamp
subscription_idintegerFilter to one of your rules (404 if not yours)

No output schema declared.

No examples provided.

rhc_copytrade_update ~253

UPDATE a Robinhood Chain copy-trade rule (PATCH — this writes). Send only the fields you want changed; is_active:false pauses a rule without deleting it. source_wallets is a whole-list REPLACE and is re-checked against the tier wallet cap, so a PRO rule cannot be PATCHed past 5 wallets. Pass null for name or webhook_url to clear them. There is no market-cap band to set on RHC. Tier: PRO+.

NameTypeReqDescription
delivery_modestringWhere signals are delivered
idintegeryesCopy-trade rule id (positive integer)
is_activebooleanfalse pauses the rule without deleting it
min_trade_ethnumberMinimum source trade size in ETH
nameNew label, or null to clear
only_actionstringWhich side to mirror
sizing_amountnumberAmount in ETH
sizing_modestringHow sizing_amount is interpreted
source_walletsarrayReplacement wallet list (0x, 40 hex) — re-checked against the tier cap
webhook_urlNew HTTPS webhook URL, or null to clear

No output schema declared.

No examples provided.

rhc_deployer_alerts ~475

Robinhood Chain deployer alert feed — new_deploy / graduated events, newest first. TWO things a consumer must know: (1) TRADABILITY IS FILTERED BY DEFAULT — alerts on tokens with liquidity_usd < $100 (including unknown liquidity) are dropped, because a $45K-MC alert on a drained $68 pool is not a signal; set include_untradeable=true for the raw tape. The active setting is echoed as tradability_filter. (2) TIER IS RESOLVED AT READ TIME from the live reputation view, so it can never advertise a reputation the deployer has since lost; the snapshot written when the alert fired is returned as tier_at_alert with tier_is_stale flagging a drift. Tiers ride runner_rate ($100K peak MC) + 24h of deployer history, not the $40K graduation rate. Each alert also carries liquidity_usd and current_mc_usd. Poll forward with since=next_event_at, page back with before=next_before. Tier: BASIC (limit capped at 50 below ULTRA).

NameTypeReqDescription
alert_typestringEvent type — RHC has no bonded/kol_buy alerts
beforestringOnly alerts with event_at strictly older than this (ISO 8601 with offset) — pass next_before to page back
deployer_tierstringFilter on the RESOLVED (current) tier, applied after read-time resolution
include_untradeablebooleantrue disables the default liquidity_usd >= $100 tradability filter and returns the raw tape
launchpadstringFilter by launchpad: pons, flap, clanker, hood.fun, noxa, virtuals
limitnumberNumber of alerts (1-500; capped at 50 unless ULTRA)
min_mcnumberMinimum market cap at the time the alert fired (mc_at_alert)
offsetnumberPagination offset (used only when no before cursor is given)
prioritystringAlert priority (RHC has no 'low')
sincestringOnly alerts with event_at strictly newer than this (ISO 8601 with offset) — the incremental-polling cursor

No output schema declared.

No examples provided.

rhc_deployer_best_tokens ~171

Robinhood Chain best tokens from REPUTABLE deployers — the highest peak-MC tokens launched by elite/good-tier deployers in the window, each with live MC, peak MC + peak_mc_at, liquidity and the deployer's tier / graduation_rate / runner_rate. Tier-gated on purpose: this answers 'what did the deployers worth tracking actually produce' — for an unfiltered peak-MC ranking use rhc_tokens. Scans at most the 1000 most recent qualifying launches; truncated:true means the top-N was drawn from those rather than the whole period. Tier: BASIC.

NameTypeReqDescription
limitnumberNumber of tokens (1-50, default 10)
periodstringWindow over the token's first_seen_at (default 7d)

No output schema declared.

No examples provided.

rhc_deployer_history ~160

Robinhood Chain deployer deploy history (deep pagination, up to 1000 per page) — the reputation row plus every token the deployer launched, newest first, enriched with live and peak MC, with an EXACT total count. RHC has no per-day reputation snapshot table, so this is a token-deploy history, not a daily tier time-series. Unknown wallets return 200 with is_deployer: false. Tier: PRO+ (the point-in-time rhc_deployer_profile stays BASIC).

NameTypeReqDescription
addressstringyesDeployer EVM wallet address (0x, 40 hex)
limitnumberPage size (1-1000, default 100)
offsetnumberPagination offset

No output schema declared.

No examples provided.

rhc_deployer_leaderboard ~284

Robinhood Chain deployer reputation leaderboard — deployers ranked by reputation over every launchpad token we've indexed (99k+ deployers). Most RHC launchpads are direct-to-DEX (no bonding curve), so both milestones are market-cap based: graduation_rate = share of tokens that reached a $40K+ peak MC; runner_rate = share that reached $100K+. IMPORTANT (migrations 267 + 269): the elite/good TIER now rides runner_rate ($100K) AND requires 24h of deployer history — elite = 5+ tokens, 24h+ old, runner_rate >= 0.50; good = same with >= 0.25. graduation_rate still means the $40K bar and is still returned, but it NO LONGER sets the tier (it proved farmable by operators rotating wallets); only the spammer label still keys off it (20+ tokens, graduation_rate < 0.05). Tier: BASIC.

NameTypeReqDescription
limitnumberPage size (1-50, default 20)
min_tokensnumberMinimum tokens deployed (default 3)
offsetnumberPagination offset
sortstringOrdering (all descending, NULLs last; default graduation_rate)
tierstringFilter to one reputation tier

No output schema declared.

No examples provided.

rhc_deployer_profile ~140

Robinhood Chain single deployer profile — one deployer's full reputation row (tier, bonding_rate, runner_rate, best peak MC, launchpads, deploy timeline) plus their 50 most recent tokens enriched with live MC and peak MC. tier is earned on runner_rate ($100K peak MC) plus 24h of deployer history, NOT on graduation_rate ($40K), which is still returned but no longer sets the tier. Unknown wallets return 200 with is_deployer: false (not a 404). Tier: BASIC.

NameTypeReqDescription
addressstringyesDeployer EVM wallet address (0x, 40 hex)

No output schema declared.

No examples provided.

rhc_deployer_stats ~143

Robinhood Chain chain-wide deployer reputation summary — total deployers and tokens, reputable (elite+good) count, population and token count per tier, spam token share, and 24h/7d alert volume. Also returns the ACTIVE tier_rules so a consumer can read what 'elite' currently means instead of guessing: elite/good are earned on runner_rate ($100K+ peak MC, migration 267) plus 24h of deployer history (migration 269); graduation_rate ($40K) no longer sets the quality tier and only still drives the spammer label. graduation_definition and runner_definition are echoed too. Tier: BASIC.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

rhc_deployer_tokens ~225

Robinhood Chain deployer launch history (paginated) — the FULL enumerable token list for one deployer, enriched with live MC, peak MC + peak_mc_at and liquidity. Distinct from rhc_deployer_profile, which caps recent tokens at 50 and is a profile read. total is the deployer's lifetime tokens_deployed, with has_more for paging. NOTE: sort=peak_mc_usd re-orders the REQUESTED PAGE only (peak MC lives in another table) and the response echoes sort_scope:'page' to say so — it is not a global top-tokens ranking. Unknown wallets return 200 with is_deployer: false. Tier: BASIC.

NameTypeReqDescription
addressstringyesDeployer EVM wallet address (0x, 40 hex)
limitnumberPage size (1-100, default 50)
offsetnumberPagination offset
sortstringfirst_seen_at (default, newest first, applied in Postgres) or peak_mc_usd (page-scoped re-sort)

No output schema declared.

No examples provided.

rhc_deployer_trajectory ~208

Robinhood Chain deployer trajectory — is this deployer getting BETTER or WORSE over time? Returns trend ('improving' | 'declining' | 'stable'), current streak, longest hit/miss streaks, a 10-launch rolling success-rate curve, avg days between deploys, avg launches burned recovering from a miss, and best/worst stretches. The per-token success event is GRADUATION ($40K+ peak MC, echoed as success_metric) — deliberately not the $100K runner bar that sets the tier, because $100K is too rare to give most deployers a readable curve. Field names keep the Solana 'bond' wording for drop-in compatibility. Analyses up to 500 tokens; truncated:true means the curve is a partial history. Unknown wallets return 200 with is_deployer: false. Tier: BASIC.

NameTypeReqDescription
addressstringyesDeployer EVM wallet address (0x, 40 hex)

No output schema declared.

No examples provided.

rhc_equities ~420

Robinhood Chain tokenized equities — every official Robinhood tokenized stock and ETF (NVDA, SPY, AAPL, …) with live price / market cap / liquidity and 24h trades, ETH volume, buys/sells and distinct buyers/sellers. IDENTITY IS THE ISSUER BEACON, NEVER THE NAME: a token is listed only if its contract is an EIP-1967 beacon proxy on Robinhood's issuer beacon 0xe10b6f6b275de231345c20d14ab812db62151b00, read from our own node (re-classified every 10 min). The day this shipped there were 20 fake 'GameStop • Robinhood Token' contracts and 8 fake NVDAs carrying the exact official name suffix — none appear here, and a token that merely LOOKS like an equity by name will not either; issuer_beacon is echoed per row so you can verify. verified is always true by construction. name has the '• Robinhood Token' suffix stripped for display; onchain_name is the raw ERC-20 name. price_usd / market_cap_usd / liquidity_usd may be null for a listed-but-not-yet-priced equity; check liquidity_basis. Use symbol for an exact ticker (case-insensitive) or q for a substring of symbol/name; sort by volume (default) / trades / market_cap / last_trade / symbol. 24h stats are cached 60 s (stats_as_of). This is a discovery surface — per-token drill-downs (rhc_token, rhc_token_holders, …) keep their own gates. Tier: BASIC (any valid key).

NameTypeReqDescription
limitintegerRows (1-300)
qstringSubstring of symbol or name
sortstringOrdering (default volume = 24h ETH volume, descending; symbol is ascending)
symbolstringExact ticker, case-insensitive (e.g. NVDA)

No output schema declared.

No examples provided.

rhc_first_touch_subscriptions_create ~248

CREATE a Robinhood Chain first-touch subscription (POST — this writes and consumes quota). Pushes on the rhc:kol:first_touches WS channel and/or an HMAC-signed webhook the moment a token gets its first tracked-KOL buy. FILTER SET DIFFERS FROM SOLANA ON PURPOSE: RHC has no scout-score table, so min_scout_tier and min_n_touches do NOT exist here (a filter that silently matched nothing would be worse than its absence); the RHC quality gates are min_kol_winrate and strategy. Unknown filter keys are REJECTED, not ignored. webhook_secret is returned EXACTLY ONCE. Quota is PER CHAIN (ULTRA 10, BUSINESS 50); exceeding it returns 409. Tier: ULTRA+.

NameTypeReqDescription
delivery_modestringWhere events are delivered (default 'websocket')
filtersobjectFilter object. Omit or {} to receive every first touch. Unknown keys are rejected
namestringOptional human label (max 64 chars)
webhook_urlstringHTTPS URL — REQUIRED unless delivery_mode is 'websocket'

No output schema declared.

No examples provided.

rhc_first_touch_subscriptions_delete ~67

DELETE a Robinhood Chain first-touch subscription PERMANENTLY. This cannot be undone — to stop it temporarily use rhc_first_touch_subscriptions_update with is_active:false. Tier: ULTRA+.

NameTypeReqDescription
idstringyesFirst-touch subscription id (UUID)

No output schema declared.

No examples provided.

rhc_first_touch_subscriptions_get ~65

Get ONE Robinhood Chain first-touch subscription by id (UUID), including its stored filters object. Returns 404 if the subscription does not exist or is not yours. Tier: ULTRA+.

NameTypeReqDescription
idstringyesFirst-touch subscription id (UUID)

No output schema declared.

No examples provided.

rhc_first_touch_subscriptions_list ~109

List your Robinhood Chain first-touch subscriptions — push rules that fire when a token receives its FIRST buy from any tracked KOL (the discovery signal behind rhc_kol_first_touches). Returns the filters object, delivery_mode, webhook_url and is_active. Subscription quota is PER CHAIN and does not consume the Solana first-touch budget: ULTRA 10, BUSINESS 50 (PRO is 0 — this feature is ULTRA+). Tier: ULTRA+.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

rhc_first_touch_subscriptions_update ~202

UPDATE a Robinhood Chain first-touch subscription (PATCH — this writes). CAREFUL: `filters` is a WHOLE-OBJECT REPLACE, not a merge — send the complete filter set you want, because any key you omit is removed (that is the only way to express 'drop this filter'). Read the current filters with rhc_first_touch_subscriptions_get first. is_active:false pauses without deleting. Pass null for name or webhook_url to clear them. Tier: ULTRA+.

NameTypeReqDescription
delivery_modestringWhere events are delivered
filtersobjectREPLACES the stored filter object wholesale — omitted keys are dropped, not kept
idstringyesFirst-touch subscription id (UUID)
is_activebooleanfalse pauses the subscription without deleting it
nameNew label, or null to clear
webhook_urlNew HTTPS webhook URL, or null to clear

No output schema declared.

No examples provided.

rhc_kol_coordination ~284

Robinhood Chain KOL coordination / clustering — tokens bought by min_kols+ DISTINCT tracked KOLs inside the window, ranked by KOL count then buy ETH. Per token: buy/sell/net ETH, signal ('accumulating' when net_eth >= 0, else 'distributing'), exited_count vs holders_count, time_to_consensus_sec (first→last KOL buy), MC at first KOL buy, current/peak MC, liquidity, deployer_tier, token age, and the per-KOL breakdown (evm_address, name, twitter_url, buy_eth, sell_eth, exited). Computed read-time from the RHC KOL tape — RHC has no KOL winrate/strategy scores, so those Solana fields are absent. Tier: BASIC.

NameTypeReqDescription
limitnumberNumber of tokens to return (1-50)
max_mc_usdnumberMaximum market cap at the first KOL buy — must be >= min_mc_usd
min_kolsnumberMinimum distinct KOL buyers for a token to qualify (2-50)
min_mc_usdnumberMinimum market cap at the FIRST KOL buy (tokens with unknown MC are dropped when a band is set)
periodstringRolling window over KOL buys

No output schema declared.

No examples provided.

rhc_kol_feed ~232

Robinhood Chain (chain id 4663) real-time KOL trade feed — every buy/sell from tracked Solana KOLs' verified EVM wallets, attributed to the effective trading account from our self-hosted node (tx.from on an ordinary transaction, or the ERC-4337 userOp sender when the trade was bundled — never the bundler). EVM-native: token_address (0x), eth_amount, tx_hash, block_number. Each row is enriched with deployer_tier, current/peak MC, and mc_multiple_since_trade ('did the call run'). Tier: BASIC (any valid key).

NameTypeReqDescription
actionstringOnly buys or only sells
beforestringCursor — ISO 8601 timestamp; returns trades strictly older than this. Pass next_before to page back.
kolstringFilter to a single KOL by their EVM wallet (0x, 40 hex)
limitnumberNumber of trades to return (1-100)
min_ethnumberMinimum trade size in ETH

No output schema declared.

No examples provided.

rhc_kol_first_touches ~308

Robinhood Chain KOL first touches — the GLOBALLY earliest buy by ANY tracked KOL per token (the discovery / early-entry signal), newest first. Each event carries eth_amount, tx_hash, token_age_minutes at the touch, MC + price at the first buy, current and peak MC, and the first_kol block. Cursor back with next_before. Tier: BASIC, but limit is clamped to 20 below PRO and the KOL's evm_address is returned only on ULTRA/BUSINESS (name + twitter_url always).

NameTypeReqDescription
beforestringCursor — only first touches strictly older than this (ISO 8601 with offset). Pass next_before to page back.
launchpadstringFilter by launchpad: pons, flap, clanker, hood.fun, noxa, virtuals
limitnumberNumber of events (1-100; clamped to 20 on BASIC)
max_mc_usdnumberMaximum market cap at the first buy — must be >= min_mc_usd
min_ethnumberMinimum size of the first buy in ETH
min_mc_usdnumberMinimum market cap at the first buy
sincestringOnly first touches strictly newer than this (ISO 8601 with offset)
token_age_max_minnumberOnly tokens younger than N minutes at the time of the first touch

No output schema declared.

No examples provided.

rhc_kol_hot_tokens ~74

Robinhood Chain consensus tokens — bought by 2+ distinct tracked KOLs inside the window, ranked by KOL-buyer count then buy volume. Enriched with launchpad, deployer_tier, graduation status and current MC. Tier: BASIC.

NameTypeReqDescription
windowstringRolling consensus window

No output schema declared.

No examples provided.

rhc_kol_leaderboard ~84

Robinhood Chain KOL activity leaderboard — KOLs ranked by trade count, then net ETH flow, over the chosen window. net_eth is buy−sell flow (not realized PnL). Tier: BASIC.

NameTypeReqDescription
limitnumberNumber of KOLs to return (1-100)
periodstringRolling window

No output schema declared.

No examples provided.

rhc_kol_profile ~64

Robinhood Chain single KOL profile — aggregate stats over one KOL's last 200 RHC trades plus their 50 most recent trades. Tier: BASIC.

NameTypeReqDescription
walletstringyesKOL EVM wallet address (0x, 40 hex)

No output schema declared.

No examples provided.

rhc_lp_events ~427

Robinhood Chain liquidity REMOVALS feed — the rug signal. Every Uniswap v2/v3 Burn and every v4 ModifyLiquidity with a NEGATIVE delta on tracked pools, decoded from our own node's log subscription, newest first. REMOVALS ONLY: liquidity ADDS are not persisted at all (v4 adds share the topic and are dropped at decode time; v2/v3 Mint is not subscribed), so every row is event:'remove', an empty page means 'no removals seen' and NEVER 'no liquidity activity', and the response's coverage block says adds_persisted:false — do not present this as an add/remove ledger. Amounts are RAW on-chain uint256 integers returned as decimal STRINGS (liquidity, amount0, amount1, token_amount_raw, quote_amount_raw) — never coerce them to floats; token0/token1 say which pool side is which and token_amount_raw / quote_token / quote_amount_raw pre-resolve the token side. v4 rows carry liquidity only — the pool manager emits no token amounts (protocol, not a gap). provider is the wallet that pulled; provider_is_token_deployer=true is the classic rug shape, with provider_deployer_tier / provider_kol_name enrichment. block_time is the exact block header timestamp. Cursor: pass next_before back as `before` (same opaque (block_time,id) keyset as rhc_trades). Data since 2026-08-05. Tier: PRO+ (403 on BASIC).

NameTypeReqDescription
beforestringOpaque cursor from a previous response's next_before
dexstringFilter by DEX version
limitintegerNumber of events (1-200)
poolstringPool address (v2/v3) or bytes32 poolId (v4)
providerstringFilter to one liquidity provider — the wallet that pulled (0x, 40 hex)
tokenstringFilter to one token address (0x, 40 hex)

No output schema declared.

No examples provided.

rhc_price_alerts_create ~316

CREATE a Robinhood Chain price alert (POST — this writes and consumes quota). Fires when the token's market cap falls drop_pct below the baseline captured AT CREATION TIME, and optionally again when it recovers recovery_pct off the dip low. TIMING: evaluation is a ~15 SECOND POLL of rhc_token_prices, not a live price loop — effective latency is that interval plus the token's own price-update cadence, so do NOT assume parity with Solana's sub-second alerts. The token must already be tracked with a market cap on RHC or the call returns 400. Returns webhook_secret EXACTLY ONCE when delivery_mode includes 'webhook'. Active-alert quota is PER CHAIN (PRO 5, ULTRA 25, BUSINESS 125); exceeding it returns 409. Tier: PRO+.

NameTypeReqDescription
delivery_modestringWhere events are delivered (default 'webhook')
drop_pctnumberyesPercent drop from the creation-time baseline MC that fires the dip (0.01-99.99)
namestringOptional human label (max 64 chars)
recovery_pctnumberPercent rebound off the dip low that fires a recovery event (0.01-1000). Omit for dip-only
token_addressstringyesRHC token address (0x, 40 hex). Must be a token we already price
webhook_urlstringHTTPS URL — REQUIRED unless delivery_mode is 'websocket'

No output schema declared.

No examples provided.

rhc_price_alerts_delete ~95

DELETE a Robinhood Chain price alert PERMANENTLY. This cannot be undone — to stop it temporarily use rhc_price_alerts_update with is_active:false. Note that recreating an alert re-captures the baseline market cap at the new creation time, so a delete+recreate is NOT a no-op. Tier: PRO+.

NameTypeReqDescription
idintegeryesPrice alert id (positive integer)

No output schema declared.

No examples provided.

rhc_price_alerts_events ~197

Fire history for your Robinhood Chain price alerts — the catch-up path after a missed webhook or a dropped WS connection. Each event carries event_type ('dip' or 'recovery'), fired_at, token_address, baseline_mc_usd, current_mc_usd, drop_pct_actual, dip_low_mc_usd, recovery_pct_actual and delivery status. Retained 30 DAYS, newest first. Because evaluation is a ~15s poll, fired_at is the poll tick that observed the move, not the exact on-chain moment. Read-only. Tier: PRO+.

NameTypeReqDescription
alert_idintegerFilter to one of your alerts (404 if not yours)
event_typestringOnly dip events or only recovery events
limitintegerNumber of events (1-500, default 50)
sincestringOnly events fired at or after this ISO 8601 timestamp

No output schema declared.

No examples provided.

rhc_price_alerts_get ~71

Get ONE Robinhood Chain price alert by id, including its captured baseline_mc_usd, current status and dip_low_mc_usd. Returns 404 if the alert does not exist or is not yours. Tier: PRO+.

NameTypeReqDescription
idintegeryesPrice alert id (positive integer)

No output schema declared.

No examples provided.

rhc_price_alerts_list ~155

List your Robinhood Chain price alerts — market-cap dip/recovery alerts on a single RHC token. Returns baseline_mc_usd (captured when the alert was created), drop_pct, recovery_pct, status, dip_low_mc_usd, dip_fired_at, delivery_mode, is_active, expires_at. TIMING: RHC alerts are POLLED on a ~15 SECOND interval against rhc_token_prices — they are NOT sub-second like the Solana price alerts, because the RHC price writer emits no pg_notify. Quota is PER CHAIN and does not consume the Solana price-alert budget: PRO 5 active, ULTRA 25, BUSINESS 125. Tier: PRO+.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

rhc_price_alerts_update ~169

UPDATE a Robinhood Chain price alert (PATCH — this writes). Only name, delivery_mode, webhook_url and is_active are mutable. token_address, drop_pct and recovery_pct are IMMUTABLE BY DESIGN: changing a threshold on an already-dipped alert would make its recorded events uninterpretable — delete and recreate instead (which also re-captures the baseline). Pass null for name or webhook_url to clear them. Tier: PRO+.

NameTypeReqDescription
delivery_modestringWhere events are delivered
idintegeryesPrice alert id (positive integer)
is_activebooleanfalse pauses the alert without deleting it
nameNew label, or null to clear
webhook_urlNew HTTPS webhook URL, or null to clear

No output schema declared.

No examples provided.

rhc_recent_bonds ~187

Robinhood Chain recent graduations — tokens that just crossed the $40K peak-MC milestone, newest peak first, with live MC, peak MC + peak_mc_at, launchpad and the deployer's address + tier. On RHC a 'bond' is NOT a bonding-curve completion (noxa/pons/clanker launch direct-to-DEX with no curve); the set is defined purely by peak_mc_usd >= $40,000, echoed as graduation_mc. min_peak can only RAISE that floor, never lower it. Tier: BASIC.

NameTypeReqDescription
deployer_tierstringOnly graduations from deployers in this reputation tier
limitnumberNumber of tokens (1-200, default 50)
min_peaknumberMinimum peak MC in USD — clamped up to $40,000 if lower

No output schema declared.

No examples provided.

rhc_token ~78

Robinhood Chain token snapshot — metadata, live price/MC/FDV, peak MC + drawdown, graduation status, deployer reputation block (+ other tokens by the same deployer), KOL activity summary, and pool inventory with reserves. Tier: BASIC.

NameTypeReqDescription
addressstringyesToken address (0x, 40 hex)

No output schema declared.

No examples provided.

rhc_token_batch ~192

Robinhood Chain multi-token snapshot — up to 50 tokens in ONE call (POST /api/v1/rhc/token/batch). Per token: symbol/name/decimals, launchpad, graduation status, live price/MC/FDV/liquidity, peak MC + peak_mc_at, primary_dex, last trade time, and the deployer reputation block (tier, tokens_deployed, graduation_rate, runner_rate). Set-based, so it is far cheaper than 50 single-token calls. Every REQUESTED address is echoed back in order — unknown ones come back as found:false rather than being silently dropped. Deliberately does NOT include buyer-quality (use rhc_token_batch_buyer_quality). Tier: BASIC.

NameTypeReqDescription
addressesarrayyes1-50 token addresses (0x, 40 hex). Duplicates are de-duplicated; addresses are lowercased.

No output schema declared.

No examples provided.

rhc_token_batch_buyer_quality ~190

Robinhood Chain multi-token early-buyer quality — score several tokens' early-buyer cohorts in ONE call (POST /api/v1/rhc/tokens/batch/buyer-quality). MAX 20 ADDRESSES, not the Solana batch cap of 50: RHC buyer-quality is a per-token cohort computation (ordered early-buyer scan + bundle + alpha/dump-cluster joins), so it cannot collapse into one set-based query. Each entry is the same payload rhc_token_buyer_quality returns; a token that fails to score degrades to an { error } entry instead of failing the whole batch, and the response reports requested vs scored. Tier: BASIC.

NameTypeReqDescription
addressesarrayyes1-20 token addresses (0x, 40 hex) — the cap is 20, NOT 50. Duplicates are de-duplicated.

No output schema declared.

No examples provided.

rhc_token_bundle ~126

Robinhood Chain launch-bundle detection — ranks the first 20 distinct buyers by on-chain order and flags a bundle when 3+ make their first buy in the SAME BLOCK (bundle_kind 'same_block'; there is no atomic_tx on an Arbitrum Orbit L2), then reports the cohort's current held %. Field-gated by tier: BASIC gets the scalar bundle signal; PRO adds the top-10 wallets; ULTRA returns the full cohort with alpha-wallet identity. Tier: BASIC.

NameTypeReqDescription
addressstringyesToken address (0x, 40 hex)

No output schema declared.

No examples provided.

rhc_token_buyer_quality ~114

Robinhood Chain early-buyer quality — a 0–100 read on a token's earliest distinct buyer cohort (first 20): win-rate, KOL-presence, bot-domination and bundle-buyer legs, plus the informational dump-cluster ensemble (dump_cluster_count flags the pattern but does not move the score). Neutral score (50) with a note when the token has no buyer history yet. Tier: BASIC.

NameTypeReqDescription
addressstringyesToken address (0x, 40 hex)

No output schema declared.

No examples provided.

rhc_token_candles ~121

Robinhood Chain 1-minute OHLC candles — price + market-cap OHLC, close liquidity, volume with buy/sell split, and trade/buy/sell counts, ordered oldest→newest. Tier: PRO+.

NameTypeReqDescription
addressstringyesToken address (0x, 40 hex)
fromstringLower bound on bucket_start (ISO)
limitnumberNumber of candles (1-1000, default 240)
tostringUpper bound on bucket_start (ISO)

No output schema declared.

No examples provided.

rhc_token_early_buyers ~107

First buyers of a Robinhood Chain token, ranked, with still-holding status. Previously only readable as a count inside a wallet profile ('this wallet was an early buyer of N tokens') — this is the per-token ranked list. Added 2026-09-10. Tier: PRO+.

NameTypeReqDescription
addressstringyesToken address (0x, 40 hex)
limitintegerRows, capped at 20 (default 20)

No output schema declared.

No examples provided.

rhc_token_flow ~219

Net buy/sell flow on a Robinhood Chain token split by mutually-exclusive trader cohort — who is accumulating and who is distributing. SIGN CONVENTION: net_eth = sell MINUS buy, so a POSITIVE net_eth means that cohort DISTRIBUTED (took ETH out) and a NEGATIVE value means it ACCUMULATED. Do not invert this. Cohorts are assigned by a priority ladder and each trader lands in exactly one: kol, bot, dump_cluster, early_buyer, unprofiled, smart_money, retail. smart_money is DERIVED (win_rate >= 0.5 and net positive), not a stored label. unprofiled is a real answer, not missing data — that trader has not met the reputation thresholds yet. There is deliberately NO fresh_wallet cohort because Robinhood Chain stores no wallet-level first-seen. Tier: PRO+.

NameTypeReqDescription
addressstringyesToken address (0x, 40 hex)
windowstringLookback window (default 24h)

No output schema declared.

No examples provided.

rhc_token_holders ~367

Exact holder set and concentration for a Robinhood Chain token. Balances are folded from ERC-20 Transfer logs — NOT derived from trades — and reconciled against on-chain totalSupply() at a pinned block. ALWAYS CHECK verified FIRST: false means the reconstruction is incomplete for that token and unverified_reason explains why (a token that only recently became liquid legitimately has partial history); do not present unverified numbers as exact. Concentration (top1/top10/top50 share, hhi, deployer_pct) EXCLUDES liquidity pools and burn addresses from the circulating denominator, because the largest holder of a token is normally its own pool; those are reported separately as pool_held_pct and burned_pct. balance is a raw uint256 returned as a decimal STRING — never coerce it to a float, it exceeds 2^53. Holder addresses may be ERC-4337 smart accounts, so holder_count is not a headcount of people. holder_growth.{1h,24h,7d} reports entered (first Transfer at-or-after the window's cutoff_block), entered_still_holding, exited (pre-existing holders whose last Transfer in the window left them at zero) and net = entered_still_holding − exited ≈ change in holder_count — pools/burns excluded; a window is null only when the chain had no ingested trades in it, the whole object null only if the growth read failed. Tier: PRO+ (50 rows; ULTRA/BUSINESS raises the cap to 200).

NameTypeReqDescription
addressstringyesToken address (0x, 40 hex)
limitintegerRows (capped 50 on PRO, 200 on ULTRA/BUSINESS)
offsetintegerPage offset

No output schema declared.

No examples provided.

rhc_token_kol_consensus ~101

Robinhood Chain KOL consensus on a token — distinct KOL buyers vs sellers, exit rate (bought AND sold), net ETH flow (net_flow_eth), median entry MC, and first-touch wallet/time. ULTRA additionally returns the buyers and exited wallet lists. consensus is null when no tracked KOL has traded the token. Tier: PRO+.

NameTypeReqDescription
addressstringyesToken address (0x, 40 hex)

No output schema declared.

No examples provided.

Common questions

What is the io.github.MadeOnSol/robinhood-chain MCP server?

io.github.MadeOnSol/robinhood-chain is an MCP server listed in the public MCP registry as io.github.MadeOnSol/robinhood-chain. Robinhood Chain (id 4663) trading intelligence: KOL trades, DEX tape, deployer reputation. This page covers its npm package (mcp-server-robinhood-chain).

Is the io.github.MadeOnSol/robinhood-chain MCP server safe to use?

io.github.MadeOnSol/robinhood-chain scores 68 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.MadeOnSol/robinhood-chain MCP server expose?

io.github.MadeOnSol/robinhood-chain exposes 65 tools: rhc_kol_feed, rhc_kol_leaderboard, rhc_kol_hot_tokens, rhc_kol_profile, rhc_kol_coordination, and 60 more. Their descriptions and schemas cost roughly 12,188 tokens of context every time the server is loaded.

Is the io.github.MadeOnSol/robinhood-chain MCP server still maintained?

io.github.MadeOnSol/robinhood-chain is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.MadeOnSol/robinhood-chain MCP server under?

io.github.MadeOnSol/robinhood-chain declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.