Off-Switch Index / public read-only API
Route
API
Pool discovery and executable quote simulations for any Robinhood Chain token. Built for agents, bots, scripts, and humans who prefer JSON.
Quickstart
The default response is compact. Token amounts remain decimal strings so clients do not lose precision.
curl --get 'https://www.hoodbuybutton.com/api/v1/routes' \
--data-urlencode 'token=0x020bfC650A365f8BB26819deAAbF3E21291018b4' \
--data-urlencode 'amount=100' \
--data-urlencode 'limit=6' \
-H 'Accept: application/json'
Agent Connection
Buy Button Robinhood Chain Intelligence is a public, stateless Streamable HTTP MCP. Its eight read-only tools cover canonical contracts, route evidence, sealed community activity, social-event comparisons, archive methodology, and hash-linked proof.
codex mcp add buy-button \
--url https://www.hoodbuybutton.com/mcp
claude mcp add buy-button \
--transport http https://www.hoodbuybutton.com/mcp
For ChatGPT testing, enable Developer mode under Settings → Apps → Advanced Settings, then create the custom app from Settings → Apps → Create or Workspace Settings → Apps → Create and use https://www.hoodbuybutton.com/mcp. Availability and publishing controls depend on the ChatGPT plan and workspace role. A public one-click directory listing requires separate app submission and review. See the current OpenAI setup guide.
get_pulse_activityRank tracked communities or inspect one token across a sealed 1h, 6h, or 24h range.
analyze_social_eventCompare activity after an X post with local, clock-matched, and ecosystem baselines.
verify_pulse_snapshotOpen the definitions, block interval, collector version, and prior-hash link behind a record.
get_pulse_methodologyRetrieve the metric, coverage, privacy, and causal-language rules.
It can run beside the Robinhood Trading MCP. The two services remain independent: this server supplies public Robinhood Chain route, sealed aggregate activity, event-comparison, methodology, and snapshot evidence; it never authenticates to Robinhood, reads a brokerage account, or places an order.
Transport limits are deliberately small: 64 KiB per request, no more than eight JSON-RPC messages in a batch, bounded execution deadlines, and tighter per-minute limits on event analysis and aggregate reads. A 429 response includes Retry-After.
Seven- and 30-day aggregate activity matrices are deliberately unavailable through the MCP until they can be served from precomputed rollups inside the public execution budget. Social-event analysis remains independently bounded to a maximum 28-day historical comparison window.
Machine metadata is published in the MCP server manifest. The endpoint requires no API key.
Parameters
tokenERC-20 addressContract to map. Defaults to BUY.
amount$1–$100,000USD size for the read-only simulation.
limit1–20Ranked pools inspected and returned. Defaults to 6.
viewcompact / fullCompact is stable and token-efficient. Full exposes raw evidence.
Response Contract
bestRouteHighest executable output for the requested USD size.
routes[]Ranked direct pools with market data, exact quote strings, and execution links.
market.truncatedTrue when more pools were detected than returned under the requested limit.
warnings[]Safety and interpretation constraints that clients should retain.
Discovery
Every API response exposes typed HTTP Link headers for the catalog, OpenAPI description, JSON Schema, documentation, and health endpoint. Field notes remain available as RSS and JSON Feed. The domain also publishes an RFC 9727 catalog at:
GET /.well-known/api-catalog
Accept: application/linkset+json
Errors and Safety
Invalid requests and upstream failures use application/problem+json. Invalid query values include an invalidParams[] entry naming the field and reason. Successful quotes are estimates, not transactions. This API never requests a wallet connection, signature, approval, or private key. Pool discovery is not a token-security audit.
The endpoint is public and cached. Use conditional requests with If-None-Match, honor cache headers, and avoid polling faster than the 20-second cache window.
Embeddable Route State
Community pages expose two cache-aware, read-only surfaces backed by this API. The iframe compares executable routes for the selected size. The SVG endpoint is suitable for READMEs, dashboards, and project sites.
<iframe src="https://www.hoodbuybutton.com/embed/?token=0x...&amount=100&theme=dark"></iframe>
GET /api/v1/badge?token=0x...&amount=100
The live directory and its public contract registry are available at /directory/ and /directory/tokens.json. Listings are free; payment cannot affect order.
BUY Pulse Data Access
BUY Pulse translates indexed buys into a chain-native activity feed. The raw low-latency tape remains private during the current infrastructure phase. Public MCP access is limited to bounded sealed aggregate history and immutable snapshot proof; it never exposes raw wallet-address lists.
ACCESS BY REQUEST
DM @TheBuyButtonRH ON X
Approved integrations receive the current endpoint and usage limits directly. A buy is one indexed transaction into a tracked token, not proof of one individual human.
Stock Archive
The Stock Button publishes bounded, cacheable matrices built from sealed five-minute Robinhood Chain intervals. Public reads never trigger a historical chain scan. Empty assets remain sparse, exact recent evidence is capped, and missing archive time stays explicit.
GET /api/v1/stock-history?view=matrix&range=1h
ranges: 1h / 6h / 24h / 7d / 30d
buyerObservations is the sum of exact five-minute unique-recipient counts, not a claimed range-wide distinct-wallet total. Each response links its latest immutable SHA-256 snapshot when one exists.
Social Event Method
Paste an X status URL and the server derives its authoritative timestamp from the public snowflake identifier without fetching the post. The default test starts after the publication bucket and uses a prespecified 60-minute outcome window.
The observed tracked-buy count is compared with the immediately preceding window, the recent three-hour rate, prior days at the same UTC clock time, same-weekday windows when enough exist, and an ecosystem-adjusted baseline. Local baselines stop before the publication bucket; historical windows that overlap it are excluded. Comparisons require the same exact fingerprint of tracked token and pool identities—not merely the same counts. A per-token zero is valid only when that token was explicitly covered in the snapshot. Legacy buckets without exact identity evidence are descriptive only. The ecosystem control uses post-window non-token activity and the historical token/non-token ratio, so the tested token cannot raise its own expectation. Missing, duplicated, hash-discontinuous, overlapping, uncovered, or definition-incompatible buckets are never converted to zero.
Interpretation boundary: a tracked buy is an indexed buy-direction transaction, not token quantity or USD volume. An address is not a verified person. A post followed by activity is a temporal association, not proof that the post caused anyone to transact. The result therefore includes server-authored allowed language, prohibited claims, coverage, and source snapshots.