Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Femtos

REMOTE · API.FEMTOS.XYZ

Hyperliquid data on HyperCore, HyperEVM, Elysium: balances, prices, trades, token security, bridges

Available components

+3 this week 67 Trust /100

Last scanned (22 hours ago)

Scores higher than 53% of remote servers

Reachable. Last reached 4 Nov 2026.

Category Finance and Payments

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security57
Transport & Reachability100
Schema Quality & AI Usability60
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 19227 tokens (~204/item across 94 items; 94 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management43
  • Stability check failed: schema churn in the 14 days we've observed: 0 tool removals, 2 breaking changes, 0 auth/transport breaks, 67 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety95
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 4 of 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "get_nft_transfers" implies "transfer" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
  • An AI judge read all 95 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “get_position_changes” rewrote its description, which is the text the model reads security
    • New tool “get_position_flow” functional
    • “list_top_tokens” reworded the description of “sort” cosmetic
  • 3 Nov 26 +1
    • Tool “get_liquidation_map” rewrote its description, which is the text the model reads security
    • Tool “get_open_interest” rewrote its description, which is the text the model reads security
    • Tool “get_positions” rewrote its description, which is the text the model reads security
    • “get_candles” reworded the description of “tf” cosmetic
    • “get_open_interest_opens” reworded the description of “from” cosmetic
    • “get_open_interest_opens” reworded the description of “to” cosmetic
  • 1 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 29 to 32.

  • 31 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “get_builder” rewrote its description, which is the text the model reads security
    • Tool “get_builder_fills” rewrote its description, which is the text the model reads security
    • Tool “get_builders” rewrote its description, which is the text the model reads security
    • Tool “get_open_interest” rewrote its description, which is the text the model reads security
    • Tool “get_open_interest_cohorts” rewrote its description, which is the text the model reads security
    • Tool “get_open_interest_opens” rewrote its description, which is the text the model reads security
    • Tool “list_open_interest” rewrote its description, which is the text the model reads security
    • Schema quality: 183 → 202 ▼ functional
    • “elysium_rpc” added an optional parameter “network” cosmetic
    • “get_balances” added an optional parameter “network” cosmetic
    • “get_block” added an optional parameter “network” cosmetic
    • “get_bridges” added an optional parameter “network” cosmetic
    • “get_candles” added an optional parameter “network” cosmetic
    • “get_coin” added an optional parameter “network” cosmetic
    • “get_entity_graph” added an optional parameter “network” cosmetic
    • “get_erc20_transfers” added an optional parameter “network” cosmetic
    • “get_gas” added an optional parameter “network” cosmetic
    • “get_holders” added an optional parameter “network” cosmetic
    • “get_holders_history” added an optional parameter “network” cosmetic
    • “get_launch” added an optional parameter “network” cosmetic
    • “get_launch_timeline” added an optional parameter “network” cosmetic
    • “get_nft_collection” added an optional parameter “network” cosmetic
    • “get_nft_tokens” added an optional parameter “network” cosmetic
    • “get_nft_transfers” added an optional parameter “network” cosmetic
    • “get_nfts_owned” added an optional parameter “network” cosmetic
    • “get_pool” added an optional parameter “network” cosmetic
    • “get_price_history” added an optional parameter “network” cosmetic
    • “get_prices” added an optional parameter “network” cosmetic
    • “get_status” added an optional parameter “network” cosmetic
    • “get_token_balance” added an optional parameter “network” cosmetic
    • “get_token_lifecycle” added an optional parameter “network” cosmetic
    • “get_token_overview” added an optional parameter “network” cosmetic
    • “get_token_security” added an optional parameter “network” cosmetic
    • “get_token_traders” added an optional parameter “network” cosmetic
    • “get_token_volume” added an optional parameter “network” cosmetic
    • “get_tokens” added an optional parameter “network” cosmetic
    • “get_trades” added an optional parameter “network” cosmetic
    • “get_transaction” added an optional parameter “network” cosmetic
    • “get_wallet” added an optional parameter “network” cosmetic
    • “kol_activity” added an optional parameter “network” cosmetic
    • “kol_leaderboard” added an optional parameter “network” cosmetic
    • “list_launches” added an optional parameter “network” cosmetic
    • “list_markets” added an optional parameter “network” cosmetic
    • “list_new_pools” added an optional parameter “network” cosmetic
    • “list_new_tokens” added an optional parameter “network” cosmetic
    • “list_nft_collections” added an optional parameter “network” cosmetic
    • “list_top_tokens” added an optional parameter “network” cosmetic
    • “search_coins” added an optional parameter “network” cosmetic
    • “search_entities” added an optional parameter “network” cosmetic
    • “get_builder” reworded the description of “window” cosmetic
    • “get_builders” reworded the description of “window” cosmetic
  • 30 Oct 26 0
    • Tool “get_open_interest” rewrote its description, which is the text the model reads security
    • Tool “get_usage” rewrote its description, which is the text the model reads security
    • New tool “get_open_interest_opens” functional
  • 29 Oct 26 +1
    • The server rewrote its instructions, which are the text every model session reads security
    • New tool “delete_account”, which the server declares destructive security
    • New tool “freeze_key”, which the server declares destructive security
    • New tool “recover_account”, which the server declares destructive security
    • New tool “rotate_key”, which the server declares destructive security
    • Tool “get_holders” rewrote its description, which is the text the model reads security
    • Tool “get_pool” rewrote its description, which is the text the model reads security
    • Tool “get_token_security” rewrote its description, which is the text the model reads security
    • Destructive annotations: 67% → 80% ▲ functional
    • Schema quality: 207 → 183 ▲ functional
    • New tool “cancel_plan” functional
    • New tool “enable_webhook” functional
    • New tool “get_account” functional
    • New tool “get_deposit_address” functional
    • New tool “get_deposits” functional
    • New tool “get_holders_history” functional
    • New tool “get_ledger” functional
    • New tool “get_open_interest” functional
    • New tool “get_open_interest_cohorts” functional
    • New tool “get_payment_options” functional
    • New tool “get_plans” functional
    • New tool “get_recovery_challenge” functional
    • New tool “get_signup_challenge” functional
    • New tool “get_usage” functional
    • New tool “get_webhook” functional
    • New tool “list_open_interest” functional
    • New tool “list_top_tokens” functional
    • New tool “pay_with_wallet” functional
    • New tool “quote_wallet_payment” functional
    • New tool “rotate_webhook_secret” functional
    • New tool “set_spending_cap” functional
    • New tool “signup” functional
    • New tool “subscribe_plan” functional
    • New tool “update_webhook” functional
  • 28 Oct 26 +1
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “get_token_overview” rewrote its description, which is the text the model reads security
    • Tool “get_wall_events” rewrote its description, which is the text the model reads security
    • Tool “get_walls” rewrote its description, which is the text the model reads security
    • Tool “list_new_pools” rewrote its description, which is the text the model reads security
    • New tool “get_block” functional
    • New tool “get_entity_pnl” functional
    • New tool “get_gas” functional
    • New tool “get_token_traders” functional
    • New tool “kol_positioning” functional
    • “list_new_tokens” reworded the description of “minLiquidityUsd” cosmetic
  • 27 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Schema quality: 10564 → 12252 ▼ functional
    • New tool “get_builder” functional
    • New tool “get_builder_fills” functional
    • New tool “get_builder_orders” functional
    • New tool “get_builders” functional
    • New tool “get_entity_graph” functional
    • New tool “get_price_level” functional
    • New tool “get_wall_events” functional
    • New tool “get_walls” functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Probed https://api.femtos.xyz/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=femtos.xyz CN=YE2,O=Let's Encrypt,C=US 18 Oct 2026 16 Jan 2027 ECDSA 256 ECDSA-SHA384 5ee32b333ae91929bb3b68b9b0785cf10cf
SANs: *.femtos.xyz, femtos.xyz
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of api.femtos.xyz. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
xyz. present 3599, 18130 8, 8 Verified
femtos.xyz. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.femtos.xyz/mcp Verified 200
http (plaintext) http://api.femtos.xyz/mcp HTTPS enforced 301 https://api.femtos.xyz/mcp
MCP tools · 94 exposed · ~18,304 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
cancel_plan ~44

Stop your plan from renewing: it runs to its period end (no refund), then the key is back on pay as you go. subscribe_plan before then resumes it. Free.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

create_webhook ~239

Create an outgoing webhook: we POST the events of its subscriptions to your HTTPS URL (port 443 or 8443, public address), signed (Standard Webhooks: webhook-id, webhook-timestamp, webhook-signature = v1,<base64 HMAC-SHA256 of "id.timestamp.body" with the secret>). Channels (WebSocket vocabulary): bridge.transfers and elysium.bridge (matched bridge legs), wallet (filter.address: up to 100 addresses, filter.channel: event kinds), hc.liquidations and hc.positions (filter.min_notional; positions >= 10000), elysium.launches, hyperevm.launches. Your URL first gets a webhook.verification POST: answer {"challenge": "<data.challenge>"} within 10 s, nothing else is sent before. The answer carries the secret once. Free tier: 2 webhooks, 5 subscriptions, 10k deliveries a day.

NameTypeReqDescription
description––Your label (<= 200 characters)
subscriptionsarrayyesWhat to deliver
urlstringyeshttps, port 443 or 8443, a public address

No output schema declared.

No examples provided.

delete_account ~133

Delete your account: the key stops working for good. Refused while a plan runs or overage is due; a positive balance is lost only with forfeit_balance=true. Needs management_secret (agents); an account with an email gets a confirmation link. Cannot be undone.

NameTypeReqDescription
forfeit_balanceboolean–Agree to lose the balance left (no refund)
management_secretstring–Your management secret (fms_…, answered once at signup): runs the action at once. Also read from the X-Management-Secret header. An account with an email gets a confirmation link by email instead (20…

No output schema declared.

No examples provided.

delete_webhook ~34

Delete one of your webhooks and its pending deliveries. Cannot be undone.

NameTypeReqDescription
idstringyesWebhook id

No output schema declared.

No examples provided.

elysium_rpc ~471

One read-only JSON-RPC call on our Elysium mainnet (chain 99901) node, free: 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. The answer is the node's {jsonrpc, id, result} or {error}. eth_getLogs over at most 1000 blocks; state (eth_call, eth_getBalance…) of the last 128 blocks only. No transaction sending. Limited per IP (5/s, 60/min): use the indexed tools for history.

NameTypeReqDescription
methodstringyesA method served: eth_chainId, eth_blockNumber, net_version, net_listening, web3_clientVersion, eth_syncing, eth_getBlockByNumber, eth_getBlockByHash, eth_getBlockTransactionCountByNumber, eth_getBloc…
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
paramsarray–Its parameters, as the method takes them (absent: none)

No output schema declared.

No examples provided.

enable_webhook ~62

Turn a disabled webhook (410 Gone, or failing for 24 h) on again: your URL gets a new webhook.verification challenge, deliveries resume once it is answered; pending ones are kept 7 days.

NameTypeReqDescription
idstringyesWebhook id

No output schema declared.

No examples provided.

freeze_key ~55

Emergency stop for a leaked key: it is refused everywhere at once, this MCP connection included. Unfreeze or rotate it after with your management secret (POST /v1/account/unfreeze, /v1/account/rotate). Free.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_account ~76

Your Femtos account: name, tier and limits in force, balance and debt (USD), credits used this month and free credits left, monthly cap, plan and renewal, how to pay (USDC deposit address, card, x402), how rotate/delete are confirmed (manageWith). Start here to manage the account. Free.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_balances ~446

What an address holds, one flat list: HyperCore spot tokens (live), HyperEVM and Elysium ERC-20s and native HYPE (indexed head), each with raw units, amount, USD price and value, largest first; spam tokens left out; HyperCore perp accounts (account value, withdrawable) apart in `perp`; totals per layer and overall, each layer with its source, height and asOf. Past balances: block or at (Unix ms) on one layer (EVM: needs tokens, read on our archive node; HyperCore: the holder snapshot at or before it, 7 days kept). verify: EVM rows read again on the node at the same block (indexer drift shows as onchain.match false).

NameTypeReqDescription
addressstringyes0x address, or a named wallet's handle `<entityId>.<hex>`
atinteger–Past balances at this time (Unix ms): the last block at or before it
blockinteger–Past balances at this block (one layer; EVM: tokens= required; HyperCore: the snapshot at or before this height)
includeSpamboolean–List spam tokens (flagged spam / spamReason); never in the totals
layerstring–Layer(s) read (default all)
limitinteger–Rows (default 50)
minUsdnumber–Leave out holdings worth less (and unpriced ones)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
sortstring–Order (default usd)
tokensstring–Comma list (at most 50; 20 with block / at): EVM token addresses (`native` = HYPE) and HyperCore coin names; every token asked is listed, held or not (0)
verifyboolean–EVM layers: read the rows answered (at most 50 per layer) again on the node at the same block

No output schema declared.

No examples provided.

get_block ~154

One HyperEVM or Elysium block (a number, or latest): hash, time, small or big block (HyperEVM), gas, base fee, tips, HYPE burnt and fees, and every transaction in order with sender, recipient (named wallets tagged), HYPE sent, function called, status, gas, tip, fee and its decoded swaps, transfers and liquidity changes.

NameTypeReqDescription
layerstring–EVM layer (default hyperevm)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
number–yesBlock number, or latest

No output schema declared.

No examples provided.

get_book ~112

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.

NameTypeReqDescription
coinstringyesHyperCore coin: BTC, @107, xyz:TSLA
depthinteger–Levels per side (default 20, max 100)

No output schema declared.

No examples provided.

get_bridges ~239

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. Medium call.

NameTypeReqDescription
accountstring–Sender or recipient
directionstring–Direction
includeSpamboolean–evm_elysium: rows of spam parent tokens (HyperEVM tokens.spam), left out by default
limitinteger–Rows (default 50)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
routestring–Bridge (default core_evm)
systemstring–Kinetiq system retryables (evm_elysium) (default exclude)
tokenstring–Token address (`hype` for native HYPE)

No output schema declared.

No examples provided.

get_builder ~163

One HyperCore builder code over a window (24h to all since 2025-07-19): fees (USD stablecoins at par, exact per token), volume, fills, users, rank; one row per day; its markets; its orders from 2026-10-13 15:50 UTC by status (fills, cancels, each rejection reason) and the fee rates they charged.

NameTypeReqDescription
builderstringyesBuilder address (0x), as orders name it in `builder.b`
windowstring–Window, whole hours ending with the current one: 24h, 7d, 30d, 90d, or all (since 2025-07-19) (default 30d)

No output schema declared.

No examples provided.

get_builder_fills ~194

Fills of one HyperCore builder code, newest first, with the builder fee of each, account, market, price, size, direction, PnL, oid, tid and hash. From 2025-07-19; window from / to, default the last 24 h, at most 24 h per call. Next page: pass `next_cursor` as cursor.

NameTypeReqDescription
builderstringyesBuilder address (0x), as orders name it in `builder.b`
coinstring–One market
cursorstring–Next page: `next_cursor` of the previous answer
frominteger–Window start (Unix ms, default to − 24 h)
limitinteger–Rows (default 50)
tointeger–Window end (Unix ms, exclusive, default now)
userstring–One account

No output schema declared.

No examples provided.

get_builder_orders ~208

Order statuses of one HyperCore builder code, newest first: open, filled, canceled, triggered and every rejection reason, with market, side, type, prices, sizes, account and the fee rate charged. From 2026-10-13 15:50 UTC; window from / to, default 24 h, at most 7 days per call. Next page: pass `next_cursor` as cursor.

NameTypeReqDescription
builderstringyesBuilder address (0x), as orders name it in `builder.b`
coinstring–One market
cursorstring–Next page: `next_cursor` of the previous answer
frominteger–Window start (Unix ms, default to − 24 h)
limitinteger–Rows (default 50)
statusstring–One status
tointeger–Window end (Unix ms, exclusive, default now)
userstring–One account

No output schema declared.

No examples provided.

get_builders ~201

HyperCore builder codes ranked over a window (24h, 7d, 30d, 90d, all since 2025-07-19): builder fees earned (USD stablecoins at par, exact per token), volume, fills, distinct users, share of all builder fees, and order outcomes (distinct orders, filled, canceled, rejected; from 2026-10-13 15:50 UTC), and the app behind each code (Phantom, MetaMask…) when known. Sort by fees, volume, fills, users or orders.

NameTypeReqDescription
limitinteger–Builders (default 25)
sortstring–Order, largest first (default fees)
windowstring–Window, whole hours ending with the current one: 24h, 7d, 30d, 90d, or all (since 2025-07-19) (default 30d)

No output schema declared.

No examples provided.

get_candles ~347

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). Or token instead of market: a token's candles in USD through its reference pool (most liquid; the answer names it), HyperCore: its USDC market. Without from: the `limit` candles ending now. Windows over 30 days are billed as heavy calls.

NameTypeReqDescription
frominteger–Start, Unix ms (inclusive)
layerstringyesLayer
limitinteger–Candles (default 50, 30 for 1d; max 1000)
marketstring–hypercore: coin; hyperevm / elysium: pool key (or give token)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
tfstringyesCandle unit (EVM layers: 1s to 1d, no 3m 30m 2h 8h 12h 3d 1w 1M)
tointeger–End, Unix ms (exclusive; default now)
tokenstring–Instead of market: a token (0x address; hypercore: name HYPE, PURR)

No output schema declared.

No examples provided.

get_coin ~158

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. Price, FDV, liquidity and 5m–24h windows over all its pools: get_token_overview.

NameTypeReqDescription
idstringyesHyperCore name / index / token id, or 0x address
layerstringyesLayer
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)

