MCP.Market

SatRank — Lightning trust + audit oracle MCP server

by satrank.dev·dev.satrank/mcp·v1.0.1

Lightning trust + audit oracle. Score, pay, and audit L402 endpoints with Ed25519 receipts.

A86/100grade A
What users say
No reviews yet
Be the first
Safety scan
A86/100

full report

Adoption
Growing

0 stars51 downloads/wk

Reviews

Write one

Nobody has reviewed SatRank — Lightning trust + audit oracle yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

SatRank — Lightning trust + audit oracle tools (16, 1 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • aeps.daily_anchor

    Fetch the daily Merkle anchor for a UTC day. Returns operator_pubkey + root_hex + receipt_count + L1 broadcast info. Verifiers use this for receipt inclusion proofs.

  • aeps.evidence_receipt

    Fetch the Ed25519-signed evidence receipt for a fulfilled job. Same content as fulfill_evidence, addressable by job_id.

  • aeps.get_dispute

    Read the current state of an AEPS dispute. Returns dispute_id + type + multiplier + oracle_pubkeys + oracle_threshold + state + attestations.

  • aeps.get_multihop

    Read multi-hop HTLC chain state. Returns chain_id + agent_pubkey + per-leg state.

  • aeps.get_observations

    Return all observed daily anchors for a (operator, day) bucket, grouped by root_hex. distinct_roots > 1 = equivocation.

  • aeps.inclusion_proof

    Build the RFC 6962 audit path for a single evidence receipt against the day-Merkle root. Returns root_hex + audit_path[] + leaf_index + tree_size. Verifiers feed these to the AEPS Merkle verifier (TS or Rust impl) plus the L1 anchor txid to confirm the receipt is committed on-chain.

  • aeps.list_forks

    List detected fork events (operator equivocations). Optional operator_pubkey filter.

  • aeps.recent_anchors

    List the most recent N daily Merkle anchors. Default 30, max 366.

  • fulfillwrite action

    Pay an L402 endpoint via SatRank fulfill proxy with hold-invoice + auto-issued evidence receipt. Agent supplies intent + max_sats budget + max_latency_ms SLA ; SatRank picks best candidate, settles the L402 payment, returns body + body_sha256 + preimage + operator_pubkey + premium_sats + job_id. Refund on candidate failure. Use this when you want SatRank to write the post-pay evidence trail (Ed255

  • fulfill_evidence

    Fetch the public Ed25519-signed evidence receipt for a fulfill_jobs row by job_id. Returns canonical_json + signature + body_sha256 + operator_pubkey + ts_started + ts_finished + sats_paid. No auth required.

  • get_endpoint_score

    Read the public scoring snapshot for a specific L402 endpoint URL. Returns Bayesian p_success + ci95, 5-stage breakdown (challenge / invoice / payment / delivery / quality), median_latency_ms, last_probe_age_sec, freshness_status, source attribution. Use BEFORE calling fulfill on a specific URL to verify trust independently of the ranking.

  • intent

    Resolve an intent (category + keywords + budget + latency ceiling) into a ranked list of L402 endpoint candidates from the SatRank catalogue. Returns Bayesian p_success + ci95 + 5-stage breakdown per candidate. Use this BEFORE paying any L402 endpoint to pick the most trusted candidate that fits your budget + SLA. Free to call ; pass `fresh: true` to force a sync HTTP probe (costs 2 sats via /api/

  • mini_llm_classify

    SatRank-operated L402 endpoint : single-best-label classification (10 sats). Powered by Claude Haiku 4.5 server-side. Use when the public AI catalogue is over-priced (>30 sats/req) for classification. The MCP server forwards Authorization headers ; agent runtime supplies the L402 macaroon after paying the 402 challenge.

  • mini_llm_summarize

    SatRank-operated L402 endpoint : plain-prose summarization (10 sats). Powered by Claude Haiku 4.5 server-side. Use when the public AI catalogue prices summarization above your budget.

  • mini_llm_translate

    SatRank-operated L402 endpoint : translation (10 sats). POST text + target language code, get back translated text only.

  • verify_assertion

    Verify offline a SatRank-compatible Nostr trust assertion (kind 30782) or oracle calibration (kind 30783). Validates Schnorr signature + structure + valid_until tag. No network call. Use to compose oracle output across agents without re-querying SatRank.

Public scan report

scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it

no findings
  • Code scan3 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 77 days ago12/15
  • Maintainer identitynamespace and repository owner differ; GitHub account older than a year; website matches verified namespace7/10
Overall 86/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How SatRank — Lightning trust + audit oracle compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
86/100
higher than 72% of 48,255 servers
Tools
16
the typical server has 7
Tools that change things
6%
typical: 0%. Fewer write tools means less an agent can break
Downloads a week
51
more than 43% of 12,191 servers with a package

What its tools let an agent do: 15 read · 1 change

Install SatRank — Lightning trust + audit oracle in Claude Code, Cursor or VS Code

Runs npx -y satrank-mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add mcp -- npx -y satrank-mcp
Add to Cursor

What the publisher says

From the SatRank — Lightning trust + audit oracle repository's README, as published. We do not edit it. Read it on GitHub

SatRank

Lightning trust oracle for AI agents on L402. Bitcoin-pure.

What this does

  • Crawls the L402 ecosystem (l402.directory + RSS + DNS) to build a catalogue of paid endpoints.
  • Probes each endpoint, classifying outcomes across 5 stages: challenge / invoice / payment / delivery / quality.
  • Scores every (endpoint, stage) pair as a streaming Beta(α, β) posterior. The end-to-end success probability is the product of stage means.
  • Ranks candidates on POST /api/intent (paid 2 sats via L402): an agent passes a category + budget + SLA, gets back the top-K endpoints with full Bayesian breakdown.
  • Publishes signed Nostr trust assertions (kind 30782) so any agent can cache / verify SatRank's output offline.

Public endpoints

Doc surfaces:

GET  /                                 landing page (static HTML)
GET  /methodology                      technical reference (static HTML)
GET  /api                              API reference (static HTML)
GET  /openapi.json                     OpenAPI 3.0 spec (machine-readable)

Functional API (nine routes — POST /api/intent is the only L402-gated one):

POST /api/intent                       paid, 2 sats via L402
POST /api/deposit                      free, mint a multi-use deposit macaroon (10–10000 sats, 30-day TTL)
GET  /api/deposit/:macaroon_id         free, read remaining balance
GET  /api/services/:url_hash           free, per-endpoint score snapshot
GET  /api/services/categories          free, list of catalogue categories
GET  /api/services/best                free, top-3 per category (5-min cache)
GET  /api/oracle/budget                free, last 24h revenue + paid-probe spend
GET  /health                           free, liveness
GET  /.well-known/satrank-key          free, oracle pubkey for offline verify

Deposit macaroons let an agent pre-pay N sats once and use the bearer preimage across many /api/intent calls without a Lightning round-trip per call. Authorization: L402 deposit_:.

MCP

Three tools for any MCP-compatible AI runtime (Claude Code, Cursor, Codex, n8n):

intent              forwards POST /api/intent (paid)
get_endpoint_score  forwards GET /api/services/:url_hash (free)
verify_assertion    offline Schnorr verification of kind 30782 (no network)

Install in Claude Code:

claude mcp add satrank -- npx -y satrank-mcp

Self-hosters point SATRANKAPIBASE at their own deployment.

Architecture

14 source files + 4 doc surfaces (3 HTML pages + OpenAPI spec). Read top-to-bottom in 30 minutes.

src/
├── types.ts             Stage, Posterior, Endpoint, Observation
├── config.ts            zod env schema, parsed once at boot
├── logger.ts            JSON-line stdout
├── db.ts                pg Pool + idempotent schema bootstrap
├── schema.sql           9 tables in ONE file (no migrations folder)
├── lnd.ts               minimal LND REST client (addInvoice + payInvoice)
├── ssrf.ts              RFC1918 + link-local + IPv6 ULA URL guard
├── nostr.ts             kind 30782 sign + publish + offline verify
├── scoring.ts           Beta(α,β) per stage, Wilson CI95, ranker
├── probe.ts             HTTP probe with optional L402 pay
├── crawler.ts           l402.directory + RSS + DNS + cron
├── api.ts               Express; 9 functional routes + 4 doc surfaces, native L402 paid gate, deposit credits
├── mcp.ts               MCP server, 3 tools, ships verbatim to npm
├── landing.html         static landing served at GET /
├── methodology.html     technical reference served at GET /methodology
├── api-reference.html   API reference served at GET /api
├── openapi.json         OpenAPI 3.0 spec served at GET /openapi.json
└── index.ts             boot + shutdown

Run it

cp .env.example .env
# minimum: set DATABASE_URL

npm install
npm run build
npm start

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

SatRank — Lightning trust + audit oracle: common questions

Is SatRank — Lightning trust + audit oracle MCP server safe?
Yes, by our scan: it is graded A (86/100). Read the SatRank — Lightning trust + audit oracle safety report
How do I install SatRank — Lightning trust + audit oracle?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does SatRank — Lightning trust + audit oracle need an API key?
No secret keys are declared. It reads 1 setting from the environment.
Is SatRank — Lightning trust + audit oracle maintained?
The last commit was 114 days ago (2026-07-13). The latest release is v1.0.1.
How does SatRank — Lightning trust + audit oracle compare with other MCP servers?
safety score 86/100 (higher than 72% of 48,255 servers); tools 16 (the typical server has 7); tools that change things 6% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.