# Elysium RPC · API reference · Femtos

> Free public Elysium mainnet RPC by Femtos (chain 99901), no key, read only (no transaction sending), for wallets and dapps, not for indexing (use the Femtos API for history): per IP 5 requests a second and 60 a minute, batches of 5, eth_getLogs over 1,000 blocks at most, state of the last 128 blocks only. POST /v1/elysium/rpc on Elysium: 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/rpc

## Elysium RPC — POST `/v1/elysium/rpc`

Free public Elysium mainnet RPC by Femtos (chain 99901), no key, read only (no transaction sending), for wallets and dapps, not for indexing (use the Femtos API for history): per IP 5 requests a second and 60 a minute, batches of 5, eth_getLogs over 1,000 blocks at most, state of the last 128 blocks only.

Layers: Elysium. Not on HyperCore: HyperCore is no EVM chain: its own API is the Hyperliquid-compatible POST /info. Not on HyperEVM: serves our own Elysium node; HyperEVM has public RPCs (Hyperliquid: rpc.hyperliquid.xyz/evm).
Page with live calls: https://femtos.xyz/reference/rpc?layer=elysium

| Param | In | Example or values | Meaning |
|---|---|---|---|
| `jsonrpc` | body | `2.0` | "2.0" |
| `id` | body | `1` | Echoed in its answer; required (a notification, without one, is refused) |
| `method` | body | `eth_blockNumber` | A method served: eth_chainId, eth_blockNumber, net_version, net_listening, web3_clientVersion, eth_syncing, eth_getBlockByNumber, eth_getBlockByHash, eth_getBlockTransactionCountByNumber, eth_getBlockTransactionCountByHash, eth_getTransactionByHash, eth_getTransactionByBlockNumberAndIndex, eth_getTransactionByBlockHashAndIndex, eth_getTransactionReceipt, eth_getBlockReceipts, eth_getBalance, eth_getCode, eth_getStorageAt, eth_getTransactionCount, eth_call, eth_estimateGas, eth_gasPrice, eth_maxPriorityFeePerGas, eth_feeHistory, eth_getLogs, eth_getProof (not available: eth_sendRawTransaction / eth_sendTransaction, eth_subscribe, filters, debug_*, trace_*) |
| `params` | body | (optional) | Its parameters, as the method takes them (absent: none) |

```bash
curl -X POST -H "Authorization: Bearer $FEMTOS_KEY" -H "Content-Type: application/json" "https://api.femtos.xyz/v1/elysium/rpc" \
  -d '{"jsonrpc":"2.0","id":"1","method":"eth_blockNumber"}'
```

| Field | Type | Meaning |
|---|---|---|
| `jsonrpc` | 2.0 | "2.0" |
| `id` | number \| string \| null | The id of its request (null: a body or request that could not be read) |
| `result` | unknown | The node's result, as it wrote it |
| `error` | object | The node's error as it wrote it, or ours: -32600 invalid request or batch, -32601 method not available, -32602 invalid params, -32002 state older than the head's last 128 blocks, -32005 a limit (eth_getLogs range, answer size), -32603 node timeout, -32029 rate limit (HTTP 429): {code, message, data} |

## Related (Chain & reference)

- [Freshness](https://femtos.xyz/reference/status.md) `GET /v1/status`: Head and lag of each layer, measured now. (Elysium, HyperCore, HyperEVM)
- [Blocks stream](https://femtos.xyz/reference/ws/blocks.md) `WS elysium.blocks · hyperevm.blocks`: Each new HyperEVM block header, small and big blocks, from our node. (Elysium, HyperEVM)
- [Transaction](https://femtos.xyz/reference/tx.md) `GET /v1/tx/{hash}`: One transaction: status, gas, decoded transfers, swaps and liquidity, bridge legs and journey. (Elysium, HyperEVM)
- [Stream stats](https://femtos.xyz/reference/ws/stats.md) `WS stats`: Our HyperCore stream health, once a second. (HyperCore)
- [Check your key](https://femtos.xyz/reference/whoami.md) `GET /v1/whoami`: Answers the name your key is registered under, its tier, billing state and the limits in force. (Elysium, HyperCore, HyperEVM)
- [OpenAPI document](https://femtos.xyz/reference/openapi.md) `GET /v1/openapi.json`: The OpenAPI 3.1 contract of every REST call, public. (Elysium, HyperCore, HyperEVM)

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