No output schema declared.

No examples provided.

get_deposit_address ~74

Your USDC deposit address (created on the first call, then the same): send USDC on HyperCore (usdSend), HyperEVM, Base or Arbitrum One (ERC-20 transfer) and it is credited 1:1 to your balance. Answers how to pay on each chain. Free.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_deposits ~60

Your USDC deposit address on each chain (HyperCore, HyperEVM, Base, Arbitrum One), amounts waiting to reach the minimum, and its latest deposits: amount, tx, pending / credited / ignored with the reason. Free.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_entity_graph ~131

How each wallet of a named entity was attributed: the links (bridges, HyperCore sub-accounts, sends both ways, Farcaster self-declarations) back to the public source, with their proofs (source, time, USD value, chains), and the HyperCore metrics of smart-money wallets. Use it to judge an attribution before relying on it.

NameTypeReqDescription
idstringyesEntity id
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)

No output schema declared.

No examples provided.

get_entity_pnl ~167

The HyperCore PnL curve of a named entity (id from search_entities): per hour or day, realized PnL, fees, funding, net and cumulative net, over 7d, 30d, 90d or all history. Realized only: open positions' unrealized PnL is in get_entity's answer.

NameTypeReqDescription
bucketstring–Bucket: 1h (window 7d or 30d) or 1d. Default 1d (default 1d)
idstringyesEntity id
windowstring–UTC days ending today: 7d, 30d, 90d, or all (since `dataStart`). Default 30d (default 30d)

