Femtos
by femtos.xyz · remote · no sign-in to list tools · v1.1.0 · published by xyz.femtos
Hyperliquid data for agents: HyperCore, HyperEVM, Elysium trades, candles, bridges, wallets.
27 tools: 1 do something that can't be undone, 3 change things and 23 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone1Claude Code: ask: see these tools
- Changes things3Claude Code: ask: see these tools
- Only reads23Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http femtos https://api.femtos.xyz/mcp --header 'Authorization: <your-authorization>'Findings
Matches of fixed checks, with the text they matched.
- Warnget_positions
The server marks "get_positions" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The name "get_positions" says "get": a word for reading.
The server marks "get_nft_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The name "get_nft_transfers" says "get": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
27 tools
Can't be undone 1Claude Code: ask
get_nft_transfersTransfers (mints and burns included) of one collection or one of its tokens, newest first: from, to, token id, amount, block, tx.1 finding
Why it is in this group
- The name "get_nft_transfers" says "get": a word for reading.
- The description's first verb is "transfer": a word for a change that another call does not undo.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "get_nft_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The name "get_nft_transfers" says "get": a word for reading.
Description, as the server wrote it Transfers (mints and burns included) of one collection or one of its tokens, newest first: from, to, token id, amount, block, tx. Next page: pass `next_cursor` as cursor.
Annotations the server declares
- title: NFT transfers
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
Changes things 3Claude Code: ask
get_positionsOpen positions of one HyperCore perp at the latest holders snapshot: account, size, side, entry price, notional, unrealized PnL at the mark, leverage, margin mode and liquidation p…1 finding
Why it is in this group
- The name "get_positions" says "get": a word for reading.
- The description's first verb is "open": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "get_positions" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The name "get_positions" says "get": a word for reading.
Description, as the server wrote it Open positions of one HyperCore perp at the latest holders snapshot: account, size, side, entry price, notional, unrealized PnL at the mark, leverage, margin mode and liquidation price when known. Sort by notional (default), upnl or liqDistance (closest to liquidation first). Named wallets carry `entity`.
Annotations the server declares
- title: Open positions
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
kol_activityLatest moves of named wallets, newest first: HyperCore fills (minNotional USD, default 1000), HyperEVM / Elysium swaps and transfers.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Latest moves of named wallets, newest first: HyperCore fills (minNotional USD, default 1000), HyperEVM / Elysium swaps and transfers. Optionally one entity (id from search_entities). Next page: pass `next_cursor` as cursor.
Annotations the server declares
- title: Named-wallet moves
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
kol_leaderboardNamed wallets ranked by their trading on a layer.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Named wallets ranked by their trading on a layer. hypercore: PnL, volume, fills, win rate, open notional (default 7d, sort netPnl). hyperevm / elysium: swaps, transfers, net buy, holdings, bridge legs (default 24h, sort volume).
Annotations the server declares
- title: Named-wallet leaderboard
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
Only reads 23Claude Code: allow
get_bookLive L2 order book of one HyperCore market from our own node: bids and asks best first as [px, sz, n] (price, size, order count), and the block it was read at.No findings
Why it is in this group
- The name "get_book" says "get": a word for reading.
Description, as the server wrote it Live L2 order book of one HyperCore market from our own node: bids and asks best first as [px, sz, n] (price, size, order count), and the block it was read at. coin: perp name (BTC), spot @index (@107) or HIP-3 dex:COIN.
Annotations the server declares
- title: Order book
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_bridgesBridge movements, newest first, with 24 h stats.No findings
Why it is in this group
- The name "get_bridges" says "get": a word for reading.
Description, as the server wrote it Bridge movements, newest first, with 24 h stats. route core_evm: HyperCore <> HyperEVM transfers, both legs matched (status, latency, how they were paired); route evm_elysium: HyperEVM <> Elysium (Orbit) deposits and withdrawals. Filter by account to follow one wallet across layers. Heavy call.
Annotations the server declares
- title: Bridge movements
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_candlesOHLCV candles of one market, ascending, UTC-aligned.No findings
Why it is in this group
- The name "get_candles" says "get": a word for reading.
Description, as the server wrote it OHLCV candles of one market, ascending, UTC-aligned. hypercore: market = coin (BTC, HYPE, @107 spot, xyz:TSLA), down to 1 s. hyperevm / elysium: market = pool key from list_markets; prices in quote plus `usd` and `mcap` OHLC (USD price and market cap). Without from: the `limit` candles ending now. Windows over 30 days are billed as heavy calls.
Annotations the server declares
- title: OHLCV candles
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_coinOne token: its links across layers, the markets it trades on (most traded first) and its 5 largest holders.No findings
Why it is in this group
- The name "get_coin" says "get": a word for reading.
Description, as the server wrote it One token: its links across layers, the markets it trades on (most traded first) and its 5 largest holders. hypercore: id = token name (HYPE), index or token id; hyperevm / elysium: id = 0x address.
Annotations the server declares
- title: One token
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_erc20_transfersERC-20 Transfer events of a token, newest first (from, to, amount, block, tx).No findings
Why it is in this group
- The name "get_erc20_transfers" says "get": a word for reading.
Description, as the server wrote it ERC-20 Transfer events of a token, newest first (from, to, amount, block, tx). Next page: pass `next_cursor` as cursor.
Annotations the server declares
- title: ERC-20 transfers
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_holdersLargest holders of a token and its concentration (top-10 share…); system addresses (pools, bridges, launchpad, zero/dead) counted apart.No findings
Why it is in this group
- The name "get_holders" says "get": a word for reading.
Description, as the server wrote it Largest holders of a token and its concentration (top-10 share…); system addresses (pools, bridges, launchpad, zero/dead) counted apart. hypercore: token = name (HYPE), kind = balances (spot) or positions (perp open interest of a coin); hyperevm / elysium: token = 0x address. Named wallets carry `entity`.
Annotations the server declares
- title: Token holders
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_launchThe story of one launched token: launch event, market cap, volume, holders, dev wallet and its funding, early buyers with flags, coordination signals, fees (exact from the launchpa…No findings
Why it is in this group
- The name "get_launch" says "get": a word for reading.
Description, as the server wrote it The story of one launched token: launch event, market cap, volume, holders, dev wallet and its funding, early buyers with flags, coordination signals, fees (exact from the launchpad ledger when indexed), lifecycle stage across layers and, for Ascend, progress toward the "Ascended" criteria. Elysium first, then HyperEVM LiquidLaunch.
Annotations the server declares
- title: One launch
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_launch_timelineReplayable life of a launch, oldest first: launch, swaps and transfers with the running holder count and market cap, graduation links (bridge to HyperEVM, HyperCore listing).No findings
Why it is in this group
- The name "get_launch_timeline" says "get": a word for reading.
Description, as the server wrote it Replayable life of a launch, oldest first: launch, swaps and transfers with the running holder count and market cap, graduation links (bridge to HyperEVM, HyperCore listing). Long histories are cut to fit (see `truncated`).
Annotations the server declares
- title: Launch timeline
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_liquidation_statsHyperCore liquidations over a window (1h, 24h, 7d, 30d), every perp or one coin: totals (notional, count, accounts, long / short, market / backstop), per coin, per time bucket, the…No findings
Why it is in this group
- The name "get_liquidation_stats" says "get": a word for reading.
Description, as the server wrote it HyperCore liquidations over a window (1h, 24h, 7d, 30d), every perp or one coin: totals (notional, count, accounts, long / short, market / backstop), per coin, per time bucket, the most liquidated accounts and the largest events.
Annotations the server declares
- title: Liquidation stats
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_liquidationsHyperCore perp liquidations, newest first: one row per account, coin and block (side of the liquidated position, market or backstop, size, notional, average and mark price).No findings
Why it is in this group
- The name "get_liquidations" says "get": a word for reading.
Description, as the server wrote it HyperCore perp liquidations, newest first: one row per account, coin and block (side of the liquidated position, market or backstop, size, notional, average and mark price). Default window: the last 24 h; `from` older than 7 days (30 with a coin) is clamped, the answer's `from` says where it starts. Named wallets carry `userEntity`.
Annotations the server declares
- title: Liquidations
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_nft_collectionOne NFT collection of an EVM layer: metadata, standards, token ids seen (counted up to 1,000), transfers / mints / burns over the 24 h before the indexed head.No findings
Why it is in this group
- The name "get_nft_collection" says "get": a word for reading.
Description, as the server wrote it One NFT collection of an EVM layer: metadata, standards, token ids seen (counted up to 1,000), transfers / mints / burns over the 24 h before the indexed head.
Annotations the server declares
- title: One NFT collection
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_nft_tokensTokens of one collection by token id, ascending: current ERC-721 owner (null for ERC-1155), metadata URI.No findings
Why it is in this group
- The name "get_nft_tokens" says "get": a word for reading.
Description, as the server wrote it Tokens of one collection by token id, ascending: current ERC-721 owner (null for ERC-1155), metadata URI. Next page: pass `next_cursor` as cursor.
Annotations the server declares
- title: NFT tokens
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_nfts_ownedNFTs an address holds on an EVM layer at the indexed head: ERC-721 tokens and ERC-1155 balances, counted per collection, the tokens listed up to limit.No findings
Why it is in this group
- The name "get_nfts_owned" says "get": a word for reading.
Description, as the server wrote it NFTs an address holds on an EVM layer at the indexed head: ERC-721 tokens and ERC-1155 balances, counted per collection, the tokens listed up to limit.
Annotations the server declares
- title: NFTs of a wallet
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_statusState of each layer (HyperCore, HyperEVM, Elysium): indexed head block and time, lag behind the chain, live or syncing, Elysium network (testnet / mainnet), HyperCore <> HyperEVM b…No findings
Why it is in this group
- The name "get_status" says "get": a word for reading.
Description, as the server wrote it State of each layer (HyperCore, HyperEVM, Elysium): indexed head block and time, lag behind the chain, live or syncing, Elysium network (testnet / mainnet), HyperCore <> HyperEVM bridge matching coverage. Check it when an answer looks stale. Free.
Annotations the server declares
- title: Layer status
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_token_lifecycleOne token from launch to perp across Elysium, HyperEVM and HyperCore: its address on each layer, the stages reached (Elysium launch, listing desk, HyperEVM mirror, HyperCore spot, …No findings
Why it is in this group
- The name "get_token_lifecycle" says "get": a word for reading.
Description, as the server wrote it One token from launch to perp across Elysium, HyperEVM and HyperCore: its address on each layer, the stages reached (Elysium launch, listing desk, HyperEVM mirror, HyperCore spot, perps) with chain evidence, and the links between them, each exact or inferred. id: an Elysium / HyperEVM address, core:<index>, a HyperCore token id or name, or a perp coin (dex:COIN).
Annotations the server declares
- title: Token across the 3 layers
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_token_volumeDaily USD swap volume of an EVM token (both sides of every priced swap), oldest first, up to the indexed head (the last day is partial).No findings
Why it is in this group
- The name "get_token_volume" says "get": a word for reading.
Description, as the server wrote it Daily USD swap volume of an EVM token (both sides of every priced swap), oldest first, up to the indexed head (the last day is partial).
Annotations the server declares
- title: Daily token volume
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_tradesLatest trades of a market, newest first.No findings
Why it is in this group
- The name "get_trades" says "get": a word for reading.
Description, as the server wrote it Latest trades of a market, newest first. hypercore: fills of a coin (px, sz, side B = buyer aggressor / A, block time). hyperevm / elysium: DEX swaps of a pool (sender, amounts, px = pool price after the swap, USD value).
Annotations the server declares
- title: Latest trades / swaps
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_walletOne address on HyperCore, HyperEVM and Elysium at once: HyperCore perp account (value, positions with liquidation price) and spot balances, HyperEVM and Elysium token balances and …No findings
Why it is in this group
- The name "get_wallet" says "get": a word for reading.
Description, as the server wrote it One address on HyperCore, HyperEVM and Elysium at once: HyperCore perp account (value, positions with liquidation price) and spot balances, HyperEVM and Elysium token balances and NFTs with USD values, bridge legs in flight and journeys across the layers, latest events (fills, ledger, swaps, transfers, bridges), each section with its freshness. Heavy call.
Annotations the server declares
- title: Cross-layer wallet
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
list_launchesLatest token launches, newest first: Elysium launchpad Ascend (default) or HyperEVM LiquidLaunch (launchpad = liquidlaunch).No findings
Why it is in this group
- The name "list_launches" says "list": a word for reading.
Description, as the server wrote it Latest token launches, newest first: Elysium launchpad Ascend (default) or HyperEVM LiquidLaunch (launchpad = liquidlaunch). Each: token, pool (pair), creator, priceUsd, mcapUsd, 24 h volume, holders, top-10 / dev share, dev sold, Ascend progress (Elysium). Next page (Elysium): pass `next_cursor` as cursor.
Annotations the server declares
- title: Token launches
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
list_marketsTradable markets of a layer, most traded first (24 h USD volume).No findings
Why it is in this group
- The name "list_markets" says "list": a word for reading.
Description, as the server wrote it Tradable markets of a layer, most traded first (24 h USD volume). hypercore: perps, spot, HIP-3 dex perps (dex:COIN), outcome markets; `id` is the coin to pass to get_candles / get_trades (BTC, @107, xyz:TSLA). hyperevm / elysium: DEX pools with price, priceUsd, 24 h volume, mcapUsd (Elysium); `id` is the pool key to pass to get_candles / get_trades. `total` = markets matching. Next page: pass `next_cursor` as cursor.
Annotations the server declares
- title: Markets and pools
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
list_nft_collectionsMost active NFT collections of an EVM layer over the last 1 h or 24 h before the indexed head: transfers, mints, burns, with each collection's name, symbol and standard.No findings
Why it is in this group
- The name "list_nft_collections" says "list": a word for reading.
Description, as the server wrote it Most active NFT collections of an EVM layer over the last 1 h or 24 h before the indexed head: transfers, mints, burns, with each collection's name, symbol and standard.
Annotations the server declares
- title: NFT collections
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
search_coinsTokens by symbol, name or address, with their links across layers (Elysium <-> HyperEVM <-> HyperCore), decimals, supply and USD price.No findings
Why it is in this group
- The name "search_coins" says "search": a word for reading.
Description, as the server wrote it Tokens by symbol, name or address, with their links across layers (Elysium <-> HyperEVM <-> HyperCore), decimals, supply and USD price. Without layer: every layer. An exact address always answers its token (spam flagged).
Annotations the server declares
- title: Find tokens
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
search_entitiesNamed wallets (KOLs, traders, funds, market makers) and their wallets, from public attribution lists (not verified identities).No findings
Why it is in this group
- The name "search_entities" says "search": a word for reading.
Description, as the server wrote it Named wallets (KOLs, traders, funds, market makers) and their wallets, from public attribution lists (not verified identities). A named wallet's address is given as its handle <entityId>.<hex>, usable as an address in every tool. Use the entity id with kol_activity. Next page: pass `next_cursor` as cursor.
Annotations the server declares
- title: Named wallets
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.1.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http femtos https://api.femtos.xyz/mcp --header 'Authorization: <your-authorization>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__femtos__get_status",
"mcp__femtos__list_markets",
"mcp__femtos__get_candles",
"mcp__femtos__get_trades",
"mcp__femtos__search_coins",
"mcp__femtos__get_coin",
"mcp__femtos__get_holders",
"mcp__femtos__list_launches",
"mcp__femtos__get_launch",
"mcp__femtos__get_launch_timeline",
"mcp__femtos__get_token_lifecycle",
"mcp__femtos__get_bridges",
"mcp__femtos__get_wallet",
"mcp__femtos__get_token_volume",
"mcp__femtos__get_erc20_transfers",
"mcp__femtos__get_book",
"mcp__femtos__get_liquidations",
"mcp__femtos__get_liquidation_stats",
"mcp__femtos__list_nft_collections",
"mcp__femtos__get_nft_collection",
"mcp__femtos__get_nft_tokens",
"mcp__femtos__get_nfts_owned",
"mcp__femtos__search_entities"
],
"ask": [
"mcp__femtos__get_positions",
"mcp__femtos__get_nft_transfers",
"mcp__femtos__kol_leaderboard",
"mcp__femtos__kol_activity"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as femtos. Review it before you use it.