Annalist

io.github.ryanroskowskiPublished by GitHub account ryanroskowskiv0.16.0Updated Oct 25, 2026

Signed data for agents: agentic-commerce census, dependency digest, x402/MCP checks, Hyperliquid

VerifiedStreamable HTTPWeb executableFinanceDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

Annalist is a remote MCP server serving signed market, dependency, API and x402/MCP trust data to AI agents, with per-call USDC pricing on some tools.

What you can do
Query Hyperliquid perpetuals: crowd states, smart-money positioning, liquidation levels, HIP-3 stock/index perps, outcome markets and the HLP vault, with historical base rates and backtesting archives. Check x402 services and sellers: uptime, price and payout-wallet matches, wash-adjusted usage, price history and benchmarks. Vet remote MCP servers: uptime, sign-in mode, tool counts and tool-definition changes, plus leaderboards and change feeds. Track dependencies and supply chains: npm, PyPI, crates.io and Go package changes, public API contract changes, AI model prices and retirement dates. Survey agentic commerce: a weekly census of 65,000 top sites, store checkout readiness and AI crawer
When to use it
Use it when an agent needs signed, timestamped reference data before trading Hyperliquid perps, paying an x402 service, connecting to an unfamiliar MCP server, upgrading dependencies, or assessing a store's agent checkout readiness. The free tools let you sample the data before paying.
Requirements
Remote streamable HTTP endpoint at api.annalist.dev; no account, environment variables or headers declared. Many tools are paid per call in USDC via x402 on Base or Solana, so a funded wallet and x402-capable client are needed for those; several tools are free.
Before you install
Many tools charge per call in USDC via x402 (for example $0.005 to $0.05), so repeated polling spends money. Data is market and third-party reference information and the server states it is not investment advice. Signatures and Bitcoin timestamps can be verified against the published public keys and OpenTimestamps proofs.

Installation

In SourceWeft

  1. Open Annalist in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.ryanroskowski%2Fannalist/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "annalist": {
      "type": "http",
      "url": "https://api.annalist.dev/mcp"
    }
  }
}

README

Annalist ledger

Annalist (annalist.dev) keeps an append-only archive of crowd-state data for AI agents. This public repository is its ledger: once a day it records a fingerprint of everything the archive wrote the day before, signed and timestamped in Bitcoin. It lets anyone check that a record existed on a given date, so the history cannot have been backfilled or quietly edited later.

What is in it

  • ledger/YYYY/MM/YYYY-MM-DD.json: one entry per UTC day.
    • entry.manifests: every run manifest written that day, each with the sha256 of the manifest file.
    • entry.root: sha256 of the manifest hashes joined by newlines, in the listed order.
    • signature: Ed25519 over the canonical JSON of entry (keys sorted, no spaces, UTF-8).
  • ledger/YYYY/MM/YYYY-MM-DD.json.ots: an OpenTimestamps proof that the entry file existed at that time. Proofs start as pending and are upgraded to full Bitcoin attestations within a day or two.
  • keys/<key_id>.json: public signing keys. The current key is 187e49f200625a2f.

Each run manifest in turn lists every archive file written by that run with its sha256 and size, and is signed with the same key. Data responses served by the Annalist API carry the same kind of signature.

Verifying

  1. Check the timestamp: ots verify ledger/2026/10/2026-10-13.json.ots (needs the OpenTimestamps client and a Bitcoin block source, or use opentimestamps.org).
  2. Check the signature: verify signature against the canonical JSON of entry with the public key in keys/.
  3. Given a manifest from the archive, hash its file bytes with sha256 and find that hash in the day's entry.

Contact

Open an issue on this repository.

Source: README.md at commit 9520aba

Tools

43

perp_full

Everything on one Hyperliquid perp

One call, one payment for everything on a Hyperliquid perpetual: crowd state with base rates for what usually followed (as /v1/crowd/perp), smart-money positioning (as /v1/smart/perp) and liquidation levels with order-book depth (as /v1/liq/perp), each with its own as_of. Cheaper than buying the three separately. Signed. Not investment advice. Price: $0.03 USDC per call via x402 (Base or Solana).

Parameterscoinrequired

crowd_perp

Crowd state for one Hyperliquid perp