No output schema declared.

No examples provided.

get_erc20_transfers ~323

ERC-20 Transfer events, newest first (from, to, amount, block, tx). address: the transfers sent / received by a wallet (direction in, out or any), optionally of one token, in a window (from / to, Unix ms) or above minUsd (amount × current token price); each row with token, symbol, direction and USD value. Without address: the transfers of one token. Filtered pages may hold fewer rows than limit: keep paging with `next_cursor` (null = no more).

NameTypeReqDescription
addressstring–Transfers from / to this address (a named wallet's handle works too); token then optional
cursorstring–Next page: `next_cursor` of the previous answer
directionstring–With address: received, sent or both (default any)
from––With address: window start, Unix ms (inclusive)
includeSpamboolean–With address: transfers of spam tokens too (flagged)
layerstringyesEVM layer
limitinteger–Rows (default 50)
minUsd––With address: smallest amount × current token price, USD
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
to––With address: window end, Unix ms (exclusive)
tokenstring–Token address (required without address)

No output schema declared.

No examples provided.

get_forced_flow ~300

Open stop-loss / take-profit orders and the liquidation prices of open positions of one HyperCore market on the same price buckets: per bucket the stops by kind and side (each at what it would execute: a reduce-only order at most what is left of its wallet's position, the rest under stops.unbacked), the liquidations by side, the cascade (what fires with the move: sell = sell stop-losses + long liquidations, buy = buy stop-losses + short liquidations) and forced = cascade + take-profits (which fire against the move: sell ones above the mark, buy ones below), each with its running total from the mark outward (cumCascadeSell / cumSell downward, cumCascadeBuy / cumBuy upward); summary = cascade selling under the mark and buying over it, take-profits on the far side, and the forced totals, inside the grid. Same grid parameters as get_stop_map.

NameTypeReqDescription
bucketsinteger–Most buckets (default 20; the width is rounded up to 1, 2, 2.5 or 5 × 10^k)
coinstringyesPerp coin: BTC, ETH, xyz:TSLA
rangePctnumber–Half-width of the grid around the mark, percent (default 10)
stepstring–Bucket width in price units, instead of buckets (at most 400 buckets)

No output schema declared.

No examples provided.

get_gas ~287

HyperEVM or Elysium gas over 1h, 6h, 24h or 7d: each block's base fee, gas used and limit, transactions and priority fees (p50 / p90 tips), HyperEVM small and big blocks as two series (each has its own base fee). Stats per series (base fee min / median / p90 / p99 / max / mean, typical tips, utilization) and the latest block. Points are every block up to 25000 per series, else buckets with min / mean / max base fee; ask a coarse resolution (5m, 15m, 1h) for a short answer. Values in wei.

NameTypeReqDescription
layerstring–EVM layer (default hyperevm)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
resolutionstring–block, 10s, 1m, 5m, 15m or 1h; default auto (every block up to 25000 per series) (default 15m)
windowstring–Window ending now: 1h, 6h, 24h or 7d (default 1h)

No output schema declared.

No examples provided.

get_holders ~311

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`; EVM rows say what each address is (label, labelKind: pool, bridge, protocol, token, creator, multisig, contract, wallet; contract: has code).

NameTypeReqDescription
excludeSystemboolean–1 / true: pools, PoolManager, hooks, gateways, bridge system addresses, LiquidLaunch curve, zero/dead counted apart; 0 / false: counted with the others (default true)
kindstring–HyperCore: spot balances of a token, or perp positions (open interest by account) of a coin (spot / perp: the same). Default: positions for a perp coin, else balances
layerstring–Layer (default hypercore)
limitinteger–Rows (default 50)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
tokenstringyesToken address (Elysium, HyperEVM), token name or perp coin (HyperCore)

No output schema declared.

No examples provided.

get_holders_history ~174

How the number of holders of a HyperEVM or Elysium ERC-20 evolved: one point a UTC day (holders at the indexed head just after 00:00 UTC, system addresses such as pools, bridges and zero / dead left out, as get_holders totalHolders) and the count now. History from the layer's first snapshot (`since`) on, up to 365 days.

NameTypeReqDescription
daysinteger–UTC days, today included (default 90)
layerstring–EVM layer (default hyperevm)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
tokenstringyesToken address

No output schema declared.

No examples provided.

get_launch ~286

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.

NameTypeReqDescription
earlyWindowSecinteger–Early-buyer window after the launch block (default 60)
fundingLookbackSecinteger–Funding lookback before the launch (default 86400)
layerstring–Default: Elysium, then HyperEVM LiquidLaunch when Elysium has no launch for the token
maxTop10Sharenumber–Ascended criterion: maximum top-10 share of the supply
minHoldersinteger–Ascended criterion: minimum unique holders (system excluded)
minMcapUsdstring–Ascended criterion: minimum market cap, USD (decimal string)
minVolumeUsdstring–Ascended criterion: minimum volume since launch, USD
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
tokenstringyesLaunched token address

No output schema declared.

No examples provided.

get_launch_timeline ~129

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`).

NameTypeReqDescription
layerstring–Default: Elysium, then HyperEVM
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
tokenstringyesLaunched token address

No output schema declared.

No examples provided.

get_ledger ~111

Your money movements, newest first: USDC deposits and x402 packs (with tx), card payments, credits by Femtos, plans paid from the balance, refunds; usage debits with usage=true. With the balance now. Next page: pass `next_cursor` as cursor. Free.

NameTypeReqDescription
cursorstring–Next page: `next_cursor` of the previous answer
limitinteger–Entries (default 50)
usageboolean–Include the usage debits

No output schema declared.

No examples provided.

get_liquidation_map ~257

Liquidation prices of the open perp positions of one HyperCore market, bucketed by price around the mark: per bucket the longs (liquidated by a forced sell as price falls to them) and the shorts (forced buy), count, |size| and |size| × liquidation price. Real per-position prices: every account's positions a few seconds old (the node state rolled forward with every fill, funding payment, ledger update and accepted account action), each liquidation price from Hyperliquid's formula on the account state, not a leverage model; `coverage` gives the share of open interest that has one (portfolio-margin cross accounts have none). Same grid parameters as get_stop_map: the buckets line up.

NameTypeReqDescription
bucketsinteger–Most buckets (default 20; the width is rounded up to 1, 2, 2.5 or 5 × 10^k)
coinstringyesPerp coin: BTC, ETH, xyz:TSLA
rangePctnumber–Half-width of the grid around the mark, percent (default 10)
stepstring–Bucket width in price units, instead of buckets (at most 400 buckets)

No output schema declared.

No examples provided.

get_liquidation_stats ~97

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.

NameTypeReqDescription
coinstring–One coin
windowstring–Window (default 24h)

No output schema declared.

No examples provided.

get_liquidations ~168

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 `entity`.

NameTypeReqDescription
coinstring–One coin
frominteger–Window start (ms)
limitinteger–Rows (default 50)
minNotionalnumber–Smallest notional, USD
tointeger–Window end (ms, exclusive)
userstring–One liquidated account (0x)

No output schema declared.

No examples provided.

get_nft_collection ~112

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.

NameTypeReqDescription
addressstringyesCollection contract
layerstringyesEVM layer
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)

