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 (23 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
get_signup_challenge ~85

No key needed. Step 1 of a free API key for an agent: a proof-of-work challenge. Find a nonce of 1-32 characters [0-9a-zA-Z] such that SHA-256 of "<salt>:<nonce>" starts with `difficulty` zero bits (run code: about 0.5 M hashes), then call signup.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_status ~108

State of each layer (HyperCore, HyperEVM, Elysium): indexed head block and time, lag behind the chain, live or syncing, Elysium network (mainnet), HyperCore <> HyperEVM bridge matching coverage. Check it when an answer looks stale. Free.

NameTypeReqDescription
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_stop_map ~305

Open trigger orders (stop-loss and take-profit) of one HyperCore market bucketed by trigger price around the mark (default ±10 %, 20 round-width buckets): per bucket the count, size and notional (size × trigger price) of stops and take-profits, sell (closes longs) and buy (closes shorts), market and limit. Each order counts at what it would execute: a reduce-only order closes at most what is left of its wallet's position when it fires (positions a few seconds old); the size past it (wallets with no position, oversized or duplicate stops) is apart under `unbacked`. Position TP/SL that close the whole position (size 0) are counted apart under `whole`, sized the same way. `totals` cover every open trigger order of the coin, `below` / `above` those outside the grid. Cut at `height` (block) / `asOf`.

NameTypeReqDescription
bucketsinteger–Most buckets (default 20; the width is rounded up to 1, 2, 2.5 or 5 × 10^k)
coinstringyesHyperCore 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_token_balance ~239

The balance of one token for one address: HyperCore coin name (USDC, HYPE…), or a HyperEVM / Elysium token address (`native` = HYPE; layer hyperevm unless elysium is given). 0 when not held. block / at for a past balance, verify to compare with the node.

NameTypeReqDescription
addressstringyes0x address, or a named wallet's handle `<entityId>.<hex>`
atinteger–Past balance at this time (Unix ms)
blockinteger–Past balance at this block
layerstring–Default: hypercore for a coin name, hyperevm for an address
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
tokenstringyesEVM token address, `native` (HYPE), or a HyperCore coin name
verifyboolean–EVM layers: read it again on the node at the same block

No output schema declared.

No examples provided.

get_token_lifecycle ~259

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. address: an Elysium / HyperEVM address, core:<index>, a HyperCore token id or name, or a perp coin (dex:COIN).

NameTypeReqDescription
addressstringyesElysium / HyperEVM address, core:<index>, HyperCore token id, name or perp coin
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)

No output schema declared.

No examples provided.

get_token_overview ~168

One token across all its pools on HyperEVM or Elysium (DexScreener style): USD price and source, FDV, market cap, liquidity, volume / trades / buys / sells / unique buyers, sellers and traders / price change over 5m, 1h, 6h, 24h, holders and top-10 share, pool count, the 5 best pools and the reference one, creator and creation time.

NameTypeReqDescription
addressstringyesToken address
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)

No output schema declared.

No examples provided.

get_token_security ~279

Is this HyperEVM or Elysium ERC-20 safe to trade: a buy, a transfer and a sell simulated on our node through its most liquid pool (state overrides, nothing sent): canBuy, canSell, buy / sell / transfer tax, gas, revert reason; static checks of its code (owner and renounced, mintable, pausable, blacklist, max tx / wallet, cooldown, tax setters, upgradeable proxy, selfdestruct, ownership reclaim, verified source on Sourcify or the Blockscout bytecode database, of the implementation behind a proxy); holders (top 10 share and its part in EOAs, creator / owner share), liquidity and who holds it (LP burned / locked with the unlock time / free / in contracts, V2 LP tokens and V3 / V4 positions). Verdict ok / caution / danger / honeypot with reasons; each check has a severity (info, warn, danger). Cached 60 s per token. Medium call.

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)
tokenstringyesToken address

No output schema declared.

