---
title: "Deployer token-deploy history on Robinhood Chain (PRO+)"
method: GET
path: "/rhc/deployer-hunter/{address}/history"
tags: ["Robinhood Chain"]
---

# Deployer token-deploy history on Robinhood Chain (PRO+)

`GET /rhc/deployer-hunter/{address}/history`

## Request

- Base URL: `https://madeonsol.com/api/v1`
- URL: `https://madeonsol.com/api/v1/rhc/deployer-hunter/{address}/history`
- Auth: HTTP bearer

A deployer's full **token-deploy history** on Robinhood Chain: their `mv_rhc_deployers` reputation row plus every token they've deployed (paginated, newest first) enriched with live and peak MC. Note: RHC has no per-day reputation snapshot table, so this is a token-deploy history, not a daily tier/rate time-series. Unknown addresses return 200 with `is_deployer: false`. Tier: **PRO+** (the point-in-time `/rhc/deployer-hunter/{address}` profile stays BASIC).

## Path parameters

- `address` string, required

## Query parameters

- `limit` integer
- `offset` integer

## Response `200`

OK. `total` is the deployer's full token count; page with limit/offset until `has_more` is false.

- object
  - `chain` 'robinhood'
  - `is_deployer` boolean: False if this wallet has never deployed a tracked token (deployer/tokens then empty).
  - `address` string: Lowercased 0x deployer address.
  - `deployer` object, nullable
    - `deployer_address` string
    - `tokens_deployed` integer
    - `graduated` integer
    - `graduation_rate` number: Share of tokens that reached a $40K+ peak MC.
    - `runners` integer
    - `runner_rate` number: Share of tokens that reached $100K+ peak MC.
    - `best_peak_mc_usd` number, nullable
    - `launchpads` string[]
    - `first_deploy_at` string, date-time, nullable
    - `last_deploy_at` string, date-time, nullable
    - `tier` 'elite' | 'good' | 'neutral' | 'spammer'
  - `tokens` object[]: This page of the deployer's tokens, newest first.
    - `address` string
    - `symbol` string, nullable
    - `name` string, nullable
    - `launchpad` string, nullable
    - `is_graduated` boolean, nullable
    - `graduated_at` string, date-time, nullable
    - `graduated_pool` string, nullable
    - `first_seen_at` string, date-time, nullable
    - `market_cap_usd` number, nullable: Live market cap.
    - `peak_mc_usd` number, nullable: All-time-high MC observed since ingestion.
    - `peak_mc_at` string, date-time, nullable
  - `total` integer
  - `limit` integer
  - `offset` integer
  - `has_more` boolean

## Other responses

- `400`: Invalid EVM address or query parameters.
- `401`: Missing or invalid API key, or an expired free-tier key. Authentication-stage error: no `X-RateLimit-*` headers, no `_rid`.
- `403`: PRO+ tier required.
- `429`: Too many requests. Every 429 carries `Retry-After`. A quota 429 (`rate_limit_exceeded`, with `X-RateLimit-*`), a heavy-query concurrency 429 (`error_kind` `concurrency`/`capacity`), or the per-IP authentication-failure block (30 failed auths/min; plain `error` + `retry_after_seconds`, no `X-RateLimit-*`).
- `500`: Unexpected server error from the route (`Internal server error`, with `_rid`). Safe to retry with backoff. A failed API-key lookup is a 503 `auth_backend_unavailable`, never a 500.
- `503`: Temporarily unavailable — a Postgres statement timeout while the dataset is under load or maintenance (`statement_timeout`, with `X-RateLimit-*` and `_rid`), or the API-key lookup itself unavailable (`auth_backend_unavailable`, authentication stage: no `X-RateLimit-*`, no `_rid`, not counted as a failed authentication). Always carries `Retry-After`; honour it.

---

[API](https://skmtc.dev/madeonsol/apis/madeonsol-robinhood-chain-api.md) · [All operations](https://skmtc.dev/madeonsol/apis/madeonsol-robinhood-chain-api/llms.txt) · [OpenAPI document](https://skmtc.dev/madeonsol/apis/madeonsol-robinhood-chain-api/revisions/9ea9a35ee2bf?raw)