No output schema declared.

No examples provided.

get_nft_tokens ~140

Tokens of one collection by token id, ascending: current ERC-721 owner (null for ERC-1155), metadata URI, image URL. Next page: pass `next_cursor` as cursor.

NameTypeReqDescription
collectionstringyesCollection contract
cursorstring–Next page: `next_cursor` of the previous answer
layerstringyesEVM layer
limitinteger–Rows (default 50)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)

No output schema declared.

No examples provided.

get_nft_transfers ~173

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.

NameTypeReqDescription
collectionstringyesCollection contract
cursorstring–Next page: `next_cursor` of the previous answer
layerstringyesEVM layer
limitinteger–Rows (default 50)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
tokenIdstring–One token
windowstring–Window when scope is not all (default 24h)

No output schema declared.

No examples provided.

get_nfts_owned ~119

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.

NameTypeReqDescription
layerstringyesEVM layer
limitinteger–Tokens listed (default 50)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
ownerstringyesHolder address

No output schema declared.

No examples provided.

get_open_interest ~287

Open interest of a HyperCore perp over time (bars of 1s to 1M since 2023-05-20, 1s and 15s since 2025-09-28): open / high / low / close of the open interest (size, Σ |position| of longs and shorts), its value at the last price, longs and shorts opened and closed in each bar, the part opened by aggressors, the size liquidated, accounts long and short, the hourly funding rate settled. Exact after every block since 2025-03-22 10:49 UTC, from every trade and Hyperliquid's own per-minute values (anchored on every hourly funding since 2025-09-28, where accounts start); before, Hyperliquid's per-minute values alone, moves and trades null. Hyperliquid's API serves only the current open interest.