Use before acting on a Hyperliquid perpetual to see whether it is crowded or in a hype state and what historically followed. Returns 7-day move, funding (hourly, APR, percentile vs its own 90 days and vs all perps), open interest and its 24h/7d change, premium, Wikipedia attention, active crowd states, and each state's base rates (sample size, median and spread of 7/30/90-day returns). Signed. Not investment advice. Price: $0.01 USDC per call via x402 (Base or Solana).

Parameterscoinrequired

crowd_states

All perps in a crowd state

Every Hyperliquid perp currently in a crowd state (7-day moves of +50/+100/+200%, funding in its own top or bottom 5%, Wikipedia attention spikes, new listings), ranked by 7-day move, each with base rates for what followed similar states historically. Optional ?state= filter. Signed. Not investment advice. Price: $0.02 USDC per call via x402 (Base or Solana).

Parametersstate

crowd_market

Market-wide crowding

Market-wide crowding on Hyperliquid: breadth of 7-day moves, how many perps are up 50%+/100%+ in a week, share of perps with funding in their own top/bottom 5%, total open interest and its 24h change, BTC and ETH funding percentiles, and Wikipedia attention to cryptocurrency. Signed. Not investment advice. Price: $0.01 USDC per call via x402 (Base or Solana).

Takes no parameters.

crowd_changes

Crowd-state events since a time

For bots that poll: crowd-state events (a perp entering or leaving a state) since a timestamp, newest first, up to 7 days back. Each event is signed with the mark price at the time. Not investment advice. Price: $0.005 USDC per call via x402 (Base or Solana).

Parameterssincerequired

crowd_history

Historical crowd-state events

Signed historical crowd-state events for backtesting: up to 30 days per call, optionally filtered by coin and state. The archive is append-only and its daily hashes are published and Bitcoin-timestamped. Price: $0.05 USDC per call via x402 (Base or Solana).

Parameterstorequiredcoinfromrequiredstate

smart_perp

Smart-money positioning for one perp

Use before acting on a Hyperliquid perpetual to see how its most profitable traders are positioned: how many wallets in a 200-wallet smart-money cohort are long vs short, long, short and net USD, the 24h change, concentration, leverage settings, share of open interest, and how that compares with the crowd (funding, 7-day move). Flags smart money positioned against a crowded move. Aggregates only, never wallet addresses. Signed. Not investment advice. Price: $0.01 USDC per call via x402 (Base or Solana).

Parameterscoinrequired

smart_market

Smart-money positioning across all perps

Where Hyperliquid's most profitable traders are positioned across all perps: the cohort's overall net long or short, the coins it is most net long and most net short, the biggest 24-hour changes, and coins where smart money is positioned against the crowd. Cohort definition included. Aggregates only. Signed. Not investment advice. Price: $0.02 USDC per call via x402 (Base or Solana).

Takes no parameters.

liq_perp

Liquidation levels and order-book depth for one perp

Use before opening, sizing or holding a Hyperliquid perpetual position to see where forced selling or buying would hit: known longs liquidating within 1 to 20% below the mark and shorts above it, the biggest clusters, and coverage of open interest, set against order-book depth, spread and slippage as cascade ratios. Flags long_cascade_risk, short_squeeze_risk, thin_book. From large accounts' public positions. Aggregates only. Signed. Not investment advice. Price: $0.02 USDC per call via x402 (Base or Solana).

Parameterscoinrequired

liq_market

Liquidation pressure across the largest perps

Liquidation pressure across Hyperliquid's largest perps: for each, the known longs liquidating within 5% below the mark and shorts within 5% above it, cascade ratios against order-book depth, 2% depth, how much of open interest the known positions cover, and flags; plus the coins with the most liquidations nearby. Aggregates only. Signed. Not investment advice. Price: $0.03 USDC per call via x402 (Base or Solana).

Takes no parameters.

hip3_perp

One builder-deployed stock, index, commodity or FX perp

Use before trading a stock, index, commodity or FX perpetual on Hyperliquid (builder-deployed, HIP-3; coins like xyz:NVDA, xyz:GOLD, xyz:SP500): price and 1h, 24h, 7d and 30d moves, volume, open interest and its 24h change, how close it is to its open-interest cap, funding (hourly, APR, percentile vs its own 30 days), premium and max leverage, with flags. Signed. Not investment advice. Price: $0.01 USDC per call via x402 (Base or Solana).

Parameterscoinrequired

