---
title: "List new Robinhood Chain memecoins with holders and rings"
method: GET
path: "/v1/rhc/launches/recent"
tags: ["paid"]
---

# List new Robinhood Chain memecoins with holders and rings

`GET /v1/rhc/launches/recent`

## Request

- Base URL: `https://api.loopholetape.com`
- URL: `https://api.loopholetape.com/v1/rhc/launches/recent`
- Auth: none required

Use to screen or poll new pons memecoin launches on Robinhood Chain (4663), optionally ring-shaped ones only; one token's full risk card is GET /v1/rhc/curve/{address}. Not for Solana. Recent pons memecoin launches on Robinhood Chain (chain 4663; default last hour, newest first) as compact structure cards: raised (ETH), progress to the 4.2 ETH graduation, price multiple vs launch (exact curve reserves), the launch's trade fee and creator tax in bps (fees.creator_tax_bps: 0-1000 under the current on-chain cap, chosen by the creator, charged on every buy and sell), snipe-tax activity, holder concentration (top-1 / top-5 / HHI), same-block direct-buy cluster share (matching timing, not proof of coordination), terminal-vs-direct route mix with the terminal router transactions joined to their wallets, inflow (new buyers in the last 2 / 6 s), lifecycle (live / complete / graduated). Every card carries a ring block: the RING SCREEN flags the same-block direct-buy cluster structure our own capture measured (unique_buyers >= 8 and same-block direct-buy cluster share >= 0.5; on pons v2 such a cluster is often the team's own opening bundle, exempt from the snipe tax at launch); ring_only=true returns just those curves, and the response carries the rule with its measured base rates (14.5% of launches, 47% dumped, median 0.37x terminal in the 2026-09-06/07 window) so you can price the flag yourself. Matching timing is not proof of coordination. Filter pair=eth for ETH-paired curves or min_buys for a minimum observed activity count. Poll with since=<next_cursor> to receive only launches you have not seen, oldest first. Each item also carries verdict (avoid / caution / no_flags_observed) and basis, the rule ids of the fixed public rule (LABELS rhc_verdict at /v1/labels) that fired; the curve card gives each reason with its evidence and base rate.

## Query parameters

- `limit` integer
- `max_age_s` number
- `pair` string
- `only_live` boolean
- `min_buys` integer
- `ring_only` boolean
- `since` number, nullable

## Response `200`

Paid response (header PAYMENT-RESPONSE carries the settlement)

- Envelope
  - `ok` boolean, required
  - `schema_version` '2.0', required
  - `generated_at` string, date-time, required
  - `t` number, required: unix seconds at generation
  - `coverage` 'full' | 'thin', required: the mint is inside our live window (created while our captur / thin = the mint is not in the live window (older than ~2 h of silen
  - `data` object, required
  - `meta` object, required
    - `source` string
    - `version` string
    - `feed_lag_s` number, nullable: seconds between the newest event in our tape and now (the age of the newest event we ingested; it does not say whether the capture runs behind the chain, see chain_lag_s)
    - `is_stale` boolean: the ingest age (feed_lag_s) exceeds the route's freshness limit (5 s for compact risk checks, 30 s otherwise); a paid or keyed pump.fun request is also refused above 5 s of estimated chain lag when the gate enforces (see chain_lag_s, tape_behind), which this flag does not show
    - `chain_lag_s` number, nullable: estimated seconds the newest slot in our pump.fun tape is behind the Solana RPC's processed tip (slots_behind x the measured slot time, to 0.1 s); null when the tip is unknown; absent on Robinhood Chain answers
    - `slots_behind` integer, nullable: estimated slots between the newest slot in our pump.fun tape and the Solana RPC's processed tip (a tip read every 30 s, carried forward by the wall time since at the slot rate our own reads measure); 0 when the tape is at or ahead of the estimate; null when the tip is unknown
    - `tape_behind` boolean, nullable: true when the estimated chain_lag_s is above 5 s, false within 5 s, null when there is no tip to compare; on pump.fun answers only
    - `last_slot` integer, nullable
    - `price_usd` number, nullable
    - `next` object: related resources worth calling next (paths relative to base_url)
    - `disclaimer` string

## Other responses

- `402`: Payment required (x402 v2): header PAYMENT-REQUIRED = base64 of the body
- `422`: Validation Error

---

[API](https://skmtc.dev/loopholetape/apis/loophole-tape.md) · [All operations](https://skmtc.dev/loopholetape/apis/loophole-tape/llms.txt) · [OpenAPI document](https://skmtc.dev/loopholetape/apis/loophole-tape/revisions/eea099d70151?raw)