NameTypeReqDescription
coinstringyesPerp market: BTC, xyz:TSLA (HIP-3: dex:COIN)
frominteger–Start (ms, inclusive; aligned down to the unit). Without it: the `limit` bars ending at `to`
limitinteger–Bars (default 100)
tfstringyesBar unit
tointeger–End (ms, exclusive; default now)

No output schema declared.

No examples provided.

get_open_interest_cohorts ~224

Who holds a HyperCore perp's open interest, every hour since 2025-09-28: long and short size and accounts by position size tier (0 = no trade price known, 1 = under $10k, 2 = $10k–100k, 3 = $100k–1M, 4 = $1M–10M, 5 = $10M and more), and the share of the 10 largest longs and shorts. Read whale vs retail positioning over time.

NameTypeReqDescription
coinstringyesPerp market: BTC, xyz:TSLA
everystring–1h: every hourly funding; 1d: the first of each day (default 1h)
frominteger–Start (ms, inclusive). Without it: the `limit` points ending at `to`
limitinteger–Points (744: a month of hours) (default 48)
tointeger–End (ms, exclusive; default now)

No output schema declared.

No examples provided.

get_open_interest_opens ~193

Who opened positions on a HyperCore perp in a window of up to a day (since 2025-03-22 10:49 UTC): the orders that opened longs or shorts, largest value first, with the account and its named wallet, size and value opened, average price, taker or resting, position before and after; plus the window's longs / shorts opened in total and by aggressors. Use it to explain an open interest jump.