No examples provided.

get_token_traders ~307

Who traded a HyperEVM or Elysium token over 1h, 6h or 24h and how they did: per wallet buys / sells, amounts and USD bought / sold, average buy and sell price, current balance, realized, unrealized and total PnL (average cost over the window: realized = min(bought, sold) × (avg sell − avg buy); unrealized = what it still holds of its net buy × (current price − avg buy)), first / last swap, named wallets with entity. sort = pnl, realized or volume; totals of the window (traders, buyers, sellers, swaps, volume). Priced swaps only, the token on either side of any pool; trader = tx.from. Medium call.

NameTypeReqDescription
layerstring–EVM layer (default hyperevm)
limitinteger–Traders (default 20)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
sortstring–pnl (total, highest first), realized (realized PnL) or volume (USD bought + sold) (default pnl)
tokenstringyesToken address
windowstring–Window ending at the indexed head: 1h, 6h or 24h (default 24h)

No output schema declared.

No examples provided.

get_token_volume ~113

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

NameTypeReqDescription
daysinteger–Days (default 30)
layerstringyesEVM layer
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_tokens ~177

Metadata of up to 100 tokens: symbol, name, decimals, total supply, creator and creation time, logo / description / socials when indexed (launchpad metadata), token family, cross-layer links, spam flag. Unknown addresses come back in `missing`.

NameTypeReqDescription
addressesarrayyes0x addresses (hypercore: names / token ids)
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)

No output schema declared.

No examples provided.

get_trades ~400

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). History (hyperevm / elysium): pass trader (a wallet: every swap it sent), pool or token (more than 20 pools: its priced swaps only, `coverage: priced`), optionally side, minUsd (USD at the swap), from / to (Unix ms): newest first, each row with its pool and symbols; filtered pages may hold fewer rows than limit, keep paging with `next_cursor` (null = no more).