hip3_market

All builder-deployed perps

Overview of every builder-deployed (HIP-3) perpetual on Hyperliquid, mostly 24/7 stock, index, commodity and FX markets: each exchange's markets, open interest and volume; the largest and most traded markets; the biggest 24h moves; funding extremes; markets near their open-interest cap; and flags. Signed. Not investment advice. Price: $0.02 USDC per call via x402 (Base or Solana).

Takes no parameters.

outcomes_list

Live outcome (prediction) markets

Every live Hyperliquid outcome (prediction) market: readable title, category (sports, price, ipo, policy_rate, awards), deadline, each side's price as implied probability with its 24h change, and 24h volume, most traded first. Filter with category and q (text search). On-chain data. Signed. Not investment advice. Price: $0.02 USDC per call via x402 (Base or Solana).

Parametersqcategory

outcomes_market

One outcome market with a week of prices

One Hyperliquid outcome (prediction) market by id: readable title, structured details (teams, thresholds, deadlines, official source), each side's implied probability, 24h change, volume and outstanding value, its question, and a week of hourly prices per side. Ids come from /v1/outcomes/list. Signed. Not investment advice. Price: $0.01 USDC per call via x402 (Base or Solana).

Parametersidrequired

checks_service

Checks for an x402 service

Use before paying an x402 service: independent checks by host or URL. Uptime and latency from repeated unpaid probes, whether the quoted price and payout wallet match the listing, real on-chain usage over 30 days with fake volume removed (self-funded payers, crawler bots, one-wallet dominance), test purchases and domain age, with a grade and reasons. Rankings are never for sale. Signed. Price: $0.01 USDC per call via x402 (Base or Solana).

Parametersurlhost

checks_seller

Checks for an x402 seller wallet

Checks for an x402 seller wallet on Base: the services that pay out to it and their grades, and USDC received over 30 days with payers, repeat payers and fake-volume signals (payers the seller funded, crawler bots, one-wallet dominance). Signed. Price: $0.01 USDC per call via x402 (Base or Solana).

Parametersaddressrequired

checks_top

x402 service leaderboards and flags

Leaderboards from our independent checks of x402 services: most real (wash-adjusted) paying customers, most reliable, and flagged services (price or wallet mismatches, outages, mostly bot traffic, self-funded volume), with the method. With category= (shopping, ai-inference, crypto-data...), one category's boards. Rankings are never for sale. Signed. Price: $0.02 USDC per call via x402 (Base or Solana).

Parameterscategory

checks_changes

What changed in x402 listings

What changed in x402 service listings, from daily snapshots of Coinbase's Bazaar: price raises and cuts, endpoints added and dropped, new and departed services, and payout-wallet changes (worth checking before paying: a hijacked listing looks the same as a rotated wallet). Market-wide for the last 1 to 7 days, or one service's 30-day change log with host=. Signed. Price: $0.01 USDC per call via x402 (Base or Solana).

Parametersdayshost

mcp_server

Checks for a remote MCP server

Use before connecting a remote MCP server: independent checks by registry name or URL. Uptime and connect time from daily probes (initialize and tools/list; no tool is ever called), sign-in mode, protocol version, tool count, and tool-definition changes in 30 days (how 'rug pull' attacks work), with domain age, a grade and reasons. Covers remote servers in the Official MCP Registry. Signed. Price: $0.01 USDC per call via x402 (Base or Solana).

Parametersurlname

mcp_top

MCP server leaderboards and tool changes

Leaderboards from our independent checks of remote MCP servers in the Official MCP Registry: most reliable (up in 99%+ of probes, fastest first), servers whose tool definitions changed in the last 7 days, flagged servers (often down, new domains), and counts by sign-in mode, with the method. Rankings are never for sale. Signed. Price: $0.02 USDC per call via x402 (Base or Solana).

Takes no parameters.

mcp_changes

Tool changes across MCP servers

Tool changes across remote MCP servers in the Official MCP Registry, newest first: tools added, removed or redefined (description, input schema or annotations), from our daily fingerprints. A tool that changes after you approved it is how 'rug pull' attacks work, so check before trusting a server again. Last 1 to 30 days, or one server with name= or url=. Servers whose tools change by design are marked. Signed. Price: $0.01 USDC per call via x402 (Base or Solana).

Parametersurldaysname