NameTypeReqDescription
coinstringyesPerp market: BTC, xyz:TSLA
fromintegeryesStart (ms, inclusive; aligned down to the second)
limitinteger–Orders (default 20)
sidestring–Only the orders that opened longs, or shorts
tointegeryesEnd (ms, exclusive; aligned up to the second; at most a day after `from`)

No output schema declared.

No examples provided.

get_payment_options ~77

How to pay your account now: your USDC deposit address on each chain with exact instructions, x402 credit packs, a card checkout URL when cards are offered (give usd), and the credits an amount buys. Free.

NameTypeReqDescription
usdnumber–Amount to add (USD): a card session for it, the credits it buys

No output schema declared.

No examples provided.

get_plans ~54

The price list: credits per call class (and which calls are medium / heavy), pay-as-you-go bands, plans with their monthly and annual price and included credits, payment methods. Use it before subscribe_plan. Free.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_pool ~211

One DEX pool of HyperEVM or Elysium: dex, factory, fee tier, hooks, tokens with USD prices, creation block / tx, price, liquidity with its USD value and how it is measured (pool balances for V2 / V3; virtual reserves of the in-range liquidity for V4 / Infinity pools: not TVL), depth to ±2 %, trades / buys / sells / USD volume / price change over 5m, 1h, 6h, 24h, for V2-style pools the largest LP holders, and how much of its liquidity is burned, locked (until when), free or in contracts.

