# Token registry · API reference · Femtos

> HyperCore tokens with their HyperEVM contract and price. GET /v1/coins on Elysium, HyperCore and HyperEVM: parameters, response fields and a live call per layer.

- 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/account/new (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/reference/coins

## Token registry — GET `/v1/coins`

- Elysium: Links one token across Elysium, HyperEVM and HyperCore.
- HyperCore: HyperCore tokens with their HyperEVM contract and price.
- HyperEVM: HyperEVM tokens with their HyperCore spot link and price.

Layers: Elysium, HyperCore, HyperEVM.
Page with live calls: https://femtos.xyz/reference/coins?layer=<elysium|hypercore|hyperevm>

| Param | In | Example or values | Meaning |
|---|---|---|---|
| `layer` | query | `elysium` (Elysium); `hypercore` (HyperCore); `hyperevm` (HyperEVM) | Layer |
| `q` | query | `<token>` (Elysium) | Symbol, name or address (an exact address always answers its token, flagged) |
| `limit` | query | `50` | Rows per layer (HyperCore, HyperEVM) |
| `includeSpam` | query | `(empty)`, `true` | Show spam tokens (tokens.spam: homoglyph, impostor, phishing name, fake transfers…) flagged spam / spamReason; left out of the list by default (HyperEVM) |

Elysium:

```bash
curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/coins?layer=elysium&q=<token>"
```

HyperCore:

```bash
curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/coins?layer=hypercore&limit=50"
```

HyperEVM:

```bash
curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/coins?layer=hyperevm&limit=50"
```

| Field | Type | Meaning |
|---|---|---|
| `id` | string | HyperCore: token name; EVM layers: the token address |
| `symbol` | string | Symbol |
| `decimals` | int \| null | Decimals (HyperCore: wei decimals) |
| `priceUsd` | decimal \| null | Last USD price |
| `links` | object | The same asset on the other layers: {core, evm, elysium} |
| `coverage` | object | The bridge link of the token to the other layer, and how far it is covered: {linkKind or kind, status, confirmedStatus, verification, observedAt} (Elysium, HyperCore) |
| `totalSupply` | decimal \| null | Total supply (HyperCore, HyperEVM) |
| `spam` | boolean | HyperEVM / Elysium: flagged spam by the indexer (tokens.spam). GET /api/tokens/spam lists them (HyperEVM) |
| `spamReason` | string \| null | Why the indexer flags it, comma list, strongest first: homoglyph:<T> (looks like token T), impostor:<T> (claims to be T; never alone), phishing_name, fake_transfers, unreadable_balance (balanceOf reverts: no ERC-20 behind its Transfer logs), verifier_ignore; null when not spam (HyperEVM) |

## Related (Holders & tokens)

- [Coin detail](https://femtos.xyz/reference/coin.md) `GET /v1/coins/{layer}/{id}`: One token: its links across layers, the markets it trades on, its 5 largest holders. (Elysium, HyperCore, HyperEVM)
- [Token metadata](https://femtos.xyz/reference/tokens-batch.md) `GET /v1/tokens`: Metadata of up to 100 tokens: supply, creator, logo and socials when indexed, family, spam. Also POST with a JSON body. (Elysium, HyperCore, HyperEVM)
- [Token overview](https://femtos.xyz/reference/token-overview.md) `GET /v1/tokens/{address}`: One token across all its pools: price, FDV, market cap, liquidity, windows, holders, top pools. (Elysium, HyperEVM)
- [Token across layers](https://femtos.xyz/reference/token-lifecycle.md) `GET /v1/tokens/{address}/lifecycle`: One token from its Elysium launch to its HyperEVM mirror, HyperCore spot and perps, each link proven or marked inferred. (Elysium, HyperCore, HyperEVM)
- [Holders](https://femtos.xyz/reference/holders.md) `GET /v1/holders`: Spot balances of a HyperCore token, largest first. (Elysium, HyperCore, HyperEVM)
- [Perp holders](https://femtos.xyz/reference/holders-positions.md) `GET /v1/holders`: Largest open positions of a perp, long and short. (HyperCore)
- [Token families](https://femtos.xyz/reference/token-families.md) `GET /v1/token-families`: Tokens whose balance moves without Transfer logs: Aave aTokens and debt tokens, stHYPE, xStocks. (Elysium, HyperEVM)
- [Family token holders](https://femtos.xyz/reference/token-family.md) `GET /v1/token-families/{token}`: Holders of one family token with balanceOf at the indexed head. (Elysium, HyperEVM)
- [Token transfers](https://femtos.xyz/reference/transfers.md) `GET /v1/transfers`: ERC-20 Transfer events of one token, newest first. (Elysium, HyperEVM)
- [Token security](https://femtos.xyz/reference/token-security.md) `GET /v1/tokens/{address}/security`: Honeypot check: a buy, a transfer and a sell simulated on our node, taxes, owner powers, holders and LP, with a verdict. (Elysium, HyperEVM)
- [Spam tokens](https://femtos.xyz/reference/spam-tokens.md) `GET /v1/tokens/spam`: Tokens the indexer flags as spam, left out of every list, and the latest flag changes. (Elysium, HyperEVM)

Every page: https://femtos.xyz/reference.md