web_readiness

Can an agent shop on this site?

One site's agent readiness from our weekly census of 65,000 top sites: UCP and ACP agent checkout (its MCP endpoint, capabilities, payment handlers), A2A and MCP cards, a real llms.txt, robots.txt rules for 15 AI agents, x402, store and platform, Shopify store facts (ships-to countries, currency), and every change dated. A site not yet in the census is visited live. Measured by us. Signed. Price: $0.005 USDC per call via x402 (Base or Solana).

Parametersdomainrequired

web_census

Agentic-commerce readiness census

Our weekly census of 65,000 top sites: how many sites and stores publish UCP or ACP agent-checkout profiles, agent and MCP cards and llms.txt, which AI crawlers stores block, store platforms, and changes in the last 30 days. With signal=, the stores that have it (for example signal=ucp), most-linked first. Signed. Price: $0.01 USDC per call via x402 (Base or Solana).

Parameterssignalplatform

deps_digest

What changed in my dependencies

One call for all of an agent's dependencies: npm, PyPI, crates.io and Go packages (new publishers, install scripts, license changes), public API contracts (breaking changes), AI models (retirement dates, price changes), MCP servers (tool changes, uptime) and x402 services (wallet and price changes, flags), for the last 1 to 30 days, with what needs attention first. Signed. Price: $0.02 USDC per call via x402 (Base or Solana).

Parametersgomcpnpmapisdayspypix402cratesmodels

commerce_stores

Find stores an agent can buy from

Stores from our weekly census of 65,000 top sites, filtered by what a shopping agent needs: ships to a country, UCP agent checkout and its capabilities, payment handlers (Google Pay, Shop Pay), currency, return window. Facts from each store's own machine-readable files, never its policy pages. Most visited first. Signed. Price: $0.01 USDC per call via x402 (Base or Solana).

Parameterslimitpaymentcurrencyplatformships_tocapabilityagent_checkoutmin_return_days

apis_changes

Contract changes in public APIs

Dated contract changes in widely used public APIs (Stripe, GitHub, OpenAI, Twilio, Slack, Plaid, Datadog and more), from their published OpenAPI descriptions read daily: operations, parameters and request fields added, removed or newly required, each change marked breaking or not. Last 1 to 90 days, one API with api=, or only breaking changes with breaking=true. Signed. Price: $0.01 USDC per call via x402 (Base or Solana).

Parametersapidaysbreaking

apis_api

One public API's contract record

One watched public API's contract record: current version, operation count and keys, deprecated operations, security schemes, and every dated change in the last 90 days with what broke. From the provider's published OpenAPI description, read daily. Without name=, lists the APIs we watch. Signed. Price: $0.005 USDC per call via x402 (Base or Solana).

Parametersname

ai_retirements

AI model retirement calendar

Retirement calendar for AI models across platforms: shutdown dates, 'not sooner than' floors, states and recommended replacements from the official Anthropic, OpenAI and Amazon Bedrock deprecation pages, plus Azure, Vertex, Gemini and others, recorded daily so moved dates show. The same model often retires on different dates on different platforms. One model with model=, or upcoming shutdowns. Signed. Price: $0.005 USDC per call via x402 (Base or Solana).

Parametersdaysmodelplatform

ai_prices

AI model prices across providers

AI model prices per million tokens (input, output, cache, batch) with context window, for about 4,000 models across providers. With model=: its price history and the same model on other providers. Without: a list filtered by provider, mode, min_context and max_input price, sorted by input, output or context. History from January 2026. Source: LiteLLM's open price file (MIT). Signed. Price: $0.01 USDC per call via x402 (Base or Solana).

Parametersmodesortlimitmodelprovidermax_inputmin_context

ai_changes

Recent AI model price changes

Recent changes to AI model prices and availability across providers, newest first: price cuts and raises per field (with the change), models added and removed, context-window changes and deprecation dates, for the last 1 to 90 days, optionally by provider or model name. Source: LiteLLM's open price file (MIT), recorded daily. Signed. Price: $0.01 USDC per call via x402 (Base or Solana).

Parametersdaysmodelprovider

packages_check

Supply-chain check of an npm, PyPI, Rust or Go package