NameTypeReqDescription
cursorstring–Next page: `next_cursor` of the previous answer
from––Window start, Unix ms (inclusive)
includeSpamboolean–Swaps of spam tokens too (flagged)
layerstring–Layer (default hypercore)
limitinteger–Rows (default 50)
marketstring–Pair address (pool key) or coin; required without trader / pool / token
minUsd––Smallest USD value (the indexer's, at the swap)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
poolstring–History of a pool (alias: market)
sidestring–Buys or sells of the base
to––Window end, Unix ms (exclusive)
tokenstring–Swaps where this token is base or quote
traderstring–History of a wallet (tx.from of the swaps); a named wallet's handle works too

No output schema declared.

No examples provided.

get_transaction ~189

One transaction by hash, HyperEVM then Elysium (or layer): status, block, from / to, value, gas and fee (HYPE and USD), decoded ERC-20 transfers, swaps, liquidity events, pools created and NFT transfers, the raw logs we do not decode (from our node), and when it is a bridge leg its legs, matched bridge rows and the cross-layer journey it belongs to. A transaction not indexed yet comes from the node (source: rpc, nothing decoded).

NameTypeReqDescription
hashstringyesTransaction hash (0x + 64 hex)
layerstring–Only this layer (default: HyperEVM, then Elysium)
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_triggered_stops ~196

Stop-loss and take-profit orders of one HyperCore market that fired, newest first: wallet, side, trigger and limit price, size (0 = whole position), the order the trigger placed (its status in the trigger block) and its fills there (size, average price, notional). Window: since / until, default the last hour, at most 24 h per call and 7 days back. Named wallets carry `entity`. Next page: pass `next_cursor` as cursor.

NameTypeReqDescription
coinstringyesHyperCore coin: BTC, ETH, xyz:TSLA
cursorstring–Next page: `next_cursor` of the previous answer
limitinteger–Rows (default 50)
sinceinteger–Window start (Unix ms, default until − 1 h)
untilinteger–Window end (Unix ms, exclusive, default now)

No output schema declared.

No examples provided.

get_usage ~54

Your usage per UTC day and call class (rest, medium, heavy, hl, ws_bytes, webhook): calls or bytes, credits, USD charged. Free.

NameTypeReqDescription
daysinteger–Days back (default 30)

No output schema declared.

No examples provided.

get_wall_events ~341

One HyperCore market's large resting orders that the price came to, one by one, newest first: held (filled) or pulled (cancelled as the price came), with time, price, size, value, life and owner. A wall: a resting limit order (Gtc or Alo, not a trigger) worth at least $25k, placed on its passive side at least 20 bps from the last trade (a bid below, an ask above), resting 24 h at most. Tested: the price came to it before it ended. It held when it traded (a fill of the order), wholly or in part, however it ended; it was pulled when its owner cancelled it unfilled (a cancel or a scheduled cancel) with a trade within 10 bps of it, or through it, in the 60 s from its cancel on: as the price came, or just ahead of it (ladders that requote large orders a few seconds ahead of the price are pulled walls, the commonest kind). Up to 24 h per call.

NameTypeReqDescription
coinstringyesMarket (perp name, spot @index, HIP-3 dex:COIN)
frominteger–From (Unix ms); default `to` − 24 h
limitinteger–Events (default 100)
tierinteger–Smallest wall: 1 = $25k and more, 2 = $100k and more, 3 = $1M and more (default 2)
tointeger–To (Unix ms); default now

No output schema declared.

No examples provided.

get_wallet ~202

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. Medium call; balances alone: get_balances (a REST call).

NameTypeReqDescription
addressstringyes0x address, or a named wallet's handle <entityId>.<hex>
includeSpamboolean–Show spam tokens (tokens.spam: homoglyph, impostor, fake transfers…), flagged spam / spamReason; hidden from lists and USD totals by default
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_wallet_stops ~259

A wallet's open HyperCore trigger orders (stop-loss / take-profit): coin, side, trigger and limit price, size (0 = whole position), reduce-only, placed at. history: true lists instead every status event of its trigger orders over the last 3 days at most (placed, triggered, canceled, rejected, and the fill or cancel of the order a trigger placed, `triggered: true`), newest first (a heavy call; next page: pass `next_cursor` as cursor).

NameTypeReqDescription
addressstringyes0x address, or a named wallet's handle <entityId>.<hex>
cursorstring–Next page: `next_cursor` of the previous answer
historyboolean–Past status events instead of the open orders (heavy call)
limitinteger–history: events (default 100, max 1000)
sinceinteger–history: window start (Unix ms, default until − 24 h, 3 days back at most)
statusstring–history: one status (open, triggered, canceled, filled…)
untilinteger–history: window end (Unix ms, exclusive, default now)

No output schema declared.

No examples provided.

get_walls ~342

Which HyperCore accounts' order book walls hold: per account, its large resting orders placed away from the price (≥ $25k, ≥ 20 bps away), how many the price came to, how many held (filled) and how many were pulled as the price came, with the hold rate. A low hold rate over many tested walls is liquidity that leaves as the price comes: requoting ladders, or spoofing (a record, not a verdict). Filter by market, account, side, wall size tier; window 24h, 7d or all (since 2026-10-13 15:50 UTC).

NameTypeReqDescription
coinstring–Market (perp name, spot @index, HIP-3 dex:COIN); every market when absent
limitinteger–Accounts (default 25)
minTestedinteger–Accounts with at least this many tested walls (default 5)
sidestring–B bids only, A asks only; both when absent
sortstring–Order, largest first (holdRate: lowest first) (default pulled)
tierinteger–Smallest wall counted: 1 = $25k and more, 2 = $100k and more, 3 = $1M and more (default 1)
userstring–Only this account
windowstring–Window, whole hours ending with the current one: 24h, 7d, or all (since 2026-10-13 15:50 UTC) (default 7d)

No output schema declared.

No examples provided.

get_webhook ~64

One of your webhooks: state (pending_verification, active, or disabled with the reason and how to turn it on), failures in a row, subscriptions with their seq, today's deliveries against your tier's daily limit.

NameTypeReqDescription
idstringyesWebhook id

No output schema declared.

No examples provided.

get_webhook_deliveries ~127

Deliveries of one webhook, newest first (kept 7 days): msgId (the webhook-id header), type, status pending / delivered / dead, and each attempt with its HTTP status, latency, error and the first 4 KiB of your answer. Next page: pass `next_cursor` as cursor.

NameTypeReqDescription
cursorstring–Next page: `next_cursor` of the previous answer
idstringyesWebhook id
limitinteger–Deliveries (default 20)
statusstring–Only these

No output schema declared.

No examples provided.

kol_activity ~188

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.

NameTypeReqDescription
cursorstring–Next page: `next_cursor` of the previous answer
entitystring–One entity only
layerstring–Layer (default hypercore)
limitinteger–Rows (default 50)
minNotionalstring–Smallest USD value (hypercore: px × sz, default 1000; EVM: none by default)
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.

kol_leaderboard ~240

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

NameTypeReqDescription
kindstring–Entities: named (people, funds, pseudonyms from public sources), cluster (anonymous smart-money clusters: HyperCore traders selected on their results), all, or a kind it contains (whale, market maker…
layerstring–Layer (default hypercore)
limitinteger–Rows (default 25)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
sortstring–Sort (per layer, see above; default netPnl / volume)
windowstring–Window (hypercore: 7d by default, EVM layers: 24h)

No output schema declared.

No examples provided.

kol_positioning ~173

How named wallets (KOLs, funds, market makers; or smart-money clusters with kind=cluster) are positioned on each HyperCore perp: long vs short notional and entity counts, net, average entry and unrealized PnL per side, the named position closest to liquidation, the largest entities per side, and the net change over 1 h and 24 h. One market with coin.

NameTypeReqDescription
coinstring–One perp market only
kindstring–Entities: named (people, funds, pseudonyms from public sources), cluster (anonymous smart-money clusters), all. Default: named (default named)
limitinteger–Markets, largest gross notional first (default 20)
topinteger–Largest entities listed per side (default 3)

No output schema declared.

No examples provided.

list_launches ~424

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.

NameTypeReqDescription
creatorstring–Elysium: launched by this wallet (creator at launch or current creator)
cursorstring–Next page: `next_cursor` of the previous answer
includeSpamboolean–Show spam tokens (tokens.spam: homoglyph, impostor, phishing name, fake transfers…) flagged spam / spamReason; left out of the list by default
launchpadstring–Launchpad name: ascend (Elysium), liquidlaunch (HyperEVM)
layerstring–hyperevm = LiquidLaunch
limitinteger–Rows (default 20)
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)
qstring–Elysium: symbol or name contains (case ignored)
quotestring–Elysium: quote token of the pool (USDC, an RWA token…)
sinceinteger–Elysium: launched at or after (ms)
untilinteger–Elysium: launched before (ms)

No output schema declared.

No examples provided.

list_markets ~264

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 / get_pool. `total` = markets matching. Next page: pass `next_cursor` as cursor.

NameTypeReqDescription
cursorstring–Next page: `next_cursor` of the previous answer
kindstring–hypercore only: one kind of market
layerstringyesLayer
limitinteger–Rows (default 50, max 200)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
qstring–Substring of the symbol, base, quote, addresses or protocol

No output schema declared.

No examples provided.

list_new_pools ~462

Every new pair / pool of every DEX on HyperEVM or Elysium (V2, V3, V4, PancakeSwap Infinity, LiquidLaunch curves…), newest first: dex, factory, fee tier, hooks, both tokens with symbols and whether each was just created (newToken), creation block / tx / time, initial liquidity, current liquidity (V2 / V3 pools: token balances; V4 / Infinity: virtual reserves; USD = twice the smaller side), price, 24 h volume. Pools of a spam token left out. Filters: dex, token (either side), quote, minLiquidityUsd, newTokenOnly, since (ms). Filtered pages may hold fewer rows than limit: keep paging with `next_cursor` (null = no more). Live: WS <layer>.pools.new.

NameTypeReqDescription
cursorstring–Next page: `next_cursor` of the previous answer
dexstring–Protocol (hyperswap_v3, projectx_v3, uniswap_v4, pancake_infinity_cl, liquidlaunch…)
includeSpamboolean–Show spam tokens (tokens.spam: homoglyph, impostor, phishing name, fake transfers…) flagged spam / spamReason; left out of the list by default
layerstringyesEVM layer
limitinteger–Rows (default 20)
minLiquidityUsdnumber–Minimum current USD liquidity
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
newTokenOnlyboolean–Only pools with a new token (newToken not null)
newWithinMininteger–A side is new when created at most this many minutes before the pool (default 60)
quotestring–Pools quoted in this token (0x), e.g. WHYPE
sinceinteger–Created at or after (Unix ms)
sinceBlockinteger–Created at or after this block
tokenstring–Pools of this token, either side (0x)

No output schema declared.

No examples provided.

list_new_tokens ~491

Every ERC-20 created on HyperEVM or Elysium, newest first (not only launchpad launches): creation block / tx / time, creator, the contract it was deployed through, launchpad (ascend, liquidlaunch… or null = direct), first pool (dex, quote, initial liquidity) and, once a pool exists, priceUsd, mcapUsd, liquidityUsd, 24 h volume, holders. Spam tokens left out. Filters: launchpad (name, none, any, 0x), hasPool, minLiquidityUsd, minHolders, creator, since (ms); security=summary adds the cached get_token_security verdict to each row. Filtered pages may hold fewer rows than limit: keep paging with `next_cursor` (null = no more). Live: WS <layer>.tokens.new.

NameTypeReqDescription
creatorstring–Created by this wallet (0x)
cursorstring–Next page: `next_cursor` of the previous answer
hasPoolboolean–true: tokens with a pool; false: without
includeSpamboolean–Show spam tokens (tokens.spam: homoglyph, impostor, phishing name, fake transfers…) flagged spam / spamReason; left out of the list by default
launchpadstring–ascend, liquidlaunch (a launchpad name), none (no launchpad), any (a launchpad), or a launchpad 0x address
layerstringyesEVM layer
limitinteger–Rows (default 20)
minHoldersinteger–Minimum holders
minLiquidityUsdnumber–Minimum USD liquidity of its pools (twice the smaller side)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
securitystring–summary: each row gets `security` = {verdict, reasons (3), asOf, height} of GET /api/tokens/{address}/security when a report is cached (< 10 min), else null (then computed in the background: ask agai…
sinceinteger–Created at or after (Unix ms)
sinceBlockinteger–Created at or after this block

No output schema declared.

No examples provided.

list_nft_collections ~130

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, standard and logo.

NameTypeReqDescription
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)
windowstring–Window (default 24h)

No output schema declared.

No examples provided.

list_open_interest ~133

Open interest of every HyperCore perp now (main dex and HIP-3): size and USD value, accounts long and short, change over 1 h, 24 h and 7 d, totals per perp dex. Sort by value, size, 24 h change or accounts. Exact, from every fill and hourly funding.

NameTypeReqDescription
dexstring–Only this perp dex ("" = the main one); every dex when absent
limitinteger–Markets (default 25)
sortstring–Order, largest first (pct24h: largest increase first) (default usd)

No output schema declared.

No examples provided.

list_top_tokens ~503

The tokens of HyperEVM or Elysium, one row per token over all its pools (not one per pool like list_markets): price, 1 h / 24 h change, 1 h / 24 h volume, trades, buys / sells, distinct wallets of the hour, liquidity, market cap, FDV, holders, first pool time, pool count, the most traded pool (topPool: the market for get_candles / get_trades), launchpad, a 24 h hourly spark. sort: trending (default), volume, gainers, losers, new, mcap, liquidity. Stablecoins and WHYPE left out unless includeStables, spam unless includeSpam, liquidity under minLiquidityUsd (default 1000) always. Trending = last-hour volume (capped at 10 × liquidity) × its acceleration over the 24 h hourly average × √distinct wallets. Next page: pass next_cursor as cursor.

NameTypeReqDescription
cursorstring–Next page: `next_cursor` of the previous answer
includeSpamboolean–Show spam tokens (tokens.spam: homoglyph, impostor, phishing name, fake transfers…) flagged spam / spamReason; left out of the list by default
includeStablesboolean–USD stablecoins and the native / wrapped native quote assets (HYPE, WHYPE, backed wrappers), flagged `stable`; left out by default
layerstringyesEVM layer
limitinteger–Rows (default 20)
minLiquidityUsdnumber–Minimum USD liquidity over its pools (default 1000)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
qstring–Substring of the symbol, name or address
sortstring–trending: trendScore; volume: volume24hUsd; gainers / losers: change24h (rows without one left out); new: createdAt, newest first; mcap: mcapUsd; liquidity: liquidityUsd. Ties: volume24hUsd, then add…

No output schema declared.

No examples provided.

list_webhooks ~92

Your account's webhooks: URL, state (pending_verification, active, disabled with the reason and how to enable), failures in a row, subscriptions. A rotated key sees the same webhooks. Next page: pass `next_cursor` as cursor.

NameTypeReqDescription
cursorstring–Next page: `next_cursor` of the previous answer
limitinteger–Webhooks (default 50)

No output schema declared.

No examples provided.

pay_with_wallet ~230

Step 2: send chain, authorization (the quote typedData.message), signature, and the planId / interval or usd of the quote. Femtos settles it on chain (no gas for you) and credits the account or buys the plan. state pending: call again with the same body after retryAfter (never charged twice). Spends money. Free.

NameTypeReqDescription
authorizationobjectyes`typedData.message` of the quote: {from, to, value, validAfter, validBefore, nonce}
chainstringyesNetwork the USDC is paid on: base, arbitrum (Arbitrum One) or hyperevm
intervalstring–With planId: month (default) or year
planIdstring–A plan to buy (GET /v1/account/plans `plans.list[].id`): the quote is what the balance lacks for it
signaturestringyesThe wallet signature of `typedData` (65 bytes, EOA)
usdnumber–A top-up: the amount quoted

No output schema declared.

No examples provided.

quote_wallet_payment ~202

Step 1 of paying from an EVM wallet with USDC (Base, Arbitrum One or HyperEVM), no gas: the EIP-712 typed data of a USDC TransferWithAuthorization to sign with eth_signTypedData_v4, for a plan (planId, interval: what the balance lacks) or a top-up (usd). Then pay_with_wallet with the signature. Free.

NameTypeReqDescription
chainstringyesNetwork the USDC is paid on: base, arbitrum (Arbitrum One) or hyperevm
intervalstring–With planId: month (default) or year
payerstringyesThe wallet that signs and pays
planIdstring–A plan to buy (GET /v1/account/plans `plans.list[].id`): the quote is what the balance lacks for it
usdnumber–A top-up: the amount (USD)

No output schema declared.

No examples provided.

recover_account ~85

No key needed. Send wallet, nonce and the signature of the recovery message: answers a new key and management secret (save both), the old ones stop working.

NameTypeReqDescription
noncestringyes`nonce` of step 1
signaturestringyespersonal_sign of `message` (65 bytes)
walletstringyesThe wallet that paid with x402

No output schema declared.

No examples provided.

replay_webhook ~117

Send deliveries again, same webhook-id (dedupe on it): one (msgId, delivered or dead), or every dead one since a time (since, Unix ms within 7 days; status all: delivered ones too).

NameTypeReqDescription
idstringyesWebhook id
msgIdstring–One delivery (its msgId)
sinceinteger–Unix ms, within the last 7 days
statusstring–dead: the dead deliveries; all: the delivered ones too (default dead)

No output schema declared.

No examples provided.

rotate_key ~113

Replace your API key: the new one is answered once, the current one (the one this MCP connection uses) stops working at once: reconnect with the new key. Needs management_secret (agents); an account with an email gets a confirmation link instead. Free.

NameTypeReqDescription
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.

rotate_webhook_secret ~54

A new whsec_ signing secret, answered once; for 24 h every delivery carries two signatures (the new and the previous secret): accept either while you switch.

NameTypeReqDescription
idstringyesWebhook id

No output schema declared.

No examples provided.

search_coins ~141

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

NameTypeReqDescription
layerstring–One layer (default all)
limitinteger–Rows (default 20, max 200)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
qstringyesSymbol, name or address

No output schema declared.

No examples provided.

search_entities ~296

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.

NameTypeReqDescription
confidencestring–Entities with at least one wallet of this confidence
cursorstring–Next page: `next_cursor` of the previous answer
kindstring–Entities: named (people, funds, pseudonyms from public sources), cluster (anonymous smart-money clusters: HyperCore traders selected on their results), all, or a kind it contains (whale, market maker…
limitinteger–Entities (default 20)
networkstring–Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)
qstring–Name, X handle, alias, wallet address or handle
sortstring–default: the registry order (our research first); wallets: most wallets first; name; pnl: smart-money net PnL first (default default)
viastring–Entities with at least one wallet found this way (`via` of the wallets)

No output schema declared.

No examples provided.

set_spending_cap ~64

Set your monthly spending cap in USD (null lifts it). Past it, heavy and medium calls answer 402 until next month. Answers the billing view. Free.

NameTypeReqDescription
capUsd–yesMonthly cap in USD (at most 6 decimals); null: no cap

No output schema declared.

No examples provided.

signup ~163

No key needed. Step 2: send agent_name with the solved salt and nonce; answers a free API key and a management secret, each once: save both (the secret rotates, unfreezes and deletes the account). Then connect with Authorization: Bearer <key>.

NameTypeReqDescription
agent_namestringyesYour agent name (1-64 printable characters, not unique)
noncestringyes1-32 characters [0-9a-zA-Z] such that SHA-256("<salt>:<nonce>") starts with `difficulty` zero bits
owner_emailstring–Its operator, for our records (never an account address, never written to)
saltstringyes`salt` of GET /v1/account/signup

No output schema declared.

No examples provided.

subscribe_plan ~132

Subscribe to a plan (get_plans lists them): paid from your USDC balance now (interval month, or year = 12 months prepaid at a discount) and renewed from it, or by card (checkout URL). Spends money. 402 insufficient_balance says how much to deposit. Free.

NameTypeReqDescription
intervalstring–month (default) or year (12 months prepaid from the balance)
payWithstring–Default: card when cards are offered and monthly, else balance
planIdstringyesPlan id (GET /v1/account/plans `plans.list[].id`)

No output schema declared.

No examples provided.

test_webhook ~45

Queue a webhook.test delivery to a verified webhook (not billed); its result shows in get_webhook_deliveries within seconds.

NameTypeReqDescription
idstringyesWebhook id

No output schema declared.

No examples provided.

update_webhook ~96

Change a webhook: url (verified again by a webhook.verification challenge before anything else is sent), description, or subscriptions (the whole list: unchanged ones keep their seq).

NameTypeReqDescription
description––Your label (<= 200 characters)
idstringyesWebhook id
subscriptionsarray–What to deliver
urlstring–https, port 443 or 8443, a public address

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.