# How to get Robinhood Chain token data (token profile API)

> Get a Robinhood Chain token's name, supply, price, market cap, holders, launchpad, liquidity lock and links in one API call. Real response, no API key needed.

Source: https://docs.crius.sh/guides/get-token-data/ · Updated 2026-10-28

Short answer

Call `GET /v1/robinhood/token/{address}`. One response carries the token's identity (`name`, `symbol`, `decimals`, `type`), supply, `price` with change and all-time high, `market` (market cap, FDV, liquidity), a `holders` summary, its `launch` and `liquidity` lock status, `metadata` (logo and links) and trade `stats` per window. It's on the anonymous plan: no key needed, 1 credit with one.

[GET `/token/{address}`](https://docs.crius.sh/reference/tokens/token-profile/) [POST `/tokens/batch`](https://docs.crius.sh/reference/tokens/batch-token-profiles/)

The token profile is the one call that tells you everything Crius knows about a Robinhood Chain token: what it is, how much of it exists, what it trades at, how big its market is, who holds it, where it launched, whether its liquidity is locked and how much it has traded. Send `GET /v1/robinhood/token/{address}` with any ERC-20 address and you get it all in a single JSON object, read at the block shown in `meta.block`.

## Get a token’s profile in one call

Example [Anonymous · no key · 1 credit](https://docs.crius.sh/reference/tokens/token-profile/)

### A graduated Pons token: Charge AI (CHARGE)

What is Charge AI (0x7b8892cea949bc60d494681d1bc3ea96071ab0b8), where did it launch, and how big is it?

GET/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8

  

**cURL**

```bash
curl "https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8"
```

**JavaScript**

```js
const res = await fetch("https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8");
const { data, meta } = await res.json();
```

**Python**

```python
import requests

r = requests.get(
    "https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8",
)
body = r.json()
print(body["data"])
```

**Real response 200 Captured Oct 28, 2026 · 320 lines (arrays trimmed)**

```json
{
  "data": {
    "address": "0x7b8892cea949bc60d494681d1bc3ea96071ab0b8",
    "admin_flags": null,
    "bundles": {
      "see": "/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/bundles"
    },
    "burned": 29840058.774195638068253872,
    "chain_id": 4663,
    "circulating_supply": 970159941.225804361931746128,
    "creation": {
      "attribution": "known_launchpad",
      "block": 88385886,
      "deployed_via": "pons_v2",
      "deployer": "0x3ac82d45ff9e4963cefbc3f74dbe293f34c927ca",
      "factory": "0x7ed598bcef8bd9edd8c97a195c6d13f40801ec7e",
      "launchpad_name": "Pons",
      "tx": "0x4d9536e81ce418070e93b72f46f1d91afdd6a9ed34141b8e3773926b0d863747"
    },
    "decimals": 18,
    "dexscreener": {
      "boosts": {
        "active_amount": null,
        "active_seen_ts": null,
        "count": 0,
        "last_ts": null,
        "total_amount": 0
      },
      "checked_ts": 1793040659244,
      "community_takeover": false,
      "community_takeover_ts": null,
      "confirmed": true,
      "dex_paid": true,
      "dex_paid_ts": 1791988981764,
      "orders": [
        {
          "payment_ts": 1791988981764,
          "status": "approved",
          "type": "tokenProfile"
        }
      ],
      "profile": {
        "description": null,
        "header": "https://cdn.dexscreener.com/cms/images/JcxosvISKHoUITBu?width=1500&height=500&quality=95&format=auto",
        "icon": "https://cdn.dexscreener.com/cms/images/DjTh8_NirbFrIzjW?width=800&height=800&quality=95&format=auto",
        "links": [
          {
            "label": "Website",
            "type": "website",
            "url": "https://chargeai.bid/"
          },
          {
            "type": "twitter",
            "url": "https://x.com/chargeairh"
          }
        ]
      },
      "url": "https://dexscreener.com/robinhood/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8"
    },
    "first_seen_block": 88385886,
    "history": "complete",
    "holders": {
      "burned_pct": 2.98401,
      "count": 179,
      "dev_holding": false,
      "dev_pct": 0,
      "locked_pct": 8.16327,
      "top10_pct": 13.436
    },
    "launch": {
      "creator": "0x3ac82d45ff9e4963cefbc3f74dbe293f34c927ca",
      "creator_label": null,
      "curve": "0x2b0943bf947b54df526047b6fec8183a4fdeb3c3",
      "curve_state": null,
      "graduated_block": 88461321,
      "graduation_threshold": 4.2,
      "launched_block": 88385886,
      "launchpad": "pons",
      "launchpad_name": "Pons",
      "pair_token": "0x0000000000000000000000000000000000000000",
      "progress_pct": 100,
      "raised": null,
      "status": "graduated"
    },
    "liquidity": {
      "locked_pct": 100,
      "lockers": [
        "pons_v2_launch_locker"
      ],
      "next_unlock_ts": null,
      "permanent": true,
      "status": "locked"
    },
    "locked": 81632653.061224486519511236,
    "market": {
      "fdv_usd": 3889.48,
      "liquidity_usd": 5611.8,
      "market_cap_usd": 3773.42,
      "pools_count": 10,
      "quote_liquidity_usd": 2805.9
    },
    "metadata": {
      "banner": "https://cdn.dexscreener.com/cms/images/JcxosvISKHoUITBu?width=1500&height=500&quality=95&format=auto",
      "description": "hf:charge-ai/charge-30b@9ff2ef1e98ea4d9745a70b33ea02b80dba26c582",
      "links": {
        "discord": null,
        "farcaster": null,
        "github": null,
        "telegram": null,
        "twitter": "https://x.com/chargeairh",
        "website": "https://chargeai.bid/"
      },
      "logo": "https://api.crius.sh/v1/robinhood/logo/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8.png?size=128",
      "logo_original": "https://api.surplusllm.com/api/launchpad/logos/bb4315cb9506ef872830b1dab25ffdb6694df1b8b8e32cc2c8d083208f26baab.png",
      "socials": {
        "discord": null,
        "farcaster": null,
        "github": null,
        "telegram": null,
        "twitter": {
          "source": "pons_launch",
          "url": "https://x.com/chargeairh"
        },
        "website": {
          "source": "pons_launch",
          "url": "https://chargeai.bid/"
        }
      },
      "source": "pons_launch",
      "sources": {
        "links": "pons_launch",
        "logo": "pons_launch"
      }
    },
    "name": "Charge AI",
    "price": {
      "ath_market_cap_usd": 68675.8,
      "ath_scope": "all_time",
      "ath_ts": 1792055400000,
      "ath_usd": 0.0000707881,
      "change_pct": {
        "1h": 0.896103,
        "1m": 0.896103,
        "1s": 0.896103,
        "24h": -0.171971,
        "30s": 0.896103,
        "4h": 0.896103,
        "5m": 0.896103,
        "6h": 0.896103
      },
      "confidence": "medium",
      "dex": "uniswap_v4",
      "eth": 0.00000000165124,
      "liquidity_usd": 5604.57,
      "quote": "0x0000000000000000000000000000000000000000",
      "quote_liquidity_usd": 2802.29,
      "source_pool": "0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913",
      "thin_liquidity": false,
      "usd": 0.00000388948
    },
    "security": {
      "see": "/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/security"
    },
    "standard": "erc20",
    "stats": {
      "all_time": {
        "buy_volume_usd": 143046,
        "buys": 2893,
        "first_trade_ts": 1791982835000,
        "sell_volume_usd": 137621,
        "sells": 2250,
        "since": "chain_start",
        "trades": 5143,
        "volume_usd": 280667
      },
      "avg_trade_usd": {
        "1h": null,
        "1m": null,
        "1s": null,
        "24h": 2.96366,
        "30s": null,
        "4h": null,
        "5m": null,
        "6h": null
      },
      "buy_volume_usd": {
        "1h": 0,
        "1m": 0,
        "1s": 0,
        "24h": 0,
        "30s": 0,
        "4h": 0,
        "5m": 0,
        "6h": 0
      },
      "buyers": {
        "1h": 0,
        "1m": 0,
        "1s": 0,
        "24h": 0,
        "30s": 0,
        "4h": 0,
        "5m": 0,
        "6h": 0
      },
      "buys": {
        "1h": 0,
        "1m": 0,
        "1s": 0,
        "24h": 0,
        "30s": 0,
        "4h": 0,
        "5m": 0,
        "6h": 0
      },
      "last_trade_ts": 1793196204000,
      "sell_volume_usd": {
        "1h": 0,
        "1m": 0,
        "1s": 0,
        "24h": 5.92732,
        "30s": 0,
        "4h": 0,
        "5m": 0,
        "6h": 0
      },
      "sellers": {
        "1h": 0,
        "1m": 0,
        "1s": 0,
        "24h": 2,
        "30s": 0,
        "4h": 0,
        "5m": 0,
        "6h": 0
      },
      "sells": {
        "1h": 0,
        "1m": 0,
        "1s": 0,
        "24h": 2,
        "30s": 0,
        "4h": 0,
        "5m": 0,
        "6h": 0
      },
      "traders": {
        "1h": 0,
        "1m": 0,
        "1s": 0,
        "24h": 2,
        "30s": 0,
        "4h": 0,
        "5m": 0,
        "6h": 0
      },
      "trades": {
        "1h": 0,
        "1m": 0,
        "1s": 0,
        "24h": 2,
        "30s": 0,
        "4h": 0,
        "5m": 0,
        "6h": 0
      },
      "txns": {
        "1h": 0,
        "1m": 0,
        "1s": 0,
        "24h": 2,
        "30s": 0,
        "4h": 0,
        "5m": 0,
        "6h": 0
      },
      "volume_eth": {
        "1h": 0,
        "1m": 0,
        "1s": 0,
        "24h": 0.00252958,
        "30s": 0,
        "4h": 0,
        "5m": 0,
        "6h": 0
      },
      "volume_usd": {
        "1h": 0,
        "1m": 0,
        "1s": 0,
        "24h": 5.92732,
        "30s": 0,
        "4h": 0,
        "5m": 0,
        "6h": 0
      }
    },
    "symbol": "CHARGE",
    "total_supply": 1000000000,
    "type": "launchpad",
    "ui_multiplier": null,
    "verification": {
      "compiler": null,
      "contract_name": null,
      "implementation": null,
      "is_proxy": null,
      "sourcify": null
    }
  },
  "meta": {
    "block": 100406769,
    "block_age_ms": 400,
    "block_ts": 1793225075000,
    "chain": "robinhood",
    "finalized_block": 100397649,
    "lag_ms": 38,
    "pending": [],
    "safe_block": 100401329
  }
}
```

What this tells you

-   **Identity.** `name: "Charge AI"`, `symbol: "CHARGE"`, `decimals: 18`, `type: "launchpad"`, `standard: "erc20"`.
-   **Launch.** `launch.launchpad: "pons"` and `launch.status: "graduated"`: it launched at block 88385886 and graduated at block 88461321 (`progress_pct: 100`). `creation.deployer` is the creator wallet `0x3ac82d45ff9e4963cefbc3f74dbe293f34c927ca`.
-   **Price.** `price.usd` is 0.00000388948 with `confidence: "medium"`, taken from the Uniswap v4 pool in `price.source_pool`. `price.ath_usd` is 0.0000707881, so the token trades about 94.5% below its all-time high.
-   **Market.** `market.market_cap_usd: 3773.42`, `market.fdv_usd: 3889.48`, `market.liquidity_usd: 5611.8` across `pools_count: 10` pools.
-   **Holders.** `holders.count: 179`, the top 10 hold `top10_pct: 13.436`%, and the developer holds nothing (`dev_holding: false`).
-   **Liquidity.** `liquidity.status: "locked"`, 100% in `pons_v2_launch_locker` with `permanent: true`: the launch liquidity can never be withdrawn.
-   **Activity.** `stats.all_time` counts 5,143 trades and $280,667 of volume, but `stats.trades.24h` is only 2: the token has gone quiet.
-   **Links.** `metadata.links.website` is `https://chargeai.bid/` and `metadata.links.twitter` is `https://x.com/chargeairh`, both from the Pons launch (`metadata.sources.links: "pons_launch"`).

[Token profile reference](https://docs.crius.sh/reference/tokens/token-profile/) Runs from your browser on the anonymous plan [Data looks wrong? Report it](mailto:support@crius.sh?subject=Wrong%20data%20in%20docs%20example%3A%20A%20graduated%20Pons%20token%3A%20Charge%20AI%20\(CHARGE\)&body=Page%3A%20https%3A%2F%2Fdocs.crius.sh%2Fguides%2Fget-token-data%2F%23charge-profile%0ARequest%3A%20GET%20%2Fv1%2Frobinhood%2Ftoken%2F0x7b8892cea949bc60d494681d1bc3ea96071ab0b8%0A%0AWhat's%20wrong%20or%20missing%3F%0A%0A)

Example [Anonymous · no key · 1 credit](https://docs.crius.sh/reference/tokens/token-profile/)

### An address that isn't a token

What happens when the address isn't an indexed token on Robinhood Chain?

GET/v1/robinhood/token/0x000000000000000000000000000000000000beef

  

**cURL**

```bash
curl "https://api.crius.sh/v1/robinhood/token/0x000000000000000000000000000000000000beef"
```

**JavaScript**

```js
const res = await fetch("https://api.crius.sh/v1/robinhood/token/0x000000000000000000000000000000000000beef");
const { data, meta } = await res.json();
```

**Python**

```python
import requests

r = requests.get(
    "https://api.crius.sh/v1/robinhood/token/0x000000000000000000000000000000000000beef",
)
body = r.json()
print(body["data"])
```

**Real response 404 Captured Oct 28, 2026 · 6 lines (arrays trimmed)**

```json
{
  "error": {
    "code": "token_not_found",
    "message": "token 0x000000000000000000000000000000000000beef not indexed"
  }
}
```

What this tells you

-   The status is `404` and `error.code` is `token_not_found`, with the message `token 0x000000000000000000000000000000000000beef not indexed`.
-   Treat it as “not a token on this chain” (a wallet, a contract that isn’t an ERC-20, or a typo), not as a temporary failure: retrying won’t change it.

[Token profile reference](https://docs.crius.sh/reference/tokens/token-profile/) Runs from your browser on the anonymous plan [Data looks wrong? Report it](mailto:support@crius.sh?subject=Wrong%20data%20in%20docs%20example%3A%20An%20address%20that%20isn't%20a%20token&body=Page%3A%20https%3A%2F%2Fdocs.crius.sh%2Fguides%2Fget-token-data%2F%23not-found%0ARequest%3A%20GET%20%2Fv1%2Frobinhood%2Ftoken%2F0x000000000000000000000000000000000000beef%0A%0AWhat's%20wrong%20or%20missing%3F%0A%0A)

## What the profile contains

The profile is grouped into sections. Field names are stable, so you can read them without checking the shape first.

| Section | Key fields | What it answers |
| --- | --- | --- |
| Identity | `name`, `symbol`, `decimals`, `type`, `standard` | What the token is. `type` is `launchpad`, `generic` or `stock`. |
| Supply | `total_supply`, `burned`, `locked`, `circulating_supply` | How many tokens exist and how many were burned or locked. Amounts are in whole tokens. |
| `price` | `usd`, `eth`, `change_pct`, `ath_usd`, `ath_ts`, `confidence`, `source_pool` | The live price, its change per window, the all-time high and how far to trust it. |
| `market` | `market_cap_usd`, `fdv_usd`, `liquidity_usd`, `quote_liquidity_usd`, `pools_count` | How big the market is and how much liquidity backs it. |
| `holders` | `count`, `top10_pct`, `dev_pct`, `dev_holding`, `burned_pct`, `locked_pct` | How spread out the supply is. |
| `launch` and `creation` | `launchpad`, `status`, `progress_pct`, `graduated_block`, `deployer`, `factory` | Where and how the token was created. `launch` is `null` for tokens that didn't use a launchpad. |
| `liquidity` | `status`, `locked_pct`, `lockers`, `next_unlock_ts`, `permanent` | Whether the liquidity can be pulled, and when. |
| `stats` | `trades`, `buys`, `sells`, `traders`, `volume_usd` per window, plus `all_time` | How much it trades, from 1 second to 24 hours. |
| `metadata` | `logo`, `banner`, `description`, `links`, `sources` | Logo and links for your UI, and where they came from. |

Two sections are links rather than data: `security.see` and `bundles.see` point to the [security check](https://docs.crius.sh/guides/token-security-score/) and the launch-bundle analysis, which are heavier to compute. That keeps the profile fast enough to call on every page view.

A few things differ by token type. Launchpad tokens such as CHARGE carry `launch` and a `liquidity` object with their launch locker. Tokens from other factories have `launch: null` and a `liquidity` summary with a `see` link to the [liquidity endpoint](https://docs.crius.sh/reference/security/liquidity-locks/). Tokenized stocks have `type: "stock"` and a `ui_multiplier`. On a token’s very first request, `meta.pending` lists sections that are still loading; it is empty (`[]`) in the example above.

## Use it in your app

1.  **Fetch the profile when a user opens a token.** One request fills a token page: header (logo, name, links), price card, market stats and holder summary. No key is needed while you prototype.
    
2.  **Handle `404 token_not_found`.** Show “not a token on Robinhood Chain” instead of retrying.
    
3.  **Read optional sections defensively.** `launch` is `null` for non-launchpad tokens and `price` can be `null` for a token that has never had a market.
    
4.  **Follow the links for detail.** Call `security.see` before you let users trade, and the [pools endpoint](https://docs.crius.sh/guides/get-token-pools-and-liquidity/) when you need every market.
    
5.  **Use lighter calls in loops.** For a price ticker, call [`/price`](https://docs.crius.sh/guides/get-token-price/) instead; for a list of tokens, use `POST /tokens/batch` with only the fields you show.
    

```js
// Token page header from one call (no key needed).
const token = "0x7b8892cea949bc60d494681d1bc3ea96071ab0b8";
const res = await fetch(`https://api.crius.sh/v1/robinhood/token/${token}`);
if (res.status === 404) throw new Error("not a token on Robinhood Chain");
const { data, meta } = await res.json();

console.log(`${data.name} (${data.symbol}), ${data.type}`);
console.log(`price $${data.price?.usd}, market cap $${data.market.market_cap_usd}`);
console.log(`${data.holders.count} holders, top 10 hold ${data.holders.top10_pct}%`);
if (data.launch) console.log(`${data.launch.launchpad_name}: ${data.launch.status}`);
console.log(`liquidity ${data.liquidity?.status}, read at block ${meta.block}`);
```

Market cap on a quiet token

A market cap is the price times the supply, and the price comes from one pool’s current state. On a token like CHARGE, with 2 trades in 24 hours and $2,805.9 of real quote liquidity (`market.quote_liquidity_usd`), the market cap says little about what holders could actually sell for. Show liquidity next to it. See [Market cap, FDV and supply](https://docs.crius.sh/guides/market-cap-fdv-and-supply/).

## Frequently asked questions

**What is the best API for Robinhood Chain token data?**

Pick one that indexes the chain itself, covers every token (not only listed ones) and tells you how fresh each answer is. The Crius API reads Robinhood Chain from its own archive nodes, decodes every block as it arrives and returns a full token profile in one call, with `meta.block` and `meta.lag_ms` on every response. The token profile is on the anonymous plan, so you can test it without signing up.

**Does the token profile need an API key?**

No. `/token/{address}` is on the anonymous plan, limited to 2 requests per second per IP. With a free key it costs 1 credit and your limit goes up to 10 requests per second. See [Plans & limits](https://docs.crius.sh/plans-and-limits/).

**Which tokens does it cover?**

Every ERC-20 on Robinhood Chain: launchpad tokens (`type: "launchpad"`), tokens from other factories (`generic`), tokenized stocks (`stock`), and WETH and USDG. An address that isn't an indexed token returns `404` with the code `token_not_found`.

**How do I get profiles for many tokens at once?**

Use `POST /v1/robinhood/tokens/batch` with up to 100 addresses and a `fields` list of dot paths (`price.usd`, `market.market_cap_usd`, `holders.count`). It returns only those fields for each token. See [Get prices for many tokens](https://docs.crius.sh/guides/get-prices-for-many-tokens/).

**Where do the logo and social links come from?**

From the token's own metadata first (its launchpad launch, an on-chain metadata URI or its verified source), with its DexScreener profile filling gaps. `metadata.sources` says which one was used, and `metadata.links` always has all six keys (`null` when unknown).

## Related

[Guide **Get a token price** Get the live USD and ETH price of any Robinhood Chain token, the pool it comes from and how much to trust it, with one fast API call. Real examples, no key. Read](https://docs.crius.sh/guides/get-token-price/) [Guide **Market cap, FDV and supply** Robinhood Chain token supply API: total, burned, locked and circulating supply plus market cap and FDV of any token in one call, and how each is computed. Read](https://docs.crius.sh/guides/market-cap-fdv-and-supply/) [Guide **Pools and liquidity** Robinhood Chain liquidity API: list every Uniswap v2, v3 and v4 pool and launch curve of a token, with USD liquidity, fees, hooks and the price pool. No key. Read](https://docs.crius.sh/guides/get-token-pools-and-liquidity/) [Guide **Token security score** Score any Robinhood Chain token from 0 to 100 with one API call. Honeypot, buy and sell taxes, owner powers, LP locks, v4 hook risk and insider launches, with real examples. Read](https://docs.crius.sh/guides/token-security-score/) [API reference **Token profile API** Full profile of any ERC-20 on the chain: name, symbol, decimals, supply (total, burned, locked, circulating), creation and launchpad lifecycle, metadata and socials (with their source), price with cha Read](https://docs.crius.sh/reference/tokens/token-profile/)
