Deployer signal alert feed on Robinhood Chain (BASIC+)
The deployer alert feed on Robinhood Chain (from rhc_deployer_alerts) — new deploys and graduations from tracked deployers, newest first. RHC domain values differ from Solana: tier is elite | good | neutral | spammer, priority is high | medium, alert_type is new_deploy | graduated (RHC has no bonded/kol_buy alert types, and no KOL-buy enrichment).
Two behaviours changed 2026-07-25. (1) A tradability filter is now applied BY DEFAULT (liquidity_usd >= $100; unknown liquidity fails it) — the feed was serving alerts on tokens that had pumped and drained, one at $45K MC against $68 of liquidity. Pass include_untradeable=true for the raw tape; the active filter is echoed as tradability_filter. (2) tier and the message explaining it are now resolved at READ time from the live deployer rollup instead of being frozen at insert, so a demoted deployer can no longer be advertised as good-tier indefinitely. The original snapshot is preserved as tier_at_alert, with tier_is_stale flagging disagreement. Rows also carry liquidity_usd and current_mc_usd.
Paging (2026-09-21, audit F09 follow-up): the tradability and tier gates are served by a bounded SCAN over (event_at DESC, id DESC) — has_more is false only at the real end, scan.scan_truncated says the budget ran out first; page with cursor= (next_cursor). Alerts with a NULL event_at (none in production) are excluded.
Tier: BASIC (any valid key) — ULTRA gets the full requested limit, while BASIC/PRO share a 50-alert cap per request.
Request
- Base URL: https://madeonsol.com/api/v1
- URL: https://madeonsol.com/api/v1/rhc/deployer-hunter/alerts
- Auth: HTTP bearer
Query parameters
Filter to one deployer reputation tier. Applied to the RESOLVED (read-time) tier, not the stored snapshot, so the filter and the reported tier always agree.
Set true to disable the default liquidity_usd >= $100 tradability filter and receive the raw alert tape.
Filter by alert priority.
Filter to one launchpad.
Minimum market cap at alert time (USD).
Capped at 50 for BASIC/PRO; ULTRA gets the full requested value.
Incremental polling: return only alerts with event_at strictly newer than this ISO timestamp. Pass back next_event_at from the previous response to receive just what is new.
Cursor: return only alerts with event_at strictly older than this ISO timestamp. Pass next_before from the previous response to page backwards. Takes precedence over offset.
Offset pagination (RAW rows, before the gates), used when no cursor is supplied. Prefer cursor for stable paging over a live feed.
PREFERRED pagination (audit F09 follow-up): the next_cursor from a previous page — an opaque strict (event_at, id) keyset, so paging never repeats or skips rows that share a sort value and progresses with limit=1 through runs of identical timestamps. Malformed or tampered → 400. Cannot be combined with before= or offset= (400).
Response
next_event_at is the newest event_at on the page (poll cursor); data_age_seconds is the age of the newest alert.
Changes
No recorded changes to this operation across all 1 revision of this API.