Femtos MCP
A hosted MCP server providing access to Hyperliquid data across HyperCore, HyperEVM, and Elysium layers. It exposes tools for retrieving balances, prices, trades, token security information, and bridge data, enabling AI agents to interact with decentralized exchange and blockchain data.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://api.femtos.xyz/mcpWhat you can do with it
- Retrieve market prices and balances
- Access trade history and order book data
- Check token security and holder information
- Monitor bridge transactions and launches
Source and maintenance
Protocol and capabilities
- Server
- femtos 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 93 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
93 advertised
get_status — Layer status
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "Layer status",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}list_markets — Markets and pools
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"layer"
],
"properties": {
"q": {
"type": "string",
"maxLength": 64,
"description": "Substring of the symbol, base, quote, addresses or protocol"
},
"kind": {
"enum": [
"perp",
"spot",
"hip3",
"outcome"
],
"type": "string",
"description": "hypercore only: one kind of market"
},
"layer": {
"enum": [
"hypercore",
"hyperevm",
"elysium"
],
"type": "string",
"description": "Layer"
},
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Rows (default 50, max 200)"
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{2,160}$",
"description": "Next page: `next_cursor` of the previous answer"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "Markets and pools",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}list_top_tokens — Token screener (trending, gainers, new…)
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"layer"
],
"properties": {
"q": {
"type": "string",
"maxLength": 64,
"description": "Substring of the symbol, name or address"
},
"sort": {
"enum": [
"trending",
"volume",
"gainers",
"losers",
"new",
"mcap",
"liquidity"
],
"type": "string",
"description": "trending: trendScore; volume: volume24hUsd; gainers / losers: change24h (rows without one left out); new: createdAt, newest first; mcap: mcapUsd; liquidity: liquidityUsd. Ties: volume24hUsd, then address (default trending)"
},
"layer": {
"enum": [
"hyperevm",
"elysium"
],
"type": "string",
"description": "EVM layer"
},
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Rows (default 20)"
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{2,160}$",
"description": "Next page: `next_cursor` of the previous answer"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"includeSpam": {
"type": "boolean",
"description": "Show spam tokens (tokens.spam: homoglyph, impostor, phishing name, fake transfers…) flagged spam / spamReason; left out of the list by default"
},
"includeStables": {
"type": "boolean",
"description": "USD stablecoins and the native / wrapped native quote assets (HYPE, WHYPE, backed wrappers), flagged `stable`; left out by default"
},
"minLiquidityUsd": {
"type": "number",
"minimum": 0,
"description": "Minimum USD liquidity over its pools (default 1000)"
}
}
}{
"title": "Token screener (trending, gainers, new…)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_candles — OHLCV candles
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"layer",
"tf"
],
"properties": {
"tf": {
"enum": [
"1s",
"15s",
"1m",
"5m",
"15m",
"1h",
"4h",
"1d"
],
"type": "string",
"description": "Candle unit"
},
"to": {
"type": "integer",
"maximum": 1000000000000000,
"minimum": 0,
"description": "End, Unix ms (exclusive; default now)"
},
"from": {
"type": "integer",
"maximum": 1000000000000000,
"minimum": 0,
"description": "Start, Unix ms (inclusive)"
},
"layer": {
"enum": [
"hypercore",
"hyperevm",
"elysium"
],
"type": "string",
"description": "Layer"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Candles (default 50, 30 for 1d; max 1000)"
},
"token": {
"type": "string",
"maxLength": 66,
"minLength": 1,
"description": "Instead of market: a token (0x address; hypercore: name HYPE, PURR)"
},
"market": {
"type": "string",
"maxLength": 160,
"minLength": 1,
"description": "hypercore: coin; hyperevm / elysium: pool key (or give token)"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "OHLCV candles",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_trades — Trades / swaps, and swap history of a wallet, pool or token
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).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"to": {
"anyOf": [
{
"type": "integer",
"maximum": 999999999999999,
"minimum": 0
},
{
"type": "string",
"pattern": "^\\d{1,15}$"
}
],
"description": "Window end, Unix ms (exclusive)"
},
"from": {
"anyOf": [
{
"type": "integer",
"maximum": 999999999999999,
"minimum": 0
},
{
"type": "string",
"pattern": "^\\d{1,15}$"
}
],
"description": "Window start, Unix ms (inclusive)"
},
"pool": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}(:0x[0-9a-fA-F]{64})?$",
"description": "History of a pool (alias: market)"
},
"side": {
"enum": [
"buy",
"sell"
],
"type": "string",
"description": "Buys or sells of the base"
},
"layer": {
"enum": [
"elysium",
"hyperevm",
"hypercore"
],
"type": "string",
"description": "Layer (default hypercore)"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Rows (default 50)"
},
"token": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Swaps where this token is base or quote"
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{2,160}$",
"description": "Next page: `next_cursor` of the previous answer"
},
"market": {
"type": "string",
"description": "Pair address (pool key) or coin; required without trader / pool / token"
},
"minUsd": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "string",
"pattern": "^\\d{1,15}(\\.\\d{1,6})?$"
}
],
"description": "Smallest USD value (the indexer's, at the swap)"
},
"trader": {
"type": "string",
"pattern": "^(0x[0-9a-fA-F]{40}|[A-Za-z0-9][A-Za-z0-9_.-]{0,63}\\.[0-9a-fA-F]{8,64})$",
"description": "History of a wallet (tx.from of the swaps); a named wallet's handle works too"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"includeSpam": {
"type": "boolean",
"description": "Swaps of spam tokens too (flagged)"
}
}
}{
"title": "Trades / swaps, and swap history of a wallet, pool or token",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}search_coins — Find tokens
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).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Symbol, name or address"
},
"layer": {
"enum": [
"hypercore",
"hyperevm",
"elysium"
],
"type": "string",
"description": "One layer (default all)"
},
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Rows (default 20, max 200)"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "Find tokens",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_coin — One token
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"layer",
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "HyperCore name / index / token id, or 0x address"
},
"layer": {
"enum": [
"hypercore",
"hyperevm",
"elysium"
],
"type": "string",
"description": "Layer"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "One token",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_holders — Token holders
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).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token"
],
"properties": {
"kind": {
"enum": [
"balances",
"positions",
"spot",
"perp"
],
"type": "string",
"description": "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"
},
"layer": {
"enum": [
"hypercore",
"hyperevm",
"elysium"
],
"type": "string",
"description": "Layer (default hypercore)"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Rows (default 50)"
},
"token": {
"type": "string",
"pattern": "^([A-Za-z0-9@#:/._+-]{1,64}|0x[0-9a-fA-F]{40}(:0x[0-9a-fA-F]{64})?)$",
"description": "Token address (Elysium, HyperEVM), token name or perp coin (HyperCore)"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"excludeSystem": {
"type": "boolean",
"description": "1 / true: pools, PoolManager, hooks, gateways, bridge system addresses, LiquidLaunch curve, zero/dead counted apart; 0 / false: counted with the others (default true)"
}
}
}{
"title": "Token holders",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_holders_history — Holder count history
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token"
],
"properties": {
"days": {
"type": "integer",
"maximum": 365,
"minimum": 1,
"description": "UTC days, today included (default 90)"
},
"layer": {
"enum": [
"hyperevm",
"elysium"
],
"type": "string",
"description": "EVM layer (default hyperevm)"
},
"token": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Token address"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "Holder count history",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}list_launches — Token launches
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"type": "string",
"maxLength": 64,
"description": "Elysium: symbol or name contains (case ignored)"
},
"layer": {
"enum": [
"elysium",
"hyperevm"
],
"type": "string",
"description": "hyperevm = LiquidLaunch"
},
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Rows (default 20)"
},
"quote": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Elysium: quote token of the pool (USDC, an RWA token…)"
},
"since": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "Elysium: launched at or after (ms)"
},
"until": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "Elysium: launched before (ms)"
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{2,160}$",
"description": "Next page: `next_cursor` of the previous answer"
},
"creator": {
"type": "string",
"pattern": "^(0x[0-9a-fA-F]{40}|[A-Za-z0-9][A-Za-z0-9_.-]{0,63}\\.[0-9a-fA-F]{8,64})$",
"description": "Elysium: launched by this wallet (creator at launch or current creator)"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"launchpad": {
"type": "string",
"description": "Launchpad name: ascend (Elysium), liquidlaunch (HyperEVM)"
},
"minHolders": {
"type": "integer",
"maximum": 999999999,
"minimum": 1,
"description": "Ascended criterion: minimum unique holders (system excluded)"
},
"minMcapUsd": {
"type": "string",
"description": "Ascended criterion: minimum market cap, USD (decimal string)"
},
"includeSpam": {
"type": "boolean",
"description": "Show spam tokens (tokens.spam: homoglyph, impostor, phishing name, fake transfers…) flagged spam / spamReason; left out of the list by default"
},
"minVolumeUsd": {
"type": "string",
"description": "Ascended criterion: minimum volume since launch, USD"
},
"maxTop10Share": {
"type": "number",
"maximum": 1,
"description": "Ascended criterion: maximum top-10 share of the supply",
"exclusiveMinimum": 0
}
}
}{
"title": "Token launches",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}list_new_tokens — New tokens (chain-wide)
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"layer"
],
"properties": {
"layer": {
"enum": [
"hyperevm",
"elysium"
],
"type": "string",
"description": "EVM layer"
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows (default 20)"
},
"since": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "Created at or after (Unix ms)"
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{2,160}$",
"description": "Next page: `next_cursor` of the previous answer"
},
"creator": {
"type": "string",
"pattern": "^(0x[0-9a-fA-F]{40}|[A-Za-z0-9][A-Za-z0-9_.-]{0,63}\\.[0-9a-fA-F]{8,64})$",
"description": "Created by this wallet (0x)"
},
"hasPool": {
"type": "boolean",
"description": "true: tokens with a pool; false: without"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"security": {
"enum": [
"summary"
],
"type": "string",
"description": "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 again)"
},
"launchpad": {
"type": "string",
"pattern": "^([A-Za-z0-9_.-]{1,40}|0x[0-9a-fA-F]{40})$",
"description": "ascend, liquidlaunch (a launchpad name), none (no launchpad), any (a launchpad), or a launchpad 0x address"
},
"minHolders": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Minimum holders"
},
"sinceBlock": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0,
"description": "Created at or after this block"
},
"includeSpam": {
"type": "boolean",
"description": "Show spam tokens (tokens.spam: homoglyph, impostor, phishing name, fake transfers…) flagged spam / spamReason; left out of the list by default"
},
"minLiquidityUsd": {
"type": "number",
"minimum": 0,
"description": "Minimum USD liquidity of its pools (twice the smaller side)"
}
}
}{
"title": "New tokens (chain-wide)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}list_new_pools — New pools (chain-wide)
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"layer"
],
"properties": {
"dex": {
"type": "string",
"pattern": "^[a-z0-9_]{1,40}$",
"description": "Protocol (hyperswap_v3, projectx_v3, uniswap_v4, pancake_infinity_cl, liquidlaunch…)"
},
"layer": {
"enum": [
"hyperevm",
"elysium"
],
"type": "string",
"description": "EVM layer"
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows (default 20)"
},
"quote": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Pools quoted in this token (0x), e.g. WHYPE"
},
"since": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "Created at or after (Unix ms)"
},
"token": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Pools of this token, either side (0x)"
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{2,160}$",
"description": "Next page: `next_cursor` of the previous answer"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"sinceBlock": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0,
"description": "Created at or after this block"
},
"includeSpam": {
"type": "boolean",
"description": "Show spam tokens (tokens.spam: homoglyph, impostor, phishing name, fake transfers…) flagged spam / spamReason; left out of the list by default"
},
"newTokenOnly": {
"type": "boolean",
"description": "Only pools with a new token (newToken not null)"
},
"newWithinMin": {
"type": "integer",
"maximum": 10080,
"minimum": 1,
"description": "A side is new when created at most this many minutes before the pool (default 60)"
},
"minLiquidityUsd": {
"type": "number",
"minimum": 0,
"description": "Minimum current USD liquidity"
}
}
}{
"title": "New pools (chain-wide)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_launch — One launch
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token"
],
"properties": {
"layer": {
"enum": [
"elysium",
"hyperevm"
],
"type": "string",
"description": "Default: Elysium, then HyperEVM LiquidLaunch when Elysium has no launch for the token"
},
"token": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Launched token address"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"minHolders": {
"type": "integer",
"maximum": 999999999,
"minimum": 1,
"description": "Ascended criterion: minimum unique holders (system excluded)"
},
"minMcapUsd": {
"type": "string",
"description": "Ascended criterion: minimum market cap, USD (decimal string)"
},
"minVolumeUsd": {
"type": "string",
"description": "Ascended criterion: minimum volume since launch, USD"
},
"maxTop10Share": {
"type": "number",
"maximum": 1,
"description": "Ascended criterion: maximum top-10 share of the supply",
"exclusiveMinimum": 0
},
"earlyWindowSec": {
"type": "integer",
"maximum": 3600,
"minimum": 1,
"description": "Early-buyer window after the launch block (default 60)"
},
"fundingLookbackSec": {
"type": "integer",
"maximum": 604800,
"minimum": 1,
"description": "Funding lookback before the launch (default 86400)"
}
}
}{
"title": "One launch",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_launch_timeline — Launch timeline
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`).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token"
],
"properties": {
"layer": {
"enum": [
"elysium",
"hyperevm"
],
"type": "string",
"description": "Default: Elysium, then HyperEVM"
},
"token": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Launched token address"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "Launch timeline",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_token_lifecycle — Token across the 3 layers
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).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "Elysium / HyperEVM address, core:<index>, HyperCore token id, name or perp coin"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"minHolders": {
"type": "integer",
"maximum": 999999999,
"minimum": 1,
"description": "Ascended criterion: minimum unique holders (system excluded)"
},
"minMcapUsd": {
"type": "string",
"description": "Ascended criterion: minimum market cap, USD (decimal string)"
},
"minVolumeUsd": {
"type": "string",
"description": "Ascended criterion: minimum volume since launch, USD"
},
"maxTop10Share": {
"type": "number",
"maximum": 1,
"description": "Ascended criterion: maximum top-10 share of the supply",
"exclusiveMinimum": 0
}
}
}{
"title": "Token across the 3 layers",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_token_security — Token security / honeypot check
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token"
],
"properties": {
"layer": {
"enum": [
"hyperevm",
"elysium"
],
"type": "string",
"description": "EVM layer (default hyperevm)"
},
"token": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Token address"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "Token security / honeypot check",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_prices — Token prices (batch)
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).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"tokens"
],
"properties": {
"layer": {
"enum": [
"hyperevm",
"elysium",
"hypercore"
],
"type": "string",
"description": "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"
},
"tokens": {
"type": "array",
"items": {
"type": "string",
"maxLength": 66,
"minLength": 1
},
"maxItems": 100,
"minItems": 1,
"description": "0x addresses (hyperevm, elysium) or HyperCore names / perp coins"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "Token prices (batch)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_price_history — Token price history (batch)
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"tokens"
],
"properties": {
"at": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "Time (Unix ms): price at or before it"
},
"to": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "Series end (Unix ms, exclusive; default now)"
},
"from": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "Series start (Unix ms, inclusive, aligned down to the unit)"
},
"layer": {
"enum": [
"hyperevm",
"elysium",
"hypercore"
],
"type": "string",
"description": "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"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Units per token at most (default 200)"
},
"tokens": {
"type": "array",
"items": {
"type": "string",
"maxLength": 66,
"minLength": 1
},
"maxItems": 100,
"minItems": 1,
"description": "0x addresses or HyperCore names"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"interval": {
"enum": [
"1m",
"5m",
"15m",
"1h",
"4h",
"1d"
],
"type": "string",
"description": "Series unit"
}
}
}{
"title": "Token price history (batch)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_tokens — Token metadata (batch)
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`.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"addresses"
],
"properties": {
"layer": {
"enum": [
"hyperevm",
"elysium",
"hypercore"
],
"type": "string",
"description": "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"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"addresses": {
"type": "array",
"items": {
"type": "string",
"maxLength": 66,
"minLength": 1
},
"maxItems": 100,
"minItems": 1,
"description": "0x addresses (hypercore: names / token ids)"
}
}
}{
"title": "Token metadata (batch)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_token_overview — Token overview (all pools)
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"layer": {
"enum": [
"hyperevm",
"elysium"
],
"type": "string",
"description": "EVM layer (default hyperevm)"
},
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Token address"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "Token overview (all pools)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_token_traders — Top traders of a token (PnL)
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token"
],
"properties": {
"sort": {
"enum": [
"pnl",
"realized",
"volume"
],
"type": "string",
"description": "pnl (total, highest first), realized (realized PnL) or volume (USD bought + sold) (default pnl)"
},
"layer": {
"enum": [
"hyperevm",
"elysium"
],
"type": "string",
"description": "EVM layer (default hyperevm)"
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Traders (default 20)"
},
"token": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Token address"
},
"window": {
"enum": [
"1h",
"6h",
"24h"
],
"type": "string",
"description": "Window ending at the indexed head: 1h, 6h or 24h (default 24h)"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "Top traders of a token (PnL)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_bridges — Bridge movements
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Rows (default 50)"
},
"route": {
"enum": [
"evm_elysium",
"core_evm"
],
"type": "string",
"description": "Bridge (default core_evm)"
},
"token": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{1,64}$",
"description": "Token address (`hype` for native HYPE)"
},
"system": {
"enum": [
"exclude",
"include",
"only"
],
"type": "string",
"description": "Kinetiq system retryables (evm_elysium) (default exclude)"
},
"account": {
"type": "string",
"pattern": "^(0x[0-9a-fA-F]{40}|[A-Za-z0-9][A-Za-z0-9_.-]{0,63}\\.[0-9a-fA-F]{8,64})$",
"description": "Sender or recipient"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"direction": {
"enum": [
"to_child",
"to_parent",
"evm_to_core",
"core_to_evm"
],
"type": "string",
"description": "Direction"
},
"includeSpam": {
"type": "boolean",
"description": "evm_elysium: rows of spam parent tokens (HyperEVM tokens.spam), left out by default"
}
}
}{
"title": "Bridge movements",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_wallet — Cross-layer wallet
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).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"pattern": "^(0x[0-9a-fA-F]{40}|[A-Za-z0-9][A-Za-z0-9_.-]{0,63}\\.[0-9a-fA-F]{8,64})$",
"description": "0x address, or a named wallet's handle <entityId>.<hex>"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"includeSpam": {
"type": "boolean",
"description": "Show spam tokens (tokens.spam: homoglyph, impostor, fake transfers…), flagged spam / spamReason; hidden from lists and USD totals by default"
}
}
}{
"title": "Cross-layer wallet",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_balances — Token balances
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).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"at": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Past balances at this time (Unix ms): the last block at or before it"
},
"sort": {
"enum": [
"usd",
"amount"
],
"type": "string",
"description": "Order (default usd)"
},
"block": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Past balances at this block (one layer; EVM: tokens= required; HyperCore: the snapshot at or before this height)"
},
"layer": {
"enum": [
"hypercore",
"hyperevm",
"elysium",
"all"
],
"type": "string",
"description": "Layer(s) read (default all)"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Rows (default 50)"
},
"minUsd": {
"type": "number",
"minimum": 0,
"description": "Leave out holdings worth less (and unpriced ones)"
},
"tokens": {
"type": "string",
"description": "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)"
},
"verify": {
"type": "boolean",
"description": "EVM layers: read the rows answered (at most 50 per layer) again on the node at the same block"
},
"address": {
"type": "string",
"pattern": "^(0x[0-9a-fA-F]{40}|[A-Za-z0-9][A-Za-z0-9_.-]{0,63}\\.[0-9a-fA-F]{8,64})$",
"description": "0x address, or a named wallet's handle `<entityId>.<hex>`"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"includeSpam": {
"type": "boolean",
"description": "List spam tokens (flagged spam / spamReason); never in the totals"
}
}
}{
"title": "Token balances",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_token_balance — One token balance
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address",
"token"
],
"properties": {
"at": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Past balance at this time (Unix ms)"
},
"block": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Past balance at this block"
},
"layer": {
"enum": [
"hypercore",
"hyperevm",
"elysium"
],
"type": "string",
"description": "Default: hypercore for a coin name, hyperevm for an address"
},
"token": {
"type": "string",
"pattern": "^(0x[0-9a-fA-F]{40}|[A-Za-z0-9][A-Za-z0-9._-]{0,19})$",
"description": "EVM token address, `native` (HYPE), or a HyperCore coin name"
},
"verify": {
"type": "boolean",
"description": "EVM layers: read it again on the node at the same block"
},
"address": {
"type": "string",
"pattern": "^(0x[0-9a-fA-F]{40}|[A-Za-z0-9][A-Za-z0-9_.-]{0,63}\\.[0-9a-fA-F]{8,64})$",
"description": "0x address, or a named wallet's handle `<entityId>.<hex>`"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "One token balance",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_token_volume — Daily token volume
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).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"layer",
"token"
],
"properties": {
"days": {
"type": "integer",
"maximum": 365,
"minimum": 1,
"description": "Days (default 30)"
},
"layer": {
"enum": [
"hyperevm",
"elysium"
],
"type": "string",
"description": "EVM layer"
},
"token": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Token address"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "Daily token volume",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_erc20_transfers — ERC-20 transfers (of a token, or from / to an address)
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).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"layer"
],
"properties": {
"to": {
"anyOf": [
{
"type": "integer",
"maximum": 999999999999999,
"minimum": 0
},
{
"type": "string",
"pattern": "^\\d{1,15}$"
}
],
"description": "With address: window end, Unix ms (exclusive)"
},
"from": {
"anyOf": [
{
"type": "integer",
"maximum": 999999999999999,
"minimum": 0
},
{
"type": "string",
"pattern": "^\\d{1,15}$"
}
],
"description": "With address: window start, Unix ms (inclusive)"
},
"layer": {
"enum": [
"hyperevm",
"elysium"
],
"type": "string",
"description": "EVM layer"
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Rows (default 50)"
},
"token": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Token address (required without address)"
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{2,160}$",
"description": "Next page: `next_cursor` of the previous answer"
},
"minUsd": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "string",
"pattern": "^\\d{1,15}(\\.\\d{1,6})?$"
}
],
"description": "With address: smallest amount × current token price, USD"
},
"address": {
"type": "string",
"pattern": "^(0x[0-9a-fA-F]{40}|[A-Za-z0-9][A-Za-z0-9_.-]{0,63}\\.[0-9a-fA-F]{8,64})$",
"description": "Transfers from / to this address (a named wallet's handle works too); token then optional"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"direction": {
"enum": [
"in",
"out",
"any"
],
"type": "string",
"description": "With address: received, sent or both (default any)"
},
"includeSpam": {
"type": "boolean",
"description": "With address: transfers of spam tokens too (flagged)"
}
}
}{
"title": "ERC-20 transfers (of a token, or from / to an address)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_pool — One pool
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address",
"layer"
],
"properties": {
"layer": {
"enum": [
"hyperevm",
"elysium"
],
"type": "string",
"description": "EVM layer"
},
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}(:0x[0-9a-fA-F]{64})?$",
"description": "Pool address, or <PoolManager>:<PoolId>"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "One pool",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_transaction — One transaction
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).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$",
"description": "Transaction hash (0x + 64 hex)"
},
"layer": {
"enum": [
"hyperevm",
"elysium"
],
"type": "string",
"description": "Only this layer (default: HyperEVM, then Elysium)"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "One transaction",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_gas — Gas tracker
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"layer": {
"enum": [
"hyperevm",
"elysium"
],
"type": "string",
"description": "EVM layer (default hyperevm)"
},
"window": {
"enum": [
"1h",
"6h",
"24h",
"7d"
],
"type": "string",
"description": "Window ending now: 1h, 6h, 24h or 7d (default 1h)"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"resolution": {
"enum": [
"block",
"10s",
"1m",
"5m",
"15m",
"1h"
],
"type": "string",
"description": "block, 10s, 1m, 5m, 15m or 1h; default auto (every block up to 25000 per series) (default 15m)"
}
}
}{
"title": "Gas tracker",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_block — One block
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"number"
],
"properties": {
"layer": {
"enum": [
"hyperevm",
"elysium"
],
"type": "string",
"description": "EVM layer (default hyperevm)"
},
"number": {
"anyOf": [
{
"type": "string",
"const": "latest"
},
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
],
"description": "Block number, or latest"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "One block",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}elysium_rpc — Elysium JSON-RPC (read only)
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"method"
],
"properties": {
"method": {
"type": "string",
"description": "A method served: eth_chainId, eth_blockNumber, net_version, net_listening, web3_clientVersion, eth_syncing, eth_getBlockByNumber, eth_getBlockByHash, eth_getBlockTransactionCountByNumber, eth_getBlockTransactionCountByHash, eth_getTransactionByHash, eth_getTransactionByBlockNumberAndIndex, eth_getTransactionByBlockHashAndIndex, eth_getTransactionReceipt, eth_getBlockReceipts, eth_getBalance, eth_getCode, eth_getStorageAt, eth_getTransactionCount, eth_call, eth_estimateGas, eth_gasPrice, eth_maxPriorityFeePerGas, eth_feeHistory, eth_getLogs, eth_getProof (not available: eth_sendRawTransaction / eth_sendTransaction, eth_subscribe, filters, debug_*, trace_*)"
},
"params": {
"type": "array",
"items": {},
"description": "Its parameters, as the method takes them (absent: none)"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "Elysium JSON-RPC (read only)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_book — Order book
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"coin"
],
"properties": {
"coin": {
"type": "string",
"pattern": "^[A-Za-z0-9@#:/._+-]{1,64}$",
"description": "HyperCore coin: BTC, @107, xyz:TSLA"
},
"depth": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Levels per side (default 20, max 100)"
}
}
}{
"title": "Order book",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_walls — Order book wall reliability
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).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"coin": {
"type": "string",
"pattern": "^[A-Za-z0-9@#:/._+-]{1,64}$",
"description": "Market (perp name, spot @index, HIP-3 dex:COIN); every market when absent"
},
"side": {
"enum": [
"B",
"A"
],
"type": "string",
"description": "B bids only, A asks only; both when absent"
},
"sort": {
"enum": [
"tested",
"pulled",
"held",
"walls",
"pulledUsd",
"holdRate"
],
"type": "string",
"description": "Order, largest first (holdRate: lowest first) (default pulled)"
},
"tier": {
"type": "integer",
"maximum": 3,
"minimum": 1,
"description": "Smallest wall counted: 1 = $25k and more, 2 = $100k and more, 3 = $1M and more (default 1)"
},
"user": {
"type": "string",
"pattern": "^(0x[0-9a-fA-F]{40}|[A-Za-z0-9][A-Za-z0-9_.-]{0,63}\\.[0-9a-fA-F]{8,64})$",
"description": "Only this account"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Accounts (default 25)"
},
"window": {
"enum": [
"24h",
"7d",
"all"
],
"type": "string",
"description": "Window, whole hours ending with the current one: 24h, 7d, or all (since 2026-10-13 15:50 UTC) (default 7d)"
},
"minTested": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Accounts with at least this many tested walls (default 5)"
}
}
}{
"title": "Order book wall reliability",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_wall_events — Walls held or pulled on a market
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"coin"
],
"properties": {
"to": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "To (Unix ms); default now"
},
"coin": {
"type": "string",
"pattern": "^[A-Za-z0-9@#:/._+-]{1,64}$",
"description": "Market (perp name, spot @index, HIP-3 dex:COIN)"
},
"from": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "From (Unix ms); default `to` − 24 h"
},
"tier": {
"type": "integer",
"maximum": 3,
"minimum": 1,
"description": "Smallest wall: 1 = $25k and more, 2 = $100k and more, 3 = $1M and more (default 2)"
},
"limit": {
"type": "integer",
"maximum": 2000,
"minimum": 1,
"description": "Events (default 100)"
}
}
}{
"title": "Walls held or pulled on a market",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_open_interest — Open interest history of a perp
Open interest of a HyperCore perp over time (1m to 1d bars since 2023-05-20): 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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"coin",
"tf"
],
"properties": {
"tf": {
"enum": [
"1m",
"5m",
"15m",
"1h",
"4h",
"1d"
],
"type": "string",
"description": "Bar unit"
},
"to": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "End (ms, exclusive; default now)"
},
"coin": {
"type": "string",
"pattern": "^[A-Za-z0-9@#:/._+-]{1,64}$",
"description": "Perp market: BTC, xyz:TSLA (HIP-3: dex:COIN)"
},
"from": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "Start (ms, inclusive; aligned down to the unit). Without it: the `limit` bars ending at `to`"
},
"limit": {
"type": "integer",
"maximum": 5000,
"minimum": 1,
"description": "Bars (default 100)"
}
}
}{
"title": "Open interest history of a perp",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}list_open_interest — Open interest of every perp
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"dex": {
"type": "string",
"pattern": "^[a-z0-9]{0,16}$",
"description": "Only this perp dex (\"\" = the main one); every dex when absent"
},
"sort": {
"enum": [
"usd",
"oi",
"pct24h",
"accounts"
],
"type": "string",
"description": "Order, largest first (pct24h: largest increase first) (default usd)"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Markets (default 25)"
}
}
}{
"title": "Open interest of every perp",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_open_interest_cohorts — Open interest by position size
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"coin"
],
"properties": {
"to": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "End (ms, exclusive; default now)"
},
"coin": {
"type": "string",
"pattern": "^[A-Za-z0-9@#:/._+-]{1,64}$",
"description": "Perp market: BTC, xyz:TSLA"
},
"from": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "Start (ms, inclusive). Without it: the `limit` points ending at `to`"
},
"every": {
"enum": [
"1h",
"1d"
],
"type": "string",
"description": "1h: every hourly funding; 1d: the first of each day (default 1h)"
},
"limit": {
"type": "integer",
"maximum": 744,
"minimum": 1,
"description": "Points (744: a month of hours) (default 48)"
}
}
}{
"title": "Open interest by position size",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_open_interest_opens — Largest orders that opened positions
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"coin",
"from",
"to"
],
"properties": {
"to": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "End (ms, exclusive; aligned up to the minute; at most a day after `from`)"
},
"coin": {
"type": "string",
"pattern": "^[A-Za-z0-9@#:/._+-]{1,64}$",
"description": "Perp market: BTC, xyz:TSLA"
},
"from": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "Start (ms, inclusive; aligned down to the minute)"
},
"side": {
"enum": [
"long",
"short"
],
"type": "string",
"description": "Only the orders that opened longs, or shorts"
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Orders (default 20)"
}
}
}{
"title": "Largest orders that opened positions",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_liquidations — Liquidations
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`.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"to": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Window end (ms, exclusive)"
},
"coin": {
"type": "string",
"pattern": "^[A-Za-z0-9@#:/._+-]{1,64}$",
"description": "One coin"
},
"from": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Window start (ms)"
},
"user": {
"type": "string",
"pattern": "^(0x[0-9a-fA-F]{40}|[A-Za-z0-9][A-Za-z0-9_.-]{0,63}\\.[0-9a-fA-F]{8,64})$",
"description": "One liquidated account (0x)"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Rows (default 50)"
},
"minNotional": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Smallest notional, USD"
}
}
}{
"title": "Liquidations",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_liquidation_stats — Liquidation stats
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"coin": {
"type": "string",
"pattern": "^[A-Za-z0-9@#:/._+-]{1,64}$",
"description": "One coin"
},
"window": {
"enum": [
"1h",
"24h",
"7d",
"30d"
],
"type": "string",
"description": "Window (default 24h)"
}
}
}{
"title": "Liquidation stats",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_positions — Open positions
Open positions of one HyperCore perp, current to a few seconds (the node state rolled forward with every fill, funding payment and ledger update): 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`.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"coin"
],
"properties": {
"coin": {
"type": "string",
"pattern": "^[A-Za-z0-9@#:/._+-]{1,64}$",
"description": "Perp coin (BTC, xyz:TSLA)"
},
"side": {
"enum": [
"long",
"short"
],
"type": "string",
"description": "One side"
},
"sort": {
"enum": [
"notional",
"upnl",
"liqDistance"
],
"type": "string",
"description": "Sort (default notional)"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Rows (default 50)"
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Order (default: desc, liqDistance asc)"
}
}
}{
"title": "Open positions",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_position_changes — Large position changes
Past HyperCore perp position changes of one coin over a notional, 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. Default window: the last 24 h; `from` older than 30 days is clamped. sort=notional for the largest of the window. Named wallets carry `entity`.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"coin"
],
"properties": {
"to": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Window end (ms, exclusive)"
},
"coin": {
"type": "string",
"pattern": "^[A-Za-z0-9@#:/._+-]{1,64}$",
"description": "Perp coin (BTC, xyz:TSLA)"
},
"from": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Window start (ms)"
},
"sort": {
"enum": [
"time",
"notional"
],
"type": "string",
"description": "Newest first, or largest first (default time)"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Rows (default 50)"
},
"minNotional": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Smallest notional, USD (default 100000)"
}
}
}{
"title": "Large position changes",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_stop_map — Stop-loss / take-profit map
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`.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"coin"
],
"properties": {
"coin": {
"type": "string",
"pattern": "^[A-Za-z0-9@#:/._+-]{1,64}$",
"description": "HyperCore coin: BTC, ETH, xyz:TSLA"
},
"step": {
"type": "string",
"pattern": "^\\d{1,30}(\\.\\d{1,18})?$",
"description": "Bucket width in price units, instead of buckets (at most 400 buckets)"
},
"buckets": {
"type": "integer",
"maximum": 400,
"minimum": 1,
"description": "Most buckets (default 20; the width is rounded up to 1, 2, 2.5 or 5 × 10^k)"
},
"rangePct": {
"type": "number",
"maximum": 100,
"description": "Half-width of the grid around the mark, percent (default 10)",
"exclusiveMinimum": 0
}
}
}{
"title": "Stop-loss / take-profit map",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_liquidation_map — Liquidation price map
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 and ledger update), 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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"coin"
],
"properties": {
"coin": {
"type": "string",
"pattern": "^[A-Za-z0-9@#:/._+-]{1,64}$",
"description": "Perp coin: BTC, ETH, xyz:TSLA"
},
"step": {
"type": "string",
"pattern": "^\\d{1,30}(\\.\\d{1,18})?$",
"description": "Bucket width in price units, instead of buckets (at most 400 buckets)"
},
"buckets": {
"type": "integer",
"maximum": 400,
"minimum": 1,
"description": "Most buckets (default 20; the width is rounded up to 1, 2, 2.5 or 5 × 10^k)"
},
"rangePct": {
"type": "number",
"maximum": 100,
"description": "Half-width of the grid around the mark, percent (default 10)",
"exclusiveMinimum": 0
}
}
}{
"title": "Liquidation price map",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_forced_flow — Forced flow map (stops + liquidations)
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"coin"
],
"properties": {
"coin": {
"type": "string",
"pattern": "^[A-Za-z0-9@#:/._+-]{1,64}$",
"description": "Perp coin: BTC, ETH, xyz:TSLA"
},
"step": {
"type": "string",
"pattern": "^\\d{1,30}(\\.\\d{1,18})?$",
"description": "Bucket width in price units, instead of buckets (at most 400 buckets)"
},
"buckets": {
"type": "integer",
"maximum": 400,
"minimum": 1,
"description": "Most buckets (default 20; the width is rounded up to 1, 2, 2.5 or 5 × 10^k)"
},
"rangePct": {
"type": "number",
"maximum": 100,
"description": "Half-width of the grid around the mark, percent (default 10)",
"exclusiveMinimum": 0
}
}
}{
"title": "Forced flow map (stops + liquidations)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_triggered_stops — Triggered stops
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"coin"
],
"properties": {
"coin": {
"type": "string",
"pattern": "^[A-Za-z0-9@#:/._+-]{1,64}$",
"description": "HyperCore coin: BTC, ETH, xyz:TSLA"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Rows (default 50)"
},
"since": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "Window start (Unix ms, default until − 1 h)"
},
"until": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "Window end (Unix ms, exclusive, default now)"
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{2,160}$",
"description": "Next page: `next_cursor` of the previous answer"
}
}
}{
"title": "Triggered stops",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_wallet_stops — A wallet's stops
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).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "history: events (default 100, max 1000)"
},
"since": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "history: window start (Unix ms, default until − 24 h, 3 days back at most)"
},
"until": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "history: window end (Unix ms, exclusive, default now)"
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{2,160}$",
"description": "Next page: `next_cursor` of the previous answer"
},
"status": {
"type": "string",
"pattern": "^[A-Za-z]{1,40}$",
"description": "history: one status (open, triggered, canceled, filled…)"
},
"address": {
"type": "string",
"pattern": "^(0x[0-9a-fA-F]{40}|[A-Za-z0-9][A-Za-z0-9_.-]{0,63}\\.[0-9a-fA-F]{8,64})$",
"description": "0x address, or a named wallet's handle <entityId>.<hex>"
},
"history": {
"type": "boolean",
"description": "Past status events instead of the open orders (heavy call)"
}
}
}{
"title": "A wallet's stops",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_price_level — Who sits at a price level
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`.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"coin",
"px_lo",
"px_hi"
],
"properties": {
"coin": {
"type": "string",
"pattern": "^[A-Za-z0-9@#:/._+-]{1,64}$",
"description": "HyperCore perp coin: BTC, xyz:TSLA"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Orders, and positions, listed (largest first) (default 50)"
},
"px_hi": {
"type": "string",
"pattern": "^\\d{1,30}(\\.\\d{1,18})?$",
"description": "Band high edge (exclusive), price, over px_lo"
},
"px_lo": {
"type": "string",
"pattern": "^\\d{1,30}(\\.\\d{1,18})?$",
"description": "Band low edge (inclusive), price"
}
}
}{
"title": "Who sits at a price level",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}list_nft_collections — NFT collections
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"layer"
],
"properties": {
"layer": {
"enum": [
"hyperevm",
"elysium"
],
"type": "string",
"description": "EVM layer"
},
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Rows (default 50)"
},
"window": {
"enum": [
"1h",
"24h"
],
"type": "string",
"description": "Window (default 24h)"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "NFT collections",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_nft_collection — One NFT collection
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address",
"layer"
],
"properties": {
"layer": {
"enum": [
"hyperevm",
"elysium"
],
"type": "string",
"description": "EVM layer"
},
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Collection contract"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "One NFT collection",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_nft_tokens — NFT tokens
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"layer",
"collection"
],
"properties": {
"layer": {
"enum": [
"hyperevm",
"elysium"
],
"type": "string",
"description": "EVM layer"
},
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Rows (default 50)"
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{2,160}$",
"description": "Next page: `next_cursor` of the previous answer"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"collection": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Collection contract"
}
}
}{
"title": "NFT tokens",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_nfts_owned — NFTs of a wallet
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"layer",
"owner"
],
"properties": {
"layer": {
"enum": [
"hyperevm",
"elysium"
],
"type": "string",
"description": "EVM layer"
},
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Tokens listed (default 50)"
},
"owner": {
"type": "string",
"pattern": "^(0x[0-9a-fA-F]{40}|[A-Za-z0-9][A-Za-z0-9_.-]{0,63}\\.[0-9a-fA-F]{8,64})$",
"description": "Holder address"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "NFTs of a wallet",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_nft_transfers — NFT transfers
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"layer",
"collection"
],
"properties": {
"layer": {
"enum": [
"hyperevm",
"elysium"
],
"type": "string",
"description": "EVM layer"
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Rows (default 50)"
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{2,160}$",
"description": "Next page: `next_cursor` of the previous answer"
},
"window": {
"enum": [
"24h",
"7d"
],
"type": "string",
"description": "Window when scope is not all (default 24h)"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"tokenId": {
"type": "string",
"pattern": "^\\d{1,78}$",
"description": "One token"
},
"collection": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Collection contract"
}
}
}{
"title": "NFT transfers",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}search_entities — Named wallets
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"type": "string",
"maxLength": 64,
"description": "Name, X handle, alias, wallet address or handle"
},
"via": {
"enum": [
"list",
"bridge",
"subaccount",
"transfer",
"vault-leader",
"self-declared",
"smart-money",
"smart-money-link"
],
"type": "string",
"description": "Entities with at least one wallet found this way (`via` of the wallets)"
},
"kind": {
"type": "string",
"maxLength": 64,
"description": "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…). Default: all"
},
"sort": {
"enum": [
"default",
"wallets",
"name",
"pnl"
],
"type": "string",
"description": "default: the registry order (our research first); wallets: most wallets first; name; pnl: smart-money net PnL first (default default)"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Entities (default 20)"
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{2,160}$",
"description": "Next page: `next_cursor` of the previous answer"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"confidence": {
"enum": [
"high",
"medium",
"low",
"unrated"
],
"type": "string",
"description": "Entities with at least one wallet of this confidence"
}
}
}{
"title": "Named wallets",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_entity_graph — How a named wallet was found
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$",
"description": "Entity id"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "How a named wallet was found",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_entity_pnl — A named wallet's PnL curve
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$",
"description": "Entity id"
},
"bucket": {
"enum": [
"1h",
"1d"
],
"type": "string",
"description": "Bucket: 1h (window 7d or 30d) or 1d. Default 1d (default 1d)"
},
"window": {
"enum": [
"7d",
"30d",
"90d",
"all"
],
"type": "string",
"description": "UTC days ending today: 7d, 30d, 90d, or all (since `dataStart`). Default 30d (default 30d)"
}
}
}{
"title": "A named wallet's PnL curve",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}kol_leaderboard — Named-wallet leaderboard
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).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"kind": {
"type": "string",
"pattern": "^[\\w /&.-]{0,40}$",
"description": "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…). Default: named"
},
"sort": {
"enum": [
"netPnl",
"realizedPnl",
"volume",
"fills",
"winRate",
"openNotional",
"swaps",
"transfers",
"netBuy",
"holdings",
"bridges",
"lastActivity"
],
"type": "string",
"description": "Sort (per layer, see above; default netPnl / volume)"
},
"layer": {
"enum": [
"hypercore",
"hyperevm",
"elysium"
],
"type": "string",
"description": "Layer (default hypercore)"
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Rows (default 25)"
},
"window": {
"enum": [
"24h",
"7d",
"30d"
],
"type": "string",
"description": "Window (hypercore: 7d by default, EVM layers: 24h)"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
}
}
}{
"title": "Named-wallet leaderboard",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}kol_positioning — Named-wallet positioning per market
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"top": {
"type": "integer",
"maximum": 20,
"minimum": 0,
"description": "Largest entities listed per side (default 3)"
},
"coin": {
"type": "string",
"pattern": "^[A-Za-z0-9@#:/._+-]{1,64}$",
"description": "One perp market only"
},
"kind": {
"enum": [
"named",
"cluster",
"all"
],
"type": "string",
"description": "Entities: named (people, funds, pseudonyms from public sources), cluster (anonymous smart-money clusters), all. Default: named (default named)"
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Markets, largest gross notional first (default 20)"
}
}
}{
"title": "Named-wallet positioning per market",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}kol_activity — Named-wallet moves
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"layer": {
"enum": [
"hypercore",
"hyperevm",
"elysium"
],
"type": "string",
"description": "Layer (default hypercore)"
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Rows (default 50)"
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{2,160}$",
"description": "Next page: `next_cursor` of the previous answer"
},
"entity": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$",
"description": "One entity only"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network: mainnet or testnet, same answers (testnet USD values null). HyperCore and HyperEVM are always mainnet (default mainnet)"
},
"minNotional": {
"type": "string",
"pattern": "^\\d{1,15}(\\.\\d{1,6})?$",
"description": "Smallest USD value (hypercore: px × sz, default 1000; EVM: none by default)"
}
}
}{
"title": "Named-wallet moves",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_builders — Builder codes ranked
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"sort": {
"enum": [
"fees",
"volume",
"fills",
"users",
"orders"
],
"type": "string",
"description": "Order, largest first (default fees)"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Builders (default 25)"
},
"window": {
"enum": [
"24h",
"7d",
"30d",
"90d",
"all"
],
"type": "string",
"description": "Window, whole hours ending with the current one: 24h, 7d, 30d, 90d, or all (since 2025-07-19) (default 30d)"
}
}
}{
"title": "Builder codes ranked",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_builder — One builder code
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"builder"
],
"properties": {
"window": {
"enum": [
"24h",
"7d",
"30d",
"90d",
"all"
],
"type": "string",
"description": "Window, whole hours ending with the current one: 24h, 7d, 30d, 90d, or all (since 2025-07-19) (default 30d)"
},
"builder": {
"type": "string",
"pattern": "^(0x[0-9a-fA-F]{40}|[A-Za-z0-9][A-Za-z0-9_.-]{0,63}\\.[0-9a-fA-F]{8,64})$",
"description": "Builder address (0x), as orders name it in `builder.b`"
}
}
}{
"title": "One builder code",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_builder_orders — Builder orders
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"builder"
],
"properties": {
"to": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "Window end (Unix ms, exclusive, default now)"
},
"coin": {
"type": "string",
"pattern": "^[A-Za-z0-9@#:/._+-]{1,64}$",
"description": "One market"
},
"from": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "Window start (Unix ms, default to − 24 h)"
},
"user": {
"type": "string",
"pattern": "^(0x[0-9a-fA-F]{40}|[A-Za-z0-9][A-Za-z0-9_.-]{0,63}\\.[0-9a-fA-F]{8,64})$",
"description": "One account"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Rows (default 50)"
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{2,160}$",
"description": "Next page: `next_cursor` of the previous answer"
},
"status": {
"type": "string",
"pattern": "^[A-Za-z]{2,40}$",
"description": "One status"
},
"builder": {
"type": "string",
"pattern": "^(0x[0-9a-fA-F]{40}|[A-Za-z0-9][A-Za-z0-9_.-]{0,63}\\.[0-9a-fA-F]{8,64})$",
"description": "Builder address (0x), as orders name it in `builder.b`"
}
}
}{
"title": "Builder orders",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_builder_fills — Builder fills
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"builder"
],
"properties": {
"to": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "Window end (Unix ms, exclusive, default now)"
},
"coin": {
"type": "string",
"pattern": "^[A-Za-z0-9@#:/._+-]{1,64}$",
"description": "One market"
},
"from": {
"type": "integer",
"maximum": 999999999999999,
"minimum": 0,
"description": "Window start (Unix ms, default to − 24 h)"
},
"user": {
"type": "string",
"pattern": "^(0x[0-9a-fA-F]{40}|[A-Za-z0-9][A-Za-z0-9_.-]{0,63}\\.[0-9a-fA-F]{8,64})$",
"description": "One account"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Rows (default 50)"
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{2,160}$",
"description": "Next page: `next_cursor` of the previous answer"
},
"builder": {
"type": "string",
"pattern": "^(0x[0-9a-fA-F]{40}|[A-Za-z0-9][A-Za-z0-9_.-]{0,63}\\.[0-9a-fA-F]{8,64})$",
"description": "Builder address (0x), as orders name it in `builder.b`"
}
}
}{
"title": "Builder fills",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}create_webhook — Create a webhook
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url",
"subscriptions"
],
"properties": {
"url": {
"type": "string",
"example": "https://example.com/femtos",
"description": "https, port 443 or 8443, a public address"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"description": "Your label (<= 200 characters)"
},
"subscriptions": {
"type": "array",
"items": {
"type": "object",
"required": [
"channel"
],
"properties": {
"batch": {
"enum": [
"block",
"none"
],
"type": "string",
"default": "block",
"description": "block: the events of one source block per delivery; none: one event per delivery"
},
"filter": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "null"
}
],
"description": "The WebSocket filter of the channel. wallet: {address: one, a comma list or an array of up to 100 (0x or named-wallet handles), channel?: event kinds}; hc.positions: min_notional >= 10000 (default 100000)",
"additionalProperties": true
},
"channel": {
"enum": [
"bridge.transfers",
"elysium.bridge",
"wallet",
"hc.liquidations",
"hc.positions",
"elysium.launches",
"hyperevm.launches"
],
"type": "string"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network of the subscription: testnet for the Elysium testnet (elysium.bridge, elysium.launches, the Elysium events of wallet); absent: mainnet. Other channels are always mainnet"
}
},
"description": "A channel and its filter, as on the WebSocket"
},
"maxItems": 50,
"minItems": 1,
"description": "What to deliver"
}
}
}{
"title": "Create a webhook",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}list_webhooks — Your webhooks
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Webhooks (default 50)"
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{2,160}$",
"description": "Next page: `next_cursor` of the previous answer"
}
}
}{
"title": "Your webhooks",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_webhook — One webhook
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"example": "wh_3fJ9xQ2mV8kLp0aZ",
"pattern": "^wh_[A-Za-z0-9_-]{16}$",
"description": "Webhook id"
}
}
}{
"title": "One webhook",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}update_webhook — Change a webhook
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).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"example": "wh_3fJ9xQ2mV8kLp0aZ",
"pattern": "^wh_[A-Za-z0-9_-]{16}$",
"description": "Webhook id"
},
"url": {
"type": "string",
"example": "https://example.com/femtos",
"description": "https, port 443 or 8443, a public address"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"description": "Your label (<= 200 characters)"
},
"subscriptions": {
"type": "array",
"items": {
"type": "object",
"required": [
"channel"
],
"properties": {
"batch": {
"enum": [
"block",
"none"
],
"type": "string",
"default": "block",
"description": "block: the events of one source block per delivery; none: one event per delivery"
},
"filter": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "null"
}
],
"description": "The WebSocket filter of the channel. wallet: {address: one, a comma list or an array of up to 100 (0x or named-wallet handles), channel?: event kinds}; hc.positions: min_notional >= 10000 (default 100000)",
"additionalProperties": true
},
"channel": {
"enum": [
"bridge.transfers",
"elysium.bridge",
"wallet",
"hc.liquidations",
"hc.positions",
"elysium.launches",
"hyperevm.launches"
],
"type": "string"
},
"network": {
"enum": [
"mainnet",
"testnet"
],
"type": "string",
"description": "Elysium network of the subscription: testnet for the Elysium testnet (elysium.bridge, elysium.launches, the Elysium events of wallet); absent: mainnet. Other channels are always mainnet"
}
},
"description": "A channel and its filter, as on the WebSocket"
},
"maxItems": 50,
"minItems": 1,
"description": "What to deliver"
}
}
}{
"title": "Change a webhook",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}enable_webhook — Turn a webhook on again
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"example": "wh_3fJ9xQ2mV8kLp0aZ",
"pattern": "^wh_[A-Za-z0-9_-]{16}$",
"description": "Webhook id"
}
}
}{
"title": "Turn a webhook on again",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}rotate_webhook_secret — Rotate a webhook secret
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"example": "wh_3fJ9xQ2mV8kLp0aZ",
"pattern": "^wh_[A-Za-z0-9_-]{16}$",
"description": "Webhook id"
}
}
}{
"title": "Rotate a webhook secret",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}delete_webhook — Delete a webhook
Delete one of your webhooks and its pending deliveries. Cannot be undone.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"example": "wh_3fJ9xQ2mV8kLp0aZ",
"pattern": "^wh_[A-Za-z0-9_-]{16}$",
"description": "Webhook id"
}
}
}{
"title": "Delete a webhook",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}test_webhook — Test a webhook
Queue a webhook.test delivery to a verified webhook (not billed); its result shows in get_webhook_deliveries within seconds.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"example": "wh_3fJ9xQ2mV8kLp0aZ",
"pattern": "^wh_[A-Za-z0-9_-]{16}$",
"description": "Webhook id"
}
}
}{
"title": "Test a webhook",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}get_webhook_deliveries — Webhook deliveries
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"example": "wh_3fJ9xQ2mV8kLp0aZ",
"pattern": "^wh_[A-Za-z0-9_-]{16}$",
"description": "Webhook id"
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Deliveries (default 20)"
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{2,160}$",
"description": "Next page: `next_cursor` of the previous answer"
},
"status": {
"enum": [
"pending",
"delivered",
"dead"
],
"type": "string",
"description": "Only these"
}
}
}{
"title": "Webhook deliveries",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}replay_webhook — Replay webhook deliveries
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).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"example": "wh_3fJ9xQ2mV8kLp0aZ",
"pattern": "^wh_[A-Za-z0-9_-]{16}$",
"description": "Webhook id"
},
"msgId": {
"type": "string",
"pattern": "^msg_[A-Za-z0-9_-]{27}$",
"description": "One delivery (its msgId)"
},
"since": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Unix ms, within the last 7 days"
},
"status": {
"enum": [
"dead",
"all"
],
"type": "string",
"description": "dead: the dead deliveries; all: the delivered ones too (default dead)"
}
}
}{
"title": "Replay webhook deliveries",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}get_account — Your account
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"title": "Your account",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_usage — Your usage
Your usage per UTC day and call class (rest, medium, heavy, hl, ws_bytes, webhook): calls or bytes, credits, USD charged. Free.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"days": {
"type": "integer",
"maximum": 400,
"minimum": 1,
"description": "Days back (default 30)"
}
}
}{
"title": "Your usage",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_ledger — Your payments and charges
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Entries (default 50)"
},
"usage": {
"type": "boolean",
"description": "Include the usage debits"
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{2,160}$",
"description": "Next page: `next_cursor` of the previous answer"
}
}
}{
"title": "Your payments and charges",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_deposits — Your USDC deposits
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"title": "Your USDC deposits",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_deposit_address — Your USDC deposit address
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"title": "Your USDC deposit address",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_payment_options — How to add credit
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"usd": {
"type": "number",
"maximum": 10000,
"minimum": 0,
"description": "Amount to add (USD): a card session for it, the credits it buys"
}
}
}{
"title": "How to add credit",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}get_plans — Plans and prices
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"title": "Plans and prices",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}subscribe_plan — Subscribe to a plan
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"planId"
],
"properties": {
"planId": {
"type": "string",
"example": "starter",
"description": "Plan id (GET /v1/account/plans `plans.list[].id`)"
},
"payWith": {
"enum": [
"balance",
"card"
],
"type": "string",
"description": "Default: card when cards are offered and monthly, else balance"
},
"interval": {
"enum": [
"month",
"year"
],
"type": "string",
"description": "month (default) or year (12 months prepaid from the balance)"
}
}
}{
"title": "Subscribe to a plan",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}cancel_plan — Cancel your plan
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"title": "Cancel your plan",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}quote_wallet_payment — Pay from your wallet: quote
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"chain",
"payer"
],
"properties": {
"usd": {
"type": "number",
"maximum": 10000,
"minimum": 1,
"description": "A top-up: the amount (USD)"
},
"chain": {
"enum": [
"base",
"arbitrum",
"hyperevm"
],
"type": "string",
"description": "Network the USDC is paid on: base, arbitrum (Arbitrum One) or hyperevm"
},
"payer": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "The wallet that signs and pays"
},
"planId": {
"type": "string",
"example": "starter",
"description": "A plan to buy (GET /v1/account/plans `plans.list[].id`): the quote is what the balance lacks for it"
},
"interval": {
"enum": [
"month",
"year"
],
"type": "string",
"description": "With planId: month (default) or year"
}
}
}{
"title": "Pay from your wallet: quote",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}pay_with_wallet — Pay from your wallet
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"chain",
"authorization",
"signature"
],
"properties": {
"usd": {
"type": "number",
"maximum": 10000,
"minimum": 1,
"description": "A top-up: the amount quoted"
},
"chain": {
"enum": [
"base",
"arbitrum",
"hyperevm"
],
"type": "string",
"description": "Network the USDC is paid on: base, arbitrum (Arbitrum One) or hyperevm"
},
"planId": {
"type": "string",
"example": "starter",
"description": "A plan to buy (GET /v1/account/plans `plans.list[].id`): the quote is what the balance lacks for it"
},
"interval": {
"enum": [
"month",
"year"
],
"type": "string",
"description": "With planId: month (default) or year"
},
"signature": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{130}$",
"description": "The wallet signature of `typedData` (65 bytes, EOA)"
},
"authorization": {
"type": "object",
"description": "`typedData.message` of the quote: {from, to, value, validAfter, validBefore, nonce}",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
}{
"title": "Pay from your wallet",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}set_spending_cap — Set your spending cap
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"capUsd"
],
"properties": {
"capUsd": {
"anyOf": [
{
"type": "number",
"maximum": 1000000,
"minimum": 0
},
{
"type": "null"
}
],
"description": "Monthly cap in USD (at most 6 decimals); null: no cap"
}
}
}{
"title": "Set your spending cap",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}rotate_key — Rotate your key
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"management_secret": {
"type": "string",
"pattern": "^fms_[0-9a-f]{64}$",
"description": "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 (202)"
}
}
}{
"title": "Rotate your key",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}freeze_key — Freeze your key
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"title": "Freeze your key",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}delete_account — Delete your account
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"forfeit_balance": {
"type": "boolean",
"description": "Agree to lose the balance left (no refund)"
},
"management_secret": {
"type": "string",
"pattern": "^fms_[0-9a-f]{64}$",
"description": "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 (202)"
}
}
}{
"title": "Delete your account",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}get_signup_challenge — Get a key: challenge
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"title": "Get a key: challenge",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}signup — Get a key
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>.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"agent_name",
"salt",
"nonce"
],
"properties": {
"salt": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "`salt` of GET /v1/account/signup"
},
"nonce": {
"type": "string",
"pattern": "^[0-9a-zA-Z]{1,32}$",
"description": "1-32 characters [0-9a-zA-Z] such that SHA-256(\"<salt>:<nonce>\") starts with `difficulty` zero bits"
},
"agent_name": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Your agent name (1-64 printable characters, not unique)"
},
"owner_email": {
"type": "string",
"maxLength": 254,
"description": "Its operator, for our records (never an account address, never written to)"
}
}
}{
"title": "Get a key",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}get_recovery_challenge — Recover an x402 account: message
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"wallet"
],
"properties": {
"wallet": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "The wallet that paid with x402"
}
}
}{
"title": "Recover an x402 account: message",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}recover_account — Recover an x402 account
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"wallet",
"nonce",
"signature"
],
"properties": {
"nonce": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "`nonce` of step 1"
},
"wallet": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "The wallet that paid with x402"
},
"signature": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{130}$",
"description": "personal_sign of `message` (65 bytes)"
}
}
}{
"title": "Recover an x402 account",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 756 ms
- 95th percentile latency
- 756 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 756 ms · metadata changed · 93 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http femtos-mcp https://api.femtos.xyz/mcpCodex
codex mcp add femtos-mcp --url https://api.femtos.xyz/mcpCursor
{
"mcpServers": {
"femtos-mcp": {
"url": "https://api.femtos.xyz/mcp"
}
}
}Cline
{
"mcpServers": {
"femtos-mcp": {
"type": "streamableHttp",
"url": "https://api.femtos.xyz/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"femtos-mcp": {
"type": "http",
"url": "https://api.femtos.xyz/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http femtos-mcp https://api.femtos.xyz/mcpClaude Desktop
{
"mcpServers": {
"femtos-mcp": {
"url": "https://api.femtos.xyz/mcp"
}
}
}Windsurf
{
"mcpServers": {
"femtos-mcp": {
"serverUrl": "https://api.femtos.xyz/mcp"
}
}
}Let your agent find its tools
Find servers like Femtos MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other ai and machine learning servers
Do you run Femtos MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.