# Token metadata · HyperEVM API · Femtos

> Metadata of up to 100 tokens: supply, creator, logo and socials when indexed, family, spam. Also POST with a JSON body.

- Base URL: `https://api.femtos.xyz/v1` (REST) · `wss://api.femtos.xyz/v1/ws` (WebSocket) · MCP: `https://api.femtos.xyz/mcp`
- Auth: `Authorization: Bearer $FEMTOS_KEY`. Free key: https://femtos.xyz/accounts/ (browser), or with
  no browser: `GET https://femtos.xyz/accounts/agent/challenge`, solve its proof of work, then `POST https://femtos.xyz/accounts/agent/signup`
  (https://femtos.xyz/agents.md#agent-onboarding)
- Decimals are exact strings, times Unix milliseconds, addresses lowercase `0x`
- Whole API in one file: https://femtos.xyz/agents.md · OpenAPI: https://api.femtos.xyz/v1/openapi.json · Index: https://femtos.xyz/llms.txt
- Page with live calls: https://femtos.xyz/hyperevm/tokens-batch

## Token metadata — GET `/v1/tokens`

Metadata of up to 100 tokens: supply, creator, logo and socials when indexed, family, spam. Also POST with a JSON body.

| Param | In | Example or values | Meaning |
|---|---|---|---|
| `layer` | query | `hyperevm` | Layer: hyperevm / elysium (0x token addresses) or hypercore (token names HYPE, PURR, token ids, perp coins BTC). Absent: hypercore when every token is a name, else hyperevm |
| `addresses` | query | `0x5555555555555555555555555555555555555555,<evmToken>,0xb88339cb7199b77e23db6e890353e22632ba630f` | Comma list of at most 100 token addresses (hypercore: names / ids) |

```bash
curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/tokens?layer=hyperevm&addresses=0x5555555555555555555555555555555555555555%2C<evmToken>%2C0xb88339cb7199b77e23db6e890353e22632ba630f"
```

| Field | Type | Meaning |
|---|---|---|
| `layer` | string | Layer |
| `tokens[]` | object | In the order asked: TokenMeta (hyperevm / elysium) or Coin (hypercore): {address, symbol, name, decimals, totalSupply, creator, createdAt, createdBlock, logo, description, socials, family, …} |
| `missing` | string[] | Asked, not found |
| `asOf` | int \| null | Time of `height`: the layer head the answer is cut at (EVM: indexed head; HyperCore: ingested head) (Unix ms) |
| `height` | int \| null | Head block of the layer the answer is cut at |
| `testnet` | boolean | Elysium testnet: USD values from testnet pools, nominal |
| `syncing` | true | Present while the layer syncs: data only up to dataUntil |
| `dataUntil` | int \| null | Indexed head time while the layer syncs (Unix ms) |

## Related (Holders & tokens)

- [Holders](https://femtos.xyz/hyperevm/holders.md): Current balances of an ERC-20, largest first, with concentration.
- [Token registry](https://femtos.xyz/hyperevm/coins.md): HyperEVM tokens with their HyperCore spot link and price.
- [Coin detail](https://femtos.xyz/hyperevm/coin.md): One token: its links across layers, the markets it trades on, its 5 largest holders.
- [Daily token volume](https://femtos.xyz/hyperevm/volume.md): USD swap volume of a token per UTC day, both sides of every priced swap.
- [Token families](https://femtos.xyz/hyperevm/token-families.md): Tokens whose balance moves without Transfer logs: Aave aTokens and debt tokens, stHYPE, xStocks.
- [Family token holders](https://femtos.xyz/hyperevm/token-family.md): Holders of one family token with balanceOf at the indexed head.
- [Spam tokens](https://femtos.xyz/hyperevm/spam-tokens.md): Tokens the indexer flags as spam, left out of every list, and the latest flag changes.
- [Token security](https://femtos.xyz/hyperevm/token-security.md): Honeypot check: a buy, a transfer and a sell simulated on our node, taxes, owner powers, holders and LP, with a verdict.
- [Token overview](https://femtos.xyz/hyperevm/token-overview.md): One token across all its pools: price, FDV, market cap, liquidity, windows, holders, top pools.

All HyperEVM endpoints: https://femtos.xyz/hyperevm.md
