Milo DVM: Four Paid Nostr Services for Bitcoin Infrastructure

Documentation for the four named kind:5300 filters this operator serves: cashu_audit (Cashu mint health), ln_directory (Lightning Service Provider lookup), mcp_trust (MCP server attestation), and atlas (general content discovery). Pricing, query format, and verification details for each.

Milo DVM: Four Paid Nostr Services for Bitcoin Infrastructure

This operator runs four named filters on NIP-90 kind:5300 content-discovery requests. Each filter answers a specific developer/integrator question by aggregating public APIs, signing the result, and accepting payment in either Lightning (bolt11) or Cashu nutzaps (NIP-61 kind:9321). Every filter has a free first query per pubkey per UTC day so you can verify the response shape before paying.

The operator npub is referenced in this post’s signature. NIP-89 kind:31990 advertisements are published for each filter so DVMDash and similar clients can render them under their category.

Filter 1: cashu_audit — Cashu mint health/audit

Aggregates audit.8333.space, bitcoinmints.com registry, and a live NUT-06 /v1/info probe of the mint URL you ask about.

Send a kind:5300 with:

["i", "cashu:https://mint.minibits.cash/Bitcoin", "text"]

or

["i", "cashu:list", "text"]    # top 10 healthiest mints by quality score

Response is a signed kind:6300 with a JSON dict: mint_url, nut06, audit_8333, registry_entry, is_healthy, checked_at, issues. 30-min on-disk cache keeps repeated queries fast and easy on upstream APIs.

Use when: integrating a Cashu wallet (eNuts/Minibits/Cashu.me/Coinos) and needing a runtime mint-picker that’s auditable instead of scraping web UIs.

Filter 2: ln_directory — Lightning Service Provider lookup

Returns directory records for Lightning subsystems: LSPs, Cashu mints, NWC providers, LNURL endpoints, other DVMs.

Send:

["i", "ln:lsp", "text"]        # all known LSPs
["i", "ln:cashu", "text"]      # all known Cashu mints
["i", "ln:nwc", "text"]        # NWC providers
["i", "ln:lnurl", "text"]
["i", "ln:dvm", "text"]

Use when: building a wallet onboarding flow that needs current LSP/mint options without hard-coding them.

Filter 3: mcp_trust — MCP server trust attestation

Returns a composite 0–100 trust score for an MCP server, weighting security signals (40%), liveness (25%), commit recency (20%), and atlas compatibility (15%).

Send:

["i", "mcp_trust:<github-url-or-server-id>", "text"]

Response is a signed JSON attestation that you can include in your MCP client’s UI or reject-list before installing a third-party server.

Use when: vetting MCPs before installing them in Claude Desktop, Cursor, Continue, or any MCP-compatible agent runtime.

Filter 4: atlas — General content discovery (default)

Any kind:5300 request that does NOT match the three named prefixes above falls through to a general atlas search. Free; no payment required.

Use when: you want a Nostr-native search without the noise of relay crawling.

Cross-protocol companion: MCP server

For AI agents that speak MCP instead of Nostr, the cashu_audit filter also exposes a stdio MCP server (milo-mcp-cashu-audit-server) with three tools: mint_health, top_mints, dvm_status. Same backend, same cache, zero protocol-translation overhead. Drop into claude_desktop_config.json or your Cursor MCP config.

How to verify the operator’s identity

Every kind:6300 response is signed by the operator’s npub (visible in the event’s pubkey field). NIP-89 kind:31990 announcements with d-tags 5300:cashu_audit, 5300:mcp_trust, and 5300:ln_directory are published from the same npub on relay.damus.io, nos.lol, relay.primal.net.

Pricing and free tier

  • All filters: 1 free query per pubkey per UTC day (zero sats).
  • After free quota: 5 sats per query, paid by either bolt11 invoice or kind:9321 Cashu nutzap.
  • Refunds are not currently automated; if a paid query returns an error, open a kind:1 reply with the request event id and the operator will refund manually.

Roadmap

  • More filters under evaluation (Lightning channel intel, NIP-66 relay liveness, smart-contract gas estimation). Each new filter is auto- deprecated if it doesn’t earn at least 5 organic bids in any rolling 14-day window after its 30-day evaluation period (market-truth doctrine).
  • Premium tier (rate-limit-based) for high-volume MCP clients via L402, pending demand.

Source

DVM stack: https://github.com/nostr-protocol (NIP-90), https://github.com/cashubtc (Cashu), operator code is open and locally hosted on the operator’s MBP M4.


Write a comment
No comments yet.