Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

HyperSignal MCP

by johnsmithxy1mmm-sysversion 1.14.0i★ –iComputer or cloud
Registry nameio.github.johnsmithxy1mmm-sys/hypersignal-mcp

Install

Overview

Description from the maker (original English)

Hyperliquid analytics for AI agents: whale flow, liquidations, funding, risk, signed signals.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Computer or cloud
  • Transport: stdio, Streamable HTTP
  • Category: Marketing & social media
  • You need to fill in: HL_AGENT_PRIVATE_KEY, X-API-Key

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 3 of 3 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • Can do 30 things (tools) hl_request_free_key, hl_buy_pro, hl_get_markets, hl_get_orderbook …
  • You fill in yourself: HL_NETWORK, HL_ENABLE_TRADING, HL_AGENT_PRIVATE_KEY, X-API-Key

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Or run it on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "hypersignal": {
      "command": "npx",
      "args": [
        "-y",
        "hypersignal-mcp"
      ],
      "env": {
        "HL_NETWORK": "your-value",
        "HL_ENABLE_TRADING": "your-value",
        "HL_AGENT_PRIVATE_KEY": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add --transport http hypersignal https://hypersmash.fly.dev/mcp --header 'X-API-Key: your-value'

Or run it on your computer

claude mcp add hypersignal --env HL_NETWORK=your-value --env HL_ENABLE_TRADING=your-value --env HL_AGENT_PRIVATE_KEY=your-value -- npx -y hypersignal-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "hypersignal": {
      "url": "https://hypersmash.fly.dev/mcp",
      "headers": {
        "X-API-Key": "your-value"
      }
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "hypersignal": {
      "command": "npx",
      "args": [
        "-y",
        "hypersignal-mcp"
      ],
      "env": {
        "HL_NETWORK": "your-value",
        "HL_ENABLE_TRADING": "your-value",
        "HL_AGENT_PRIVATE_KEY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "hypersignal": {
      "type": "http",
      "url": "https://hypersmash.fly.dev/mcp",
      "headers": {
        "X-API-Key": "your-value"
      }
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "hypersignal": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "hypersignal-mcp"
      ],
      "env": {
        "HL_NETWORK": "your-value",
        "HL_ENABLE_TRADING": "your-value",
        "HL_AGENT_PRIVATE_KEY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • HL_NETWORK env
    mainnet or testnet
  • HL_ENABLE_TRADING env
    true to allow the local trading tools to submit orders (dry-run otherwise)
  • HL_AGENT_PRIVATE_KEY secret env
    Agent (API) wallet key for trading; only read locally
  • X-API-Key secret HTTP header
    Key for premium tools; free tools work without it (get one with hl_request_free_key)

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Tool names and descriptions exactly as the server reported them on Nov 7, 2026. The maker wrote them, not us; we show them as plain text.

  • hl_request_free_key

    Issue yourself a free API key, instantly and with no signup. The key grants 100 premium calls per month — enough to evaluate every premium tool. Send it as the X-API-Key header on later requests. Call this first if a premium tool says it needs a key. One active key per requester:

  • hl_buy_pro

    Buy 30 days of Pro (unlimited premium calls) for $29 in USDC, paid over x402 on Base. Without an X-API-Key it issues a new Pro key; with one it renews that key (a free key is upgraded in place), adding 30 days to its current end. The first call answers with the payment requiremen

  • hl_get_markets

    List Hyperliquid perpetual markets with mark/oracle price, hourly + annualized funding, open interest, and 24h volume. Use to discover valid coin symbols and scan the board. Supports name filter, sorting, and pagination.

  • hl_get_orderbook

    Level-2 order book for a coin: top-N bid/ask levels with price, size, and order count, plus spread and mid. Use for microstructure, spread, and near-touch liquidity. If the coin is unknown, call hl_get_markets first.

  • hl_get_candles

    OHLCV candlestick history for a coin at a given interval. Provide either an explicit [startTime,endTime] (ms epoch) or a `lookback` count of the most recent candles. Returns most-recent-last, paginated.

  • hl_get_funding_history

    Historical hourly funding rates for a coin over a time window, with cumulative and average annualized funding. Use for carry analysis and funding trend. Defaults to the last 7 days if no window is given.

  • hl_get_account

    Perp account snapshot for any address: equity, margin usage, withdrawable, and open positions (size, entry, uPnL, leverage, liquidation price). Read-only; works for any public 0x address.

  • hl_get_open_orders

    Open resting orders for an address: coin, side, price, size, order id, type, and trigger info. Read-only; paginated. Use to inspect any wallet's live order book footprint.

  • hl_signal_pubkey

    Returns the server's Ed25519 public key (SPKI DER, base64) used to sign emitted signals, so anyone can independently verify a signal's authenticity and timestamp. Canonicalization: JSON with recursively sorted keys over {payload, ts}; signature is base64 Ed25519.

  • hl_link_telegram

    Get a one-time Telegram link (valid 15 minutes). Open it and press Start: this key's standing alerts are then also pushed to that chat (up to 30 messages an hour; everything stays available via hl_poll_alerts).

  • hl_unlink_telegram

    Stop pushing this key's alerts to Telegram (they remain available via hl_poll_alerts).

  • hl_set_webhook

    POST this key's fired alerts to an https URL (public addresses only), up to 30 an hour. Each body is signed: header x-hypersignal-signature = sha256=HMAC-SHA256(secret, body). The secret is returned only once.

  • hl_delete_webhook

    Stop POSTing this key's alerts to its webhook (they remain available via hl_poll_alerts).

  • hl_score_calibration

    Out-of-sample evidence for whether the hl_smart_money_score actually predicts anything: Spearman rank correlation between each wallet's score and the realized return it went on to earn over the forward window (PnL over account value), plus mean forward return per score quartile.

  • hl_whale_positions

    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Aggregated positioning of a whale cohort for a coin (or all coins): total long/short size & notional, long/short wallet counts, weighted-average entry, net bias, and change vs 1h

  • hl_whale_flow_alerts

    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Recent large changes in whale cohort positioning: which coins saw net long/short notional shift beyond a USD threshold within a lookback window — 'who opened/closed what in the l

  • hl_liquidation_map

    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Estimated liquidation clusters for a coin from a whale cohort's open positions: distribution of liquidation prices and notional-at-risk bucketed by % distance from mark, plus nea

  • hl_funding_screener

    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Screen every Hyperliquid perp by annualized funding: top markets by absolute funding (carry candidates), sign (longs-pay vs shorts-pay), and — when predictedFundings is available

  • hl_hip3_analytics

    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Analytics for HIP-3 (builder-deployed) perp markets such as RWA/equity perps: volume, open interest, funding, and 24h change, enumerated across builder dexs. Optionally pass `spo

  • hl_portfolio_risk

    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Risk report for a perp address: liquidation distance per position, effective leverage, concentration (HHI + largest position share), uniform stress scenarios (-5/-10/-20% and mir

  • hl_vault_screener

    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Screen Hyperliquid user vaults by APR, max drawdown, Sharpe/Sortino, age, TVL, and leader capital share. Provide `vaults` (list of vault 0x addresses) or set HL_VAULT_ADDRESSES.

  • hl_trader_report

    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Behavioral report for any wallet from its fills: winrate, average R (avg win / avg loss), total realized PnL, PnL curve, holding-time style (scalp vs swing), fees paid, and most-

  • hl_create_alert

    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Register a persistent alert the server evaluates on a schedule; fired events are retrieved with hl_poll_alerts. Types: funding_apr (|annualized funding| crosses a threshold), pri

  • hl_list_alerts

    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] List the standing alerts registered under your API key, with their type, params, and last-fired time.

  • hl_delete_alert

    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Delete one of your standing alerts by id.

  • hl_poll_alerts

    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Retrieve alert events that fired since your last poll. Default is simple at-most-once delivery (events are marked delivered as soon as they are read — a lost response loses them)

  • hl_signal_track_record

    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Transparent, verifiable performance of the signals this server has emitted: per signal type, the count, how many have been scored against forward price, hit-rate, and average/med

  • hl_smart_money_score

    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Rank a cohort of wallets by a composite screening score over their PAST results (risk-adjusted performance, winrate, reward/risk, capital size, activity) and tag each with behavi

  • hl_coordination_scan

    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Find wallets in a cohort that hold near-identical directional exposure right now (high cosine similarity of their position vectors) — likely the same entity, a copy-bot, or a coo

  • hl_polymarket_divergence

    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Compare Polymarket price-threshold odds for a coin (e.g. 'BTC above $100k by date') against the probability implied by Hyperliquid's price + realized volatility. Surfaces cross-m

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account johnsmithxy1mmm-sys, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 575 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 30 tool descriptions and found no hidden instructions to the AI

Compared with others in Marketing & social mediai

  • More stars than 0% of the other 3605 servers in this category
  • Published to the registry more recently than 77% of the other 3605 servers in this category
  • Basic checks equal to or better than 100% of the other 3605 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is HyperSignal MCP safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: HL_AGENT_PRIVATE_KEY, X-API-Key

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.14.0) reached the registry 10 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

MCP YouTube Transcript

An MCP server retrieving transcripts of YouTube videos

by jkawamotoGrowing★ 495Updated 11 days ago

Runs on your computer

Google Analytics MCP

GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.

by surendranbGrowing↓ 1.1K/wk★ 244Updated 11 days ago

Runs on your computer

BibiGPT YouTube Video Summarizer

AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.

by JimmyLvGrowing★ 137Updated 11 days ago

Runs in the cloud✓ bibigpt.co

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

HyperSignal MCP

Monetized [MCP](https://modelcontextprotocol.io) server for Hyperliquid analytics & signals. Gives AI agents (Claude, Cursor, ChatGPT, autonomous trading agents) the Hyperliquid analytics that free open-source MCP servers don't have — whale-cohort signals, liquidation maps, funding screeners, HIP-3 analytics, and ready-made risk reports — plus an optional local trading tier that attaches a builder code to orders.

⚠️ Analytics, not investment advice. Trading tools place real orders and are irreversible.


Tiers & tools

Free (open-source parity — the hook)
ToolWhat it returns
hl_get_marketsPerp markets: mark/oracle price, hourly + annualized funding, OI, 24h volume; filter/sort
hl_get_orderbookL2 book (top-N levels), spread, mid
hl_get_candlesOHLCV candles by interval/range or lookback
hl_get_funding_historyFunding history + avg/cumulative
hl_get_accountPositions, equity, margin, liquidation prices for any address
hl_get_open_ordersOpen resting orders for any address
Premium (the differentiator — metered)
ToolWhat it returns
hl_whale_positionsAggregated cohort positioning by coin: net long/short, wavg entry, 1h/24h change
hl_whale_flow_alertsRecent large cohort position shifts above a USD threshold
hl_liquidation_mapLiquidation clusters (notional-at-risk by distance from mark), nearest cascades
hl_funding_screenerEvery perp screened by annualized funding + cross-venue spreads
hl_hip3_analyticsHIP-3 (builder-deployed / RWA / equity) perp metrics + external basis
hl_portfolio_riskLiquidation distance, effective leverage, concentration, stress scenarios, PnL Sharpe
hl_vault_screenerVaults by APR, max drawdown, Sharpe/Sortino, age, TVL, leader share
hl_trader_reportWallet breakdown: winrate, avg R, PnL curve, scalp/swing style, top coins
Agent-native (v0.3) — the differentiators
ToolTierWhat it does
hl_create_alert / hl_list_alerts / hl_delete_alertpremiumRegister/manage standing alerts (funding threshold, price move, whale net-flip). The server evaluates them on a schedule — it watches the market for your agent.
hl_poll_alertspremiumRetrieve fired alert events since your last poll (at-least-once), each with a signed signal payload.
hl_signal_track_recordpremiumTransparent, verifiable performance of emitted signals: hit-rate and avg/median direction-adjusted forward return per signal type.
hl_request_free_keyfreeSelf-serve API key — one call, no signup, grants 100 premium calls/month. Send it as X-API-Key. This is the intended first call for any new agent: premium tools point at it by name when they need a key.
hl_buy_propaid ($29, x402)Buy 30 days of Pro over x402 (USDC on Base): a new key, or the key in X-API-Key renewed (a free key is upgraded in place). Remote server only.
hl_signal_pubkeyfreeEd25519 public key to independently verify any signal's authenticity + timestamp.
hl_admin_statsfree (own gate)Operator only — requires adminSecret matching HYPERSIGNAL_ADMIN_SECRET. Per-key usage this billing period, top tools, active alerts, signal track record, x402 payment counts.
hl_smart_money_scorepremiumRank a cohort by a smart-money screening score (risk-adjusted perf + winrate + reward/risk + size + activity) with behavioral labels (whale, sharp, scalper, market_maker_like, high_conviction, …). A descriptive screener over past results — see hl_score_calibration before treating it as a forecast.
hl_score_calibrationfreeOut-of-sample evidence for the smart-money score: Spearman rank correlation between score and the realized forward return each wallet went on to earn (forward PnL over account value when sampled), p-value, and mean forward return per score quartile. Free on purpose — a claim about predictive power should be checkable before you pay for it. The server scores its own cohort daily, so this fills in whether or not anyone is calling the paid tool.
hl_coordination_scanpremiumFind wallets holding near-identical exposure (cosine similarity) — likely the same entity / copy-bot / coordinated group; returns clusters + strongest pairs.
hl_polymarket_divergencepremiumCompare Polymarket price-threshold odds against the probability implied by Hyperliquid price + realized vol — a cross-market mispricing edge no other MCP offers. Also audits the market's own price ladder for logically impossible orderings (a further threshold priced above a nearer one), collapses duplicate contract listings, reports each estimate's volatility-sensitivity range, and flags extreme tails where a diffusion model is blind to jump risk.

Every emitted signal is cryptographically signed and scored against forward price — a track record that can't be cherry-picked. Persistence (alerts, positioning snapshots, signals) is SQLite-backed and survives restarts.

Public proof, no key needed: the hosted server runs its own standing alerts (funding extremes on the top 10 perps by open interest, whale-cohort flips on BTC/ETH) and publishes their track record together with the score calibration and the signing key at /track-record (JSON). The same data is available to MCP clients as resources (hypersignal://about, ://track-record, ://calibration, ://signal-pubkey), plus three prompts: whale_briefing, wallet_risk_check, funding_carry_scan.

Trading (optional, local stdio only, builder code, maximum warnings)
ToolWhat it does
hl_place_orderLimit/market order via your agent wallet, builder code attached
hl_cancel_orderCancel by coin + order id
hl_close_positionReduce-only market close
hl_approve_builder_fee_guideRead-only — generates the approveBuilderFee payload/instructions for your main wallet
hl_twap_orderSlice a position into evenly-spaced child orders (TWAP) to minimize impact, builder code on each child
hl_copy_walletMirror a target wallet's positioning scaled to your equity (copy-trading), builder code attached
hl_execution_statusProgress of running TWAP/execution plans
hl_cancel_executionStop a running plan; slices not yet fired are dropped. A plan also stops by itself after 3 failed slices in a row

Trading defaults to dry-run (previews the exact signed action without sending). Submitting requires HL_ENABLE_TRADING=true + HL_AGENT_PRIVATE_KEY (env only) + confirm=true + dryRun=false. Every non-reduce-only order (including each TWAP slice and copy-trade leg) is capped at HL_MAX_ORDER_NOTIONAL_USD (default $10,000), which only the operator can raise. HIP-3 coins (xyz:XYZ100) trade on their builder dex, which keeps its own collateral (enable the unified account or transfer collateral to it) and may charge higher fees. Live HIP-3 orders also need HL_ENABLE_HIP3_TRADING=true: turn it on after a testnet run. Copy-trading mirrors main-dex positions only. Trading tools are never exposed on the remote HTTP server.


Try it on the hosted server

Nothing to install. Free tools work without a key. For the premium tools, call hl_request_free_key once: it returns a key with 100 premium calls a month, no signup.

Claude Code:

claude mcp add --transport http hypersignal https://hypersmash.fly.dev/mcp --header "X-API-Key: <your key>"

Cursor (.cursor/mcp.json):

{ "mcpServers": { "hypersignal": { "url": "https://hypersmash.fly.dev/mcp", "headers": { "X-API-Key": "<your key>" } } } }

Without a key the free tools still work; add the key after hl_request_free_key has issued one.


Install

Requirements

Node 20 or 22 LTS (Node 24 has no prebuilt better-sqlite3 binaries and requires a C++ toolchain — use LTS). npm install && npm run build.

Local (stdio) — free + trading, for Claude Desktop / Claude Code / Cursor

Claude Desktop (claude_desktop_config.json), from npm:

{

"mcpServers": { "hypersignal": { "command": "npx", "args": ["-y", "hypersignal-mcp"], "env": { "HL_NETWORK": "mainnet", "HL_BUILDER_ADDRESS": "0xYourBuilderAddress", "HL_ENABLE_TRADING": "false" } } } }

From a clone instead: "command": "node", "args": ["/absolute/path/to/HyperliquidMCP/dist/server-stdio.js"]. Cursor (.cursor/mcp.json) uses the same command/args/env shape.

Inspect locally:

npm run build && npm run inspect     # @modelcontextprotocol/inspector
Remote (Streamable HTTP) — free + premium, monetized
cp .env.example .env      # fill in keys / builder / x402

docker compose up -d # serves POST /mcp on :8080, GET /healthz

Point an MCP HTTP client at `https://your-host/mcp` and send `X-API-Key: <key>` (or `Authorization: Bearer <key>`).

Node's built-in fetch only honors HTTPS_PROXY when NODE_USE_ENV_PROXY=1 (Node ≥ 22.21).

Behind an egress proxy, set that env var.


Pricing

TierLimitPrice
anonymous (no key)free tools only—
free key100 premium calls/month$0
pro keyunlimited premium calls$29 per 30 days
x402 pay-per-callper premium call$0.01 USDC on Base

How to get each

  • Free key: call hl_request_free_key. Instant, no signup.
  • x402 pay-per-call: on the hosted server a premium call without a key answers with x402 payment requirements (0.01 USDC on Base, exact scheme); an x402-capable client signs the payment, retries with the X-PAYMENT header, and the call runs. The payment is settled only after the tool has delivered, so a failed call costs nothing.
  • Pro: call hl_buy_pro. It answers with x402 payment requirements ($29 in USDC on Base); an x402-capable client pays and retries with the X-PAYMENT header, and the answer carries your Pro key, valid for 30 days (shown once: keep it). Call it again with your key in X-API-Key to add 30 days to its end; a free key is upgraded in place and keeps its alerts. The key is activated before the payment is settled and a renewal only after, so a payment that fails costs nothing. Payments are final, there are no automatic refunds: if something went wrong, open an issue with the time of the payment. Without an x402 client, open an issue titled "Pro key request" instead and say how to reach you; never post a key in an issue. When a Pro key runs out it works like no key (free tools, x402 per call) and the error says how to renew; its alerts keep running for now.

For operators

  • API keys: provision via HYPERSIGNAL_PRO_KEYS / HYPERSIGNAL_FREE_KEYS (comma-separated raw keys, hashed before storage in SQLite; they never expire). Bought keys live in the same table with an end date, and every purchase is recorded in pro_purchases. Usage counters are per key, per month. A key removed from these lists is revoked on the next start, as long as at least one key stays listed: two empty lists read as a lost secret and revoke nothing.

Only the beginning is shown; read the rest in the repo

Ask PopNx