NameTypeReqDescription
addressstringyesPool address, or <PoolManager>:<PoolId>
layerstringyesEVM layer
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)

No output schema declared.

No examples provided.

get_position_changes ~209

Past HyperCore perp position changes of one coin over a notional (at least 10000), one row per account and block (opens, closes, increases, reductions, flips, with size, average price and whether a liquidation moved it): the history of the WS hc.positions channel, the rows behind get_position_flow's bars. Window: the last 24 h by default, at most 30 days, anywhere since 2025-05-25. sort=notional for the largest of the window. Named wallets carry `entity`.

NameTypeReqDescription
coinstringyesPerp coin (BTC, xyz:TSLA)
frominteger–Window start (ms)
limitinteger–Rows (default 50)
minNotionalnumber–Smallest notional, USD (default 100000)
sortstring–Newest first, or largest first (default time)
tointeger–Window end (ms, exclusive)

No output schema declared.

No examples provided.

get_position_flow ~264

Large HyperCore perp position moves and liquidations of one coin summed per bar of a unit (1m to 1d, 1w, 1M): buys, sells, longs liquidated, shorts liquidated, each with notional, count, volume-weighted price and the largest move (named wallet when known). The figures add up across units. Floors: minNotional for buys and sells, liqMinNotional for liquidations (at least 10000). History from 2025-05-25.

