Femtos
Hyperliquid data for AI agents across HyperCore, HyperEVM and Elysium: markets, order books, positions, liquidations, wallets, tokens and launches. Hosted Streamable HTTP server
Hosted MCP Server
npx add-mcp 'https://api.femtos.xyz/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
Femtos as a hosted MCP server (Streamable HTTP): Claude, Cursor, OpenAI agents and any MCP client query HyperCore, HyperEVM and Elysium data with no code.
https://api.femtos.xyz/mcp, Streamable HTTP, stateless, key in Authorization: Bearer. Same key, rate limit and usage as the REST API.
Connect
Claude Code
claude mcp add --transport http femtos "https://api.femtos.xyz/mcp" \
--header "Authorization: Bearer $FEMTOS_KEY"
Cursor
// ~/.cursor/mcp.json (or .cursor/mcp.json in a project)
{
"mcpServers": {
"femtos": {
"url": "https://api.femtos.xyz/mcp",
"headers": {
"Authorization": "Bearer ${env:FEMTOS_KEY}"
}
}
}
}
Claude Desktop
// claude_desktop_config.json (Settings → Developer → Edit Config)
{
"mcpServers": {
"femtos": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.femtos.xyz/mcp",
"--header",
"Authorization:${FEMTOS_AUTH}"
],
"env": {
"FEMTOS_AUTH": "Bearer $FEMTOS_KEY"
}
}
}
}
OpenAI
// Responses API: tools of the request
[
{
"type": "mcp",
"server_label": "femtos",
"server_url": "https://api.femtos.xyz/mcp",
"headers": {
"Authorization": "Bearer $FEMTOS_KEY"
},
"require_approval": "never"
}
]
JSON
// any Streamable HTTP client (VS Code, Windsurf, Zed…)
{
"url": "https://api.femtos.xyz/mcp",
"headers": {
"Authorization": "Bearer $FEMTOS_KEY"
}
}
Tools
| Tool | What it answers | REST call | Counts as |
|---|---|---|---|
get_status | Each layer: indexed head, lag, live or syncing, all | GET /v1/status | free |
list_markets | Perps, spot, HIP-3, outcomes; DEX pools, most traded first, all | GET /v1/markets | 1 call |
list_top_tokens | Token screener: one row per token, trending / volume / gainers / losers / new / mcap / liquidity, HyperEVM, Elysium | GET /v1/tokens/top | 1 call |
get_candles | OHLCV of a coin, a pool, or a token through its reference pool; pools in USD and market cap too, all | GET /v1/candles | 1 call |
get_trades | Latest fills of a coin, swaps of a pool; swap history of a wallet, pool or token, all | GET /v1/trades | 1 call |
search_coins | Tokens by symbol, name or address, linked across layers, all | GET /v1/coins | 1 call |
get_coin | One token: links, markets, largest holders, all | GET /v1/coins/{layer}/{id} | 1 call |
get_holders | Largest holders and concentration, all | GET /v1/holders | 1 medium call |
get_holders_history | Holder count of a token per day, and now, HyperEVM, Elysium | GET /v1/holders/history | 1 call |
list_launches | Ascend and LiquidLaunch launches, newest first, Elysium, HyperEVM | GET /v1/launches | 1 call |
list_new_tokens | Every new ERC-20, newest first: creator, launchpad, first pool, liquidity, holders, HyperEVM, Elysium | GET /v1/tokens/new | 1 call |
list_new_pools | Every new pool of every DEX, newest first: tokens, new-token flag, liquidity, HyperEVM, Elysium | GET /v1/pools/new | 1 call |
get_launch | Launch story: dev wallet, early buyers, signals, fees, Ascend progress, Elysium, HyperEVM | GET /v1/launches/{token} | 1 call |
get_launch_timeline | Replayable life: swaps, holders and market cap over time, Elysium, HyperEVM | GET /v1/launches/{token}/timeline | 1 medium call |
get_token_lifecycle | One token from Elysium launch to HyperCore perp, each link exact or inferred, cross-layer | GET /v1/tokens/{address}/lifecycle | 1 medium call |
get_token_security | Honeypot check: buy / sell simulated on our node, taxes, owner powers, holders, LP, verdict, HyperEVM, Elysium | GET /v1/tokens/{token}/security | 1 medium call |
get_prices | USD price of up to 100 tokens, each with its source (HL mid, HyperCore spot, pool swap), all | GET /v1/prices | 1 call |
get_price_history | USD prices at a time (100 tokens) or per unit over a window (25 tokens), all | GET /v1/prices/history | 1 call |
get_tokens | Metadata of up to 100 tokens: supply, creator, logo, socials, family, spam, all | GET /v1/tokens | 1 call |
get_token_overview | A token across all its pools: price, FDV, mcap, liquidity, 5m to 24h windows, holders, top pools, HyperEVM, Elysium | GET /v1/tokens/{address} | 1 call |
get_token_traders | Top traders of a token: volume, average prices, realized / unrealized PnL, HyperEVM, Elysium | GET /v1/tokens/{token}/traders | 1 medium call |
get_bridges | HyperCore ↔ HyperEVM and HyperEVM ↔ Elysium movements, both legs matched, cross-layer | GET /v1/bridges | 1 medium call |
get_wallet | One address on the three layers: positions, balances, bridges, latest events, cross-layer | GET /v1/wallet/{address} | 1 medium call |
get_balances | Token balances of an address on the three layers with USD and totals; at a past block or time; verify against the node, cross-layer | GET /v1/balances/{address} | 1 call |
get_token_balance | One token balance of an address (0 when not held), now or at a past block, cross-layer | GET /v1/balances/{address}/{token} | 1 call |
get_token_volume | Daily USD swap volume of a token, HyperEVM, Elysium | GET /v1/volume | 1 call |
get_erc20_transfers | ERC-20 transfers of a token, or sent / received by a wallet, newest first, HyperEVM, Elysium | GET /v1/transfers | 1 call |
get_pool | One pool: dex, fee, tokens, liquidity in USD, depth, 5m–24h windows, top LPs, HyperEVM, Elysium | GET /v1/pools/{address} | 1 call |
get_transaction | One transaction: status, gas, decoded transfers / swaps, bridge legs and journey, HyperEVM, Elysium | GET /v1/tx/{hash} | 1 call |
get_gas | Gas per block: base fee, gas used, tips; HyperEVM small and big blocks, Elysium, HyperEVM, Elysium | GET /v1/gas | 1 call |
get_block | One block and its transactions: who called what, swaps, gas and fees, HyperEVM, Elysium | GET /v1/blocks/{number} | 1 call |
elysium_rpc | One read-only JSON-RPC call on the Elysium mainnet node (eth_call, eth_getLogs, receipts), free, Elysium | POST /v1/elysium/rpc | free |
get_book | Live L2 order book of a market from our node, with order counts, HyperCore | GET /v1/book | 1 call |
get_walls | Which accounts' order book walls hold when the price comes, and which are pulled, HyperCore | GET /v1/hypercore/walls | 1 call |
get_wall_events | Walls the price came to on a market: held or pulled, when, where, whose, HyperCore | GET /v1/hypercore/walls/events | 1 call |
get_open_interest | Exact open interest history of a perp since June, with longs / shorts opened and closed, HyperCore | GET /v1/hypercore/oi | 1 call |
list_open_interest | Open interest of every perp now, with 1 h / 24 h / 7 d changes and per-dex totals, HyperCore | GET /v1/hypercore/oi/markets | 1 call |
get_open_interest_cohorts | Open interest of a perp by position size, long and short, every hour since June, HyperCore | GET /v1/hypercore/oi/cohorts | 1 call |
get_liquidations | Perp liquidations, newest first, by coin, account or size, HyperCore | GET /v1/liquidations | 1 call |
get_liquidation_stats | Liquidations over 1 h to 30 d: totals, per coin, per bucket, largest, HyperCore | GET /v1/liquidations/stats | 1 medium call |
get_positions | Open positions of a perp: leverage, PnL, liquidation price, HyperCore | GET /v1/positions | 1 call |
get_position_changes | Past large perp position changes of a coin: whales opening, closing, flipping, HyperCore | GET /v1/positions/changes | 1 medium call |
get_stop_map | Open stop-loss and take-profit orders of a coin, notional bucketed by trigger price around the mark, HyperCore | GET /v1/hypercore/stops | 1 call |
get_liquidation_map | Liquidation prices of every open position (Hyperliquid's formula on each account), bucketed by price, with coverage, HyperCore | GET /v1/hypercore/liquidation-map | 1 call |
get_forced_flow | Stop / take-profit orders and liquidations on the same price buckets: cascade (stops + liquidations) and take-profits, cumulative from the mark, HyperCore | GET /v1/hypercore/forced-flow | 1 call |
get_triggered_stops | Stop-loss and take-profit orders that fired, newest first, with their fill, HyperCore | GET /v1/hypercore/stops/triggered | 1 call |
get_wallet_stops | A wallet's open trigger orders, or every status event of them (history), HyperCore | GET /v1/hypercore/wallet/{address}/stops | 1 call |
get_price_level | The stop / take-profit orders and the liquidations inside one price band, wallet by wallet, HyperCore | GET /v1/hypercore/price-level | 1 call |
list_nft_collections | Most active NFT collections over 1 h or 24 h, HyperEVM, Elysium | GET /v1/nfts/collections | 1 call |
get_nft_collection | One collection: metadata, tokens seen, 24 h activity, HyperEVM, Elysium | GET /v1/nfts/collections/{address} | 1 call |
get_nft_tokens | Tokens of a collection: owner, metadata URI, HyperEVM, Elysium | GET /v1/nfts/tokens | 1 call |
get_nfts_owned | NFTs a wallet holds, per collection, HyperEVM, Elysium | GET /v1/nfts/owned | 1 call |
get_nft_transfers | Transfers of a collection or one token, newest first, HyperEVM, Elysium | GET /v1/nfts/transfers | 1 call |
search_entities | Named wallets: KOLs, traders, funds and their addresses, all | GET /v1/entities | 1 call |
get_entity_graph | Why a wallet is attributed to an entity: links and proofs, all | GET /v1/entities/{id}/graph | 1 call |
get_entity_pnl | A named entity's realized PnL, fees and funding per hour or day, cumulative, HyperCore | GET /v1/entities/{id}/pnl | 1 call |
kol_leaderboard | Named wallets ranked by PnL, volume, swaps or holdings, all | GET /v1/kols/leaderboard | 1 medium call |
kol_positioning | Named wallets long vs short per perp: notional, entry, PnL, liquidation risk, 1 h / 24 h flows, HyperCore | GET /v1/kols/positioning | 1 call |
kol_activity | Latest fills, swaps and transfers of named wallets, all | GET /v1/kols/activity | 1 call |
get_builders | Builder codes ranked by fees, volume, users or orders, HyperCore | GET /v1/hypercore/builders | 1 call |
get_builder | One builder code: totals, days, markets, order outcomes, fee rates, HyperCore | GET /v1/hypercore/builders/{builder} | 1 call |
get_builder_orders | Every order status of one builder code, rejections included, HyperCore | GET /v1/hypercore/builders/{builder}/orders | 1 call |
get_builder_fills | Every fill of one builder code with its builder fee, HyperCore | GET /v1/hypercore/builders/{builder}/fills | 1 medium call |
create_webhook | Push bridges, a wallet’s activity, liquidations, large positions or launches to your URL, signed, webhooks | POST /v1/webhooks | 1 call |
list_webhooks | Your webhooks: state, failures, subscriptions, webhooks | GET /v1/webhooks | 1 call |
get_webhook | State, failures, subscriptions, deliveries today, webhooks | GET /v1/webhooks/{id} | 1 call |
update_webhook | Change its URL, description or subscriptions, webhooks | PATCH /v1/webhooks/{id} | 1 call |
enable_webhook | Turn a disabled webhook on again, webhooks | POST /v1/webhooks/{id}/enable | 1 call |
rotate_webhook_secret | New signing secret, the old one valid 24 h, webhooks | POST /v1/webhooks/{id}/rotate-secret | 1 call |
delete_webhook | Delete a webhook (destructive), webhooks | DELETE /v1/webhooks/{id} | 1 call |
test_webhook | Send a test delivery to a verified webhook, webhooks | POST /v1/webhooks/{id}/test | 1 call |
get_webhook_deliveries | Deliveries of a webhook with every attempt: status, latency, your answer, webhooks | GET /v1/webhooks/{id}/deliveries | 1 call |
replay_webhook | Send one delivery, or every dead one since a time, again, webhooks | POST /v1/webhooks/{id}/deliveries/{msgId}/replay | 1 call |
get_account | Tier, limits, balance, month to date, plan, how to pay, account | GET /v1/account | free |
get_usage | Calls, credits and USD per day and class, account | GET /v1/account/usage | free |
get_ledger | Payments in, plan charges, refunds, usage debits, account | GET /v1/account/ledger | free |
get_deposits | Deposit address and latest USDC deposits, account | GET /v1/account/deposits | free |
get_deposit_address | USDC address credited 1:1, and how to pay it, account | POST /v1/account/deposit-address | free |
get_payment_options | Pay: USDC address, x402 packs, card URL, account | POST /v1/account/pay | free |
get_plans | Credits per class, PAYG bands, plans, payment methods, account | GET /v1/account/plans | free |
subscribe_plan | Buy a plan from the balance (month or year), account | POST /v1/account/subscribe | free |
cancel_plan | Stop renewal at period end, account | POST /v1/account/cancel | free |
quote_wallet_payment | USDC authorization to sign for a plan or top-up, account | POST /v1/account/wallet/quote | free |
pay_with_wallet | Settle the signed USDC authorization, account | POST /v1/account/wallet/pay | free |
set_spending_cap | Monthly spending cap (USD), or none, account | POST /v1/account/cap | free |
rotate_key | New key now; the old one stops working, account | POST /v1/account/rotate | free |
freeze_key | Stop a leaked key at once, account | POST /v1/account/freeze | free |
delete_account | Delete the account and its key, account | DELETE /v1/account | free |
get_signup_challenge | No key: proof-of-work challenge for a free key, account | GET /v1/account/signup | free |
signup | No key: a free key and management secret, account | POST /v1/account/signup | free |
get_recovery_challenge | No key: message to sign for a lost x402 key, account | POST /v1/account/recover/challenge | free |
recover_account | No key: new key for an x402 account, account | POST /v1/account/recover | free |
Markdown: this page as Markdown.
Agent guide (agents.md) llms.txt OpenAPI MCP server Get an API key Changelog