Supply-chain check of a popular package (the 8,000 most used on each of npm, PyPI, crates.io and Go): latest version and release activity, maintainers or owners, install scripts, provenance, deprecation, retractions, and what changed since we began tracking it daily: releases by a new publisher account, owner changes, install scripts added, provenance dropped, source repository moved, yanks. Account names are never published. Signed. Price: $0.01 USDC per call via x402 (Base or Solana).

Parametersnamerequiredecosystem

packages_watch

Supply-chain watch: popular packages that changed hands

Supply-chain watch across the 8,000 most-used packages on each of npm, PyPI, crates.io and Go, newest first: releases by a new publisher account, maintainer and owner changes, install scripts added, provenance dropped, source repositories moved, retractions, deprecations and yanks, with counts, for the last 1 to 30 days (days=, default 7), for one ecosystem or all. Signed. Price: $0.02 USDC per call via x402 (Base or Solana).

Parametersdaysecosystem

prices_service

Price history of an x402 service

Price history of an x402 service by host or URL: each listed endpoint's price, first-seen date and changes, price changes in 30 days (raised, lowered, delisted), the prices it actually quoted when we called it, and where it sits against similar services by category (market median and percentile). Signed. Price: $0.01 USDC per call via x402 (Base or Solana).

Parametersurlhost

prices_benchmarks

What x402 services charge, by category

Price benchmarks for x402 services by category (seller tags such as search, llm, weather, market-data): how many services, price percentiles (each service counted once, at its median), and 7- and 30-day trends. Add price= to see where a price sits. Without tag: every category. Signed. Price: $0.01 USDC per call via x402 (Base or Solana).

Parameterstagprice

hlp_vault

HLP vault: size, returns and net positions

Hyperliquid's own market-making vault (HLP), which takes over liquidated positions: account value, APR, PnL over a day, week, month and all time, and its net position per coin across all its sub-vaults, with the most long, most short and biggest 24h changes. Shows where the exchange itself is exposed. Signed. Not investment advice. Price: $0.01 USDC per call via x402 (Base or Solana).

Takes no parameters.

annalist_about

What Annalist offers (free)

Free. What Annalist is, every tool and its price, how payment works (x402, USDC on Base), and how fresh the data is.

Takes no parameters.

annalist_baserates

Base-rate tables (free)

Free. Historical base rates for every crowd state: sample size, median and spread of later returns, chance of further run-ups. Optional state filter.

Parametersstate

annalist_market_sample

Market view, 24h delayed (free)

Free. The crowd_market view as it was 24 hours ago, to evaluate the data before paying.

Takes no parameters.

annalist_verify_service

Check an x402 service before paying it (free)

Free. Before paying an x402 service, get its signed Annalist check: grade, key facts (uptime, price and wallet match its listing, organic paying customers, test purchases) and reasons. The statement is signed; verify it with the key at /.well-known/annalist-key.json.

Parametershostrequired

annalist_verify_mcp

Check an MCP server before connecting it (free)

Free. Before connecting an MCP server, get its signed Annalist check: grade, uptime over 7 days, connect time, sign-in mode, tool count, whether its tools changed recently (the 'rug pull' pattern) and reasons. By registry name (io.github.user/server) or URL. Verify the signature with the key at /.well-known/annalist-key.json.

Parametersurlname

annalist_verify_store

Check a website before shopping there (free)

Free. Before an agent shops on a website, get its signed Annalist check from our weekly commerce census: is it a store, does it take agent checkout (UCP or ACP) and at which MCP endpoint, which payment handlers, how many countries it ships to, and which AI agents its robots.txt blocks. Verify the signature with the key at /.well-known/annalist-key.json.

Parametersdomainrequired

annalist_weekly_report

The Annalist weekly (free)

Free. This week in the agent economy and the markets agents trade: x402 services listed, new and gone, price changes, typical prices by category, the services with the most real paying customers, MCP server health and tool changes, and a Hyperliquid summary. Optional date (YYYY-MM-DD) for an earlier week.

Parametersdate

annalist_track_record

Live track record (free)

Free. Every crowd-state event's later outcome, compared with its backtest base rate.

Takes no parameters.

Version history

6
  1. v0.16.0LatestOct 15, 2026
  2. v0.15.0Oct 15, 2026
  3. v0.13.0Oct 14, 2026
  4. v0.12.0Oct 13, 2026
  5. v0.7.0Oct 13, 2026
  6. v0.2.0Oct 12, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.