NameTypeReqDescription
coinstringyesPerp coin
frominteger–Start (ms, inclusive; aligned down to the unit). Without it: the `limit` bars ending at `to`
limitinteger–Bars at most from `from` (a window of at most 20,000 bars) (default 100)
liqMinNotionalnumber–Smallest notional of a liquidation, USD (default: minNotional)
minNotionalnumber–Smallest notional of a buy or sell, USD (default 100000)
tfstringyesBar unit
tointeger–End (ms, exclusive; default now)

No output schema declared.

No examples provided.

get_positions ~164

Open positions of one HyperCore perp, current to a few seconds (the node state rolled forward with every fill, funding payment, ledger update and accepted account action): 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`.

NameTypeReqDescription
coinstringyesPerp coin (BTC, xyz:TSLA)
limitinteger–Rows (default 50)
orderstring–Order (default: desc, liqDistance asc)
sidestring–One side
sortstring–Sort (default notional)

No output schema declared.

No examples provided.

get_price_history ~289

USD prices in the past. With at (Unix ms): the price of up to 100 tokens at that time (last observation at or before it). With from / to / interval: USD closes per unit (1m 5m 15m 1h 4h 1d) of up to 25 tokens, gap-filled. Same sources as get_prices. Windows over 30 days are billed as heavy calls.

NameTypeReqDescription
atinteger–Time (Unix ms): price at or before it
frominteger–Series start (Unix ms, inclusive, aligned down to the unit)
intervalstring–Series unit
layerstring–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
limitinteger–Units per token at most (default 200)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
tointeger–Series end (Unix ms, exclusive; default now)
tokensarrayyes0x addresses or HyperCore names

No output schema declared.

No examples provided.

get_price_level ~201

The wallets behind one price band of a HyperCore market (a bucket of get_forced_flow / get_stop_map / get_liquidation_map: px_lo = its pxLo, px_hi = its pxHi): the open stop-loss / take-profit orders triggering in it, each with what it would execute (a reduce-only order at most what is left of its wallet's position; the rest as unbackedSz) and the wallet's position, and the open positions liquidated in it (size, entry, leverage, liquidation price). Largest first. Named wallets carry `entity`.

NameTypeReqDescription
coinstringyesHyperCore perp coin: BTC, xyz:TSLA
limitinteger–Orders, and positions, listed (largest first) (default 50)
px_histringyesBand high edge (exclusive), price, over px_lo
px_lostringyesBand low edge (inclusive), price

No output schema declared.

No examples provided.

get_prices ~260

Current USD price of up to 100 tokens in one call, each with its source and provenance: hl_mid (HYPE / WHYPE: HyperCore spot mid; hl_oracle when no mid is recorded), hl_spot (HyperCore tokens and HyperEVM tokens linked to one: last trade of its USDC market), hl_perp, unit (USDC), pool (HyperEVM / Elysium: last swap of the token's reference pool, the most liquid one, with block / tx / logIndex). hypercore: tokens = names (HYPE, PURR) or perp coins (BTC).

NameTypeReqDescription
layerstring–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
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
tokensarrayyes0x addresses (hyperevm, elysium) or HyperCore names / perp coins

No output schema declared.

No examples provided.

get_recovery_challenge ~64

No key needed. Lost the key of an account created by an x402 payment? Get the message its paying wallet must sign (personal_sign), then call recover_account. EOA wallets only.

NameTypeReqDescription
walletstringyesThe wallet that paid with x402

No output schema declared.

No examples provided.

Install

How do I install the Femtos MCP server?

Femtos is a hosted endpoint at https://api.femtos.xyz/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · api.femtos.xyz

# add to Claude Code
claude mcp add --transport http xyz-femtos-mcp 'https://api.femtos.xyz/mcp'
Common questions

What is the Femtos MCP server?

Femtos is an MCP server listed in the public MCP registry as xyz.femtos/mcp. Hyperliquid data on HyperCore, HyperEVM, Elysium: balances, prices, trades, token security, bridges. This page covers its hosted endpoint (https://api.femtos.xyz/mcp).

Is the Femtos MCP server safe to use?

Femtos scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Femtos MCP server expose?

Femtos exposes 94 tools: get_status, list_markets, list_top_tokens, get_candles, get_trades, and 89 more. Their descriptions and schemas cost roughly 18,304 tokens of context every time the server is loaded.

Does the Femtos MCP server require authentication?

No. We connected to Femtos without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Femtos MCP server still maintained?

Femtos is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.