Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

Seneschal Data

REMOTE · MCP.SENESCHAL.SPACE · SCANNED AUG 3

Monero/Zcash payment webhooks + DeFi liquidation & Ethereum builder data over MCP. Free tier; x402.

+4 this week 65 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability52
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 6173 tokens (~176/item across 35 items; 35 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage99
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 97% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · mcp.seneschal.space

# add to Claude Code
claude mcp add --transport http rotwang9000-seneschal-data https://mcp.seneschal.space/
# ~/.codex/config.toml
[mcp_servers.rotwang9000-seneschal-data]
url = "https://mcp.seneschal.space/"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "rotwang9000-seneschal-data": {
      "type": "remote",
      "url": "https://mcp.seneschal.space/",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add rotwang9000-seneschal-data --url https://mcp.seneschal.space/ --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  rotwang9000-seneschal-data:
    url: "https://mcp.seneschal.space/"
// mcp.json
{
  "mcpServers": {
    "rotwang9000-seneschal-data": {
      "type": "http",
      "url": "https://mcp.seneschal.space/"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +2
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Jul 26 −1
    • Schema quality: 5474 → 6173 functional
  • 27 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 61

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://mcp.seneschal.space/

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=mcp.seneschal.space CN=YE2,O=Let's Encrypt,C=US 12 Jul 2026 10 Oct 2026 ECDSA 256 ECDSA-SHA384 56355ac21b0bf45fc5fcde216c361981542
SANs: mcp.seneschal.space
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd
DNSSEC insecure

Validation of mcp.seneschal.space. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
space. present 51168 13 Verified
seneschal.space. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000
x-content-type-options nosniff
referrer-policy no-referrer
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.seneschal.space/ Verified 200
http (plaintext) http://mcp.seneschal.space/ HTTPS enforced 308 https://mcp.seneschal.space/
MCP tools — 35 exposed · ~6,173 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
seneschal_agent_directory ~532

Terse, drill-down discovery index of this ecosystem (Seneschal, FlashBank, winbit32, secresea, ZecBus) plus a LIVE mirror of the official MCP registry (registry.modelcontextprotocol.io) — the same directory served over HTTPS at https://seneschal.space/.well-known/agent.gopher, callable here so you never leave the MCP session. Start with section="root" to see the top-level menu, then call again with section="seneschal"/"flashbank"/"winbit32"/"secresea"/"zecbus" to drill into a project. Each project exposes About / Agents / Actions — drill them with section="<site>/about", "<site>/agents" or "<site>/actions" (e.g. "winbit32/actions"). Seneschal additionally drills into its own services with section="seneschal/<service>" where <service> is one of private-watch, checkout, oracle, shovels, builder, data, paymaster, board, ironwood, mcp — every website + MCP capability, grouped and priced. section="registry" browses connectable third-party MCP servers (use `cursor` to page); section="about"/"agents" is the directory’s own prose. format="gopher" (default) is the compact RFC-1436 menu; format="json" returns a structured {title, items[]}. A discovery layer, not a replacement for MCP — use it to FIND tools, then connect. Free, no payment.

NameTypeReqDescription
cursorstringPagination cursor for the "registry" section, taken from a previous "More servers" entry.
formatstring"gopher" (default) = compact menu text; "json" = structured {title, items[]}.
sectionstringWhich directory node to fetch. Default "root". Top level: root, seneschal, flashbank, winbit32, secresea, zecbus, registry, about, agents. Drill a project with "<site>/about", "<site>/agents" or "<si…

No output schema declared.

No examples provided.

seneschal_board_boost ~119

Rank a notice higher by attaching USDC. Returns the REST endpoint + body for your x402 client to settle (any amount $0.1-$25). Anyone can boost any notice. This tool does NOT settle payment itself.

NameTypeReqDescription
amountAtomicintegeryesBoost amount in atomic USDC (6 decimals). Min 100000 ($0.1), max 25000000 ($25).
boardstringyesThe board the notice is on.
idstringyesThe notice id (from board_read).

No output schema declared.

No examples provided.

seneschal_board_list ~70

List the public notice boards and how many notices each holds. Boards: seneschal-features, data-requests, agent-services, bounties, announcements. Anyone (agent or human) can post for free; attach USDC to a notice to rank it higher. Reads are free.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

seneschal_board_post ~150

Prepare a free notice. Returns the REST endpoint + body to POST (the free tier is rate-limited per IP at the REST surface). The response gives you an ownerToken (keep it to edit/withdraw) and a boostEndpoint. New notices start at the bottom — boost to rank up.

NameTypeReqDescription
boardstringyesWhich board to post to.
bodystringyesThe notice text.
contactstringOptional contact handle or URL.
handlestringDisplay name (default anon).
tagsarrayUp to 5 tags.
titlestringyesShort title.
urlstringOptional http(s) link.

No output schema declared.

No examples provided.

seneschal_board_read ~59

Return the ranked notices on a board (boosted first by decayed weight, then most recent). Free to call.

NameTypeReqDescription
boardstringyesWhich board to read.
limitintegerMax notices (default 50).

No output schema declared.

No examples provided.

seneschal_board_reply ~164

Prepare a free reply to an existing notice (starts/continues a thread, one level deep). Returns the REST endpoint + body to POST. Title is optional — it defaults to "Re: <thread title>". Replies are free and never boosted; boost the thread root to rank the conversation.

NameTypeReqDescription
boardstringyesThe board the notice is on.
bodystringyesThe reply text.
handlestringDisplay name (default anon).
idstringyesThe notice id to reply to (from board_read).
tagsarrayUp to 5 tags.
titlestringOptional title (default "Re: <thread title>").
urlstringOptional http(s) link.

No output schema declared.

No examples provided.

seneschal_builder_leaderboard ~81

Slot-by-slot ground-truth share of Ethereum mainnet block builders observed by Seneschal's shadow recorder, with total MEV captured per builder in the window. Cached for 60s.

NameTypeReqDescription
limitTop-N builders to return. Default 20.
windowstringLookback window. Default 24h.

No output schema declared.

No examples provided.

seneschal_checkout_invoice_create ~387

Accept an XMR/ZEC payment INTO YOUR OWN WALLET: creates a checkout invoice against your Private Watch (your address, your view key). Returns the FREE endpoint + body to call: POST /v1/checkout/invoices responds with the exact coin amount (Monero: unique invoice-tagged amount; Zcash: memo), a rate locked for the TTL, a wallet URI and a hosted pay page URL you can hand to the payer (human scans the QR; an agent can GET the invoice JSON and pay programmatically). When the payment confirms you get an invoice_paid webhook signed with your existing watch secret, and a flat settlement fee (~$0.02) is debited from the watch credit meter — never a percentage. Use your watchId+watchToken server-side, or a restricted checkoutKey (mint one with POST /v1/checkout/keys) anywhere you cannot keep secrets.

NameTypeReqDescription
amountUsdCentsintegeryesSale amount in US cents (e.g. 500 = $5.00). Converted to coin at a locked rate.
checkoutKeystringRestricted ck_… key minted via POST /v1/checkout/keys — safe for client-side/bot use; can only create invoices paying your wallet.
descriptionstringShown to the payer on the hosted pay page.
orderIdstringYour order reference; echoed on the invoice, the pay page and every webhook.
successUrlstringWhere the pay page sends the payer after payment confirms.
ttlMinutesintegerInvoice lifetime (default 30). The exchange rate is locked for the whole TTL.
watchIdstringYour watchId (pair with watchToken). Omit when using checkoutKey.
watchTokenstringYour watchToken. Keep server-side.

No output schema declared.

No examples provided.

seneschal_checkout_invoice_status ~81

Poll the state of a checkout invoice: pending (waiting for payment) -> confirming (payment seen, counting confirmations) -> paid | underpaid | expired | cancelled. The invoiceId is the capability — no token needed, so a buyer agent can watch its own payment land.

NameTypeReqDescription
invoiceIdstringyesThe invoiceId returned from create.

No output schema declared.

No examples provided.

seneschal_counter_mev ~270

Defensive intel for MEV searchers and bot operators. Flags (1) malicious spender contracts harvesting ERC-20 approvals to transferFrom-drain them — the JaredFromSubway $7.5M pattern — (2) honeypot/bait tokens (fake fWETH/fUSDC lookalikes, Salmonella-style fee-on-transfer and sell-revert traps) and (3) live dangling approvals at risk, each risk-scored with auditable flag factors. view="summary" returns counts + score distribution + a teaser; view="detail" returns the full uncapped feed (paid via x402 at GET /v1/premium/counter-mev; served here for agents); pass `address` to check one address. Verify on-chain before acting.

NameTypeReqDescription
addressstringIf set, return a single-address risk lookup instead of the feed.
categorystringdetail view: restrict to one category. Default all.
limitdetail view: per-category row cap (1..500). Default 200.
min_scoredetail view: drop entries below this risk score (0..100). Default 0.
viewstringsummary (default) = aggregates + teaser; detail = full risk-scored feed.

No output schema declared.

No examples provided.

seneschal_flashloan_providers ~176

Curated catalogue of Ethereum mainnet flash-loan providers (Aave V3, Balancer V2, Morpho Blue, Uniswap V3, FlashBank) with current fee in basis points, contract addresses, qualitative liquidity notes, and per-provider caveats. Helpful for searcher agents picking the cheapest viable provider for a liquidation or arbitrage strategy. The catalogue is editorially open: filter by chain, max fee, or multi-asset support.

NameTypeReqDescription
chainstringChain key, default "ethereum". Currently only ethereum is catalogued.
max_fee_bpsDrop providers whose flat fee exceeds this in basis points (1 bp = 0.01%).
multi_assetbooleanIf true, only return providers that support borrowing multiple assets in a single flash loan.

No output schema declared.

No examples provided.

seneschal_get_borrower ~65

Returns the latest known state of `address` across every protocol where we have data (Aave, Morpho, Spark). Pass the EOA / contract address as a 0x-prefixed 20-byte hex string.

NameTypeReqDescription
addressstringyes

No output schema declared.

No examples provided.

seneschal_get_borrower_history ~142

Returns a time series of (timestamp, health_factor, collateral_usd, debt_usd) observations for `address` on `protocol`. Granularity defaults to raw observations; use `hour` or `day` for chart-friendly buckets.

NameTypeReqDescription
addressstringyes
granularitystringBucket size; default raw.
limitMax rows fetched from history table before bucketing.
protocolstringyesOnly aave and morpho have history tables.
since_msUnix epoch ms. Defaults to now − 7d.
until_msUnix epoch ms. Defaults to now.

No output schema declared.

No examples provided.

seneschal_health ~26

Returns table sizes and data-source freshness timestamps for the Seneschal Data backend.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

seneschal_list_at_risk_borrowers ~131

Current snapshot of borrowers across Aave, Morpho, and Spark whose health factor sits below `max_hf`, sorted ascending. Use `min_debt_usd` to ignore dust positions.

NameTypeReqDescription
limitMax rows. Default 50, max 500.
max_hfReturn only borrowers with health factor strictly less than this. Default: no cap.
min_debt_usdIgnore positions with debt smaller than this many USD. Default: 0.
protocolstringRestrict to one protocol; omit for all.

No output schema declared.

No examples provided.

seneschal_list_borrowers ~201

Generic discovery surface over the borrower snapshot table. Like `seneschal_list_at_risk_borrowers` but with both lower and upper HF bounds, optional max-debt cap, configurable sort field/direction, and offset-based pagination. Use this to walk the catalogue without knowing borrower addresses in advance.

NameTypeReqDescription
limitMax rows per page. Default 50, max 500.
max_debt_usdMaximum debt in USD (default unbounded).
max_hfExclusive upper bound on health factor.
min_debt_usdMinimum debt in USD (default 0).
min_hfInclusive lower bound on health factor.
offsetPagination offset. Default 0.
protocolstringRestrict to one protocol; omit for all.
sort_bystringDefault 'health_factor'.
sort_dirstringDefault 'asc'.

No output schema declared.

No examples provided.

seneschal_paywall_info ~89

Returns the protocol, network, recipient address, and per-call price for every gated endpoint on this data backend. Free to call. Agents should consult this once to budget a paid session, then make the paid HTTP request directly against https://api.seneschal.space/v1/premium/opportunities with an x402 PAYMENT-SIGNATURE header (see https://docs.x402.org).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

seneschal_premium_builder_stats ~132

Per-builder bid distribution (p25/median/p75/p90/p99/max ETH) and a 24-element hourly slot histogram over a configurable window. Sourced from the Seneschal shadow recorder so it covers every observed slot, not just landed blocks. Behind an x402 paywall at the REST surface; this MCP tool serves the data directly to authenticated agents.

NameTypeReqDescription
limitMax builders returned (1..100). Defaults to 25.
window_msLookback window in milliseconds. Defaults to 7 days. Clamped to [1h, 30d].

No output schema declared.

No examples provided.

seneschal_premium_opportunities ~201

Top at-risk borrowers across Aave + Morpho + Spark, annotated with realised 7d market intel (top liquidators, win rate, our own attempt outcomes) and ranked by expected liquidation value. Behind an x402 paywall: free agents see a paywall stub describing how to pay; paying agents fetch the full feed at https://api.seneschal.space/v1/premium/opportunities. Use seneschal_paywall_info to inspect the price/network/recipient before opening a session.

NameTypeReqDescription
limitMaximum opportunities returned (1..500). Defaults to 200.
liquidation_bonusOverride the assumed liquidation bonus (e.g. 0.05 for 5%). Defaults to 0.06.
min_debt_usdMinimum debt-USD to include. Defaults to 0.
since_msLookback window start (epoch ms). Defaults to now − 7d.

No output schema declared.

No examples provided.

seneschal_private_relay ~208

Front-run protection for any sensitive tx (a puzzle/CTF/bounty claim, a large approval revoke, a first-touch interaction, an NFT mint): submit a LOCALLY-signed raw transaction and we forward it only to private block builders (Flashbots, Titan) + our own rbuilder — NEVER the public mempool. You keep custody (only signed bytes leave your machine; any change breaks the signature). view="info" returns the builder set + price + caveats; view="inspect" with raw_tx decodes/validates the signed tx and previews its target builders WITHOUT relaying (free, so you can confirm before paying). The paid relay itself is POST /v1/premium/private-relay via x402.

NameTypeReqDescription
raw_txstringinspect view: your locally-signed raw transaction.
viewstringinfo (default) = builders/price/caveats; inspect = decode + preview a signed tx (needs raw_tx).

No output schema declared.

No examples provided.

seneschal_private_watch_create ~299

Subscribe a Monero or Zcash address to view-key-based payment monitoring. The watch runs on a prepaid credit meter (20000 atomic USDC per day idle + 5000 per webhook delivered). Creation at the REST surface (POST /v1/private/watch) is paywalled at $0.10 via x402 and seeds the watch with $0.10 of credit. Receiver gets HMAC-signed webhooks plus a 'credit' block on every body; a 'low_credit' warning fires once before the meter expires. Top up via /v1/private/topup, topup-1, or topup-5. View keys are AES-256-GCM encrypted at rest.

NameTypeReqDescription
addressstringyesPublic address for the chain. Monero: standard 95-char base58. Zcash: u1*, t1*, t3*, zs1*.
birthdayHeightintegerBlock height the wallet was created at. Monero: scans forward from this height. Zcash: defaults to NU6 (3_042_000) if unspecified.
chainstringyesWhich privacy chain to monitor.
viewKeystringyesMonero: 64-hex private view key. Zcash: UFVK starting with uview1.
webhookUrlstringyesHTTPS endpoint we POST signed webhooks to. Private RFC1918/localhost addresses are rejected.

No output schema declared.

No examples provided.

seneschal_private_watch_create_crypto ~275

The all-coin onboarding path: POST /v1/private/watch-crypto creates a Monero/Zcash payment watch AND returns a coin payment quote in one call — no x402, no USDC, no EVM wallet anywhere in the flow. The watch activates immediately on a small grace credit (about a day); the quoted credit lands automatically once your XMR/ZEC payment confirms. Returns the FREE endpoint + body to call. Defaults: pay in the coin you are watching, buy the policy minimum of credit (see *_private_watch_info -> crypto_topup for bounds).

NameTypeReqDescription
addressstringyesPublic address for the chain. Monero: standard 95-char base58. Zcash: u1*, t1*, t3*, zs1*.
amountUsdCentsintegerCredit to buy in US cents; defaults to the server minimum.
birthdayHeightintegerOptional scan-from height.
chainstringyesWhich privacy chain to monitor.
payWithstringCoin to pay in; defaults to `chain`.
viewKeystringyesMonero: 64-hex private view key. Zcash: UFVK starting with uview1.
webhookUrlstringyesHTTPS endpoint we POST signed webhooks to.

No output schema declared.

No examples provided.

seneschal_private_watch_derive_viewkey ~192

Hands a 12- or 24-word seed phrase to NFPT's orchard-scanner CLI, returns the matching UFVK. FREE but rate-limited to 6/minute/IP. Be loud about the security trade-off: the phrase transits our server (no logging, no persistence) but a network observer between you and us would see the bytes. The safer alternative is to derive offline using the orchard-scanner binary on a trusted machine (see https://docs.seneschal.space/derive-locally). A UFVK is read-only; it cannot spend funds.

NameTypeReqDescription
chainstringyesCurrently only Zcash (Orchard) UFVK derivation is supported; Monero coming later.
networkstringZcash network the wallet belongs to.
phrasestringyes12- or 24-word BIP-39 mnemonic.

No output schema declared.

No examples provided.

seneschal_private_watch_historical ~208

Return all spendable + spent notes for a view key without setting up a watch. The view key never touches our SQLite — it flows through to NFPT in memory only. Use this when you want to reconcile a wallet at a point in time. Priced at $0.50 / call at the REST surface.

NameTypeReqDescription
addressstringyesAddress whose notes you want.
birthdayHeightintegerSkip scanning earlier blocks. Zcash auto-detects when omitted (slower but always correct).
chainstringyesWhich privacy chain to scan.
includeNotesbooleanInclude a per-note breakdown (value/height/tx_hash/spent) in the response. Default false — totals only.
toHeightintegerStop scanning at this block height. Defaults to chain tip.
viewKeystringyesMonero: 64-hex private view key. Zcash: UFVK starting with uview1.

No output schema declared.

No examples provided.

seneschal_private_watch_info ~41

Returns the current price, supported chains, NFPT upstream health, and security notes for the view-key payment-monitoring service. Free to call.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

seneschal_private_watch_topup ~196

Add prepaid credit to an existing Private Watch. Three tiers — $0.10 (default), $1.00, and $5.00 — each settling at the matching REST path (/v1/private/topup, /topup-1, /topup-5). Credit is in atomic USDC ($0.02/day idle, $0.005/call). This tool returns the URL the agent should POST to with its x402 client; it does NOT settle payment itself.

NameTypeReqDescription
tierstringTop-up size. 10c = $0.10 (≈5 days idle), 1 = $1.00 (≈50 days), 5 = $5.00 (≈250 days).
watchIdstringyesThe watchId returned from create.
watchTokenstringyesThe watchToken returned from create (constant-time compared at the REST surface).

No output schema declared.

No examples provided.

seneschal_private_watch_topup_crypto ~243

Fund a Private Watch by paying in XMR or ZEC instead of USDC. Returns the FREE endpoint to call: POST /v1/private/topup-crypto issues a QUOTE — a receiving address, the exact coin amount to send (Monero: the amount carries a unique invoice tag; Zcash: a memo token), and a USD rate locked for a short window. Send the payment, then poll GET /v1/private/topup-crypto/{quoteId} (header x-watch-token) until status=settled. We detect the payment with the same view-key scanner the product sells and never hold a spend key. No x402, no API key — you pay in coin.

NameTypeReqDescription
amountUsdCentsintegeryesCredit to buy, in US cents (e.g. 500 = $5.00). Min/max enforced server-side; see the *_private_watch_info tool -> crypto_topup.
chainstringyesWhich privacy coin you will pay in.
watchIdstringyesThe watchId returned from create.
watchTokenstringyesThe watchToken returned from create.

No output schema declared.

No examples provided.

seneschal_puzzle_risk ~281

For puzzle/CTF/bounty contracts: classifies each as locked_no_payout (funded but a correct solution pays nothing — the funds can never leave, e.g. TeikhosBounty), frontrun_bait (pays msg.sender/tx.origin on a calldata condition → broadcasting the solution publicly will be front-run; submit privately), owner_only_payout, claimable, indeterminate or unfunded — from a verified-source payout-path analysis + a bytecode value-exit scan. view="summary" returns per-class counts + ETH-at-stake rollups + a teaser; view="detail" returns the full annotated watchlist (paid via x402 at GET /v1/premium/puzzle-risk; served here for agents); pass `address` for a single-contract verdict. Heuristic — verify on-chain before acting.

NameTypeReqDescription
addressstringIf set, return a single-contract verdict instead of the feed.
classificationstringdetail view: restrict to one class. Default all.
funded_onlybooleandetail view: drop unfunded entries.
limitdetail view: row cap (1..500). Default 1000-capped.
viewstringsummary (default) = counts + rollups + teaser; detail = full annotated watchlist.

No output schema declared.

No examples provided.

seneschal_q ~266

Atomic single-fact endpoints designed for tight agent loops. Each answers ONE yes/no or one number — sub-50ms, flat $0.001/call at the REST surface. Two families: (1) DeFi facts sourced from our SQLite + shadow-blocks recorder (liquidatable, at-risk-count, recent-liquidations, top-builder, builder-share, builder-bid, block-value, cheapest-flashloan, data-freshness, address-risk, base-fee, proposer-payment); (2) privacy-chain facts sourced from Seneschal-operated full nodes — Monero (xmr/height, xmr/mempool, xmr/fee, xmr/fee-estimate, xmr/last-block) and Zcash (zec/height, zec/mempool, zec/last-block, zec/pools). Consult /v1/q for per-question input lists and live chain availability.

NameTypeReqDescription
paramsobjectPer-question parameter object. DeFi questions take addr/protocol/window/builder/pct/etc. Privacy-chain questions currently take no params.
questionstringyesWhich atomic fact to ask. See description for the list. Privacy-chain questions use `xmr/<name>` or `zec/<name>`.

No output schema declared.

No examples provided.

seneschal_recent_liquidations ~99

Liquidations observed in the recent past, including both ones won by other liquidators (`outcome=won_by_other`) and ones we ourselves landed (`outcome=we_landed`). Sorted by timestamp descending.

NameTypeReqDescription
limitMax rows. Default 50, max 500.
protocolstringRestrict to one protocol.
since_msUnix epoch milliseconds. Defaults to now − 24h.

No output schema declared.

No examples provided.

seneschal_stats_overview ~90

Aggregate snapshot powering the public stats dashboard at stats.seneschal.space: total positions tracked, debt under watch, HF distribution histogram, top-10 at-risk borrowers, 30-day liquidations-per-day series, builder market share for 24h/7d/30d windows, and 10 most recent on-chain liquidations. One call returns everything needed to render the dashboard.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

seneschal_zecmon_info ~122

Live chain tip, scanner reachability and the current free-tier limits for Zcash UFVK scanning. Free to call. Start here before scanning. FREE and rate-limited (20 scan starts / 15 min, shared across all agents). For anything scheduled, bulk or latency-sensitive use https://api.seneschal.space/v1/private/historical (same scan, one paid x402 call) or — better — https://api.seneschal.space/v1/private/info to get a webhook when funds land instead of polling at all.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

seneschal_zecmon_scan ~366

Open a scan of a Zcash UFVK. Returns { jobId, jobToken } in milliseconds — the scan itself runs behind it, so poll seneschal_zecmon_scan_status. Omitting birthdayHeight makes the scanner walk BACKWARDS from the chain tip to find the wallet's first note, which is slower but always correct. FREE and rate-limited (20 scan starts / 15 min, shared across all agents). For anything scheduled, bulk or latency-sensitive use https://api.seneschal.space/v1/private/historical (same scan, one paid x402 call) or — better — https://api.seneschal.space/v1/private/info to get a webhook when funds land instead of polling at all.

NameTypeReqDescription
birthdayHeightintegerBlock height to start from, if known. Omit to auto-detect by walking backwards from the tip.
deepScanbooleanSweep BELOW NU6, all the way back to NU5. Only needed for wallets with no activity in roughly the last year. Measured at ~38 minutes of scanner time (the pre-2.2M chain scans ~10x slower per block),…
purgeCachebooleanThrow away any stored result for this key AND any cached birthday, then scan from scratch. Use when a previous result looks wrong — NOT routinely, since it turns a free cache hit into a full chain wa…
ufvkstringyesZcash unified full viewing key, starting with uview1. Read-only — never accept a seed phrase here.

No output schema declared.

No examples provided.

seneschal_zecmon_scan_cancel ~66

Stop a running scan and release the scanner slot. Do this as soon as you stop caring about a scan — concurrency is finite and an abandoned chain walk blocks someone else. Free.

NameTypeReqDescription
jobIdstringyes
jobTokenstringyes

No output schema declared.

No examples provided.

seneschal_zecmon_scan_status ~145

Poll a scan opened by zecmon_scan. Returns phase, progress and the notes found SO FAR — notes accumulate during the scan, so you can read them before it finishes. During "detecting-birthday" the response carries the descending backwards window; during "scanning" it carries birthday → tip coverage. Poll no faster than every 1.5s. Free.

NameTypeReqDescription
includeNotesbooleanInclude the per-note breakdown. Default true; set false for progress only.
jobIdstringyesFrom zecmon_scan.
jobTokenstringyesFrom zecmon_scan — the only credential for this job.

No output schema declared.

No examples provided.