NIP-66 relay monitoring data is published to the Nostr network by independent monitors running across six continents. That data is available to you through three distinct interfaces, each with different tradeoffs around trust, privacy, complexity, and cost. Whether you want the fastest path to working code or full cryptographic verification, there is an interface for your use case.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/sandwichfarm/nostr-watch/llms.txt
Use this file to discover all available pages before exploring further.
The three interfaces
REST API
Standard HTTP endpoints served by rstate. Interactive OpenAPI docs at
api.nostr.watch/v2/. No Nostr knowledge required.CVM (MCP over Nostr)
21 structured MCP tools transported over Nostr. Works with Claude Desktop, AI agents, and any MCP client. Self-hostable.
Raw NIP-66
Query kind 10166, 30166, and 1066 events directly from Nostr relays. Verify monitor signatures yourself. Fully trustless.
Interface comparison
- At a glance
- REST API
- CVM (MCP over Nostr)
- Raw NIP-66
| Raw NIP-66 | CVM (MCP over Nostr) | REST API | |
|---|---|---|---|
| Cost | Free | Mostly free (some tools may have micro-payments) | Free tier available |
| Privacy | Best — direct relay connection, no intermediary | Good — uses Nostr pubkeys, not IP addresses | Lowest — IP-based, standard HTTP |
| Complexity | Highest — parse events, verify signatures, aggregate | Moderate — structured tool calls over Nostr | Easiest — standard HTTP requests |
| Bandwidth | You control it — subscribe to exactly what you need | Moderate — request/response per tool call | Low per request, no streaming yet |
| Trust model | Trustless — verify monitor signatures yourself | Self-hostable — run your own rstate instance | Requires trust in the API operator |
| Best for | Nostr-native apps, privacy-sensitive use cases | Nostr clients wanting structured data, AI agents | Quick prototyping, non-Nostr apps, dashboards |
Default NIP-66 relays
These three relays carry NIP-66 monitoring data. Use them as ingestion sources whether you are querying raw events, self-hosting rstate, or configuring the CVM client.| Relay | Description |
|---|---|
wss://relay.nostr.watch | Primary nostr-watch relay |
wss://relaypag.es | Relaypages NIP-66 relay |
wss://monitorlizard.nostr1.com | Monitor Lizard relay |
Response formats
Both the REST API and CVM support three response formats. Passformat=full, format=detailed, or format=simple as a parameter to any relay query endpoint or tool.
| Format | Description | Use when |
|---|---|---|
full | All fields including per-monitor attribution data | You need to see which monitors reported what |
detailed | Aggregated values without attribution (default) | Most use cases — clean, structured data |
simple | Relay URLs only | You just need a list of relay addresses |
Decision guide
Start with raw NIP-66 if:- Your app already speaks Nostr (uses nostr-tools, NDK, etc.)
- You need maximum privacy and decentralization
- You want to verify data provenance through cryptographic signatures
- You are building a relay selection algorithm that needs raw observation data
- You are building a Nostr client and want structured relay intelligence
- You are using Claude Desktop or another MCP-compatible AI tool
- You want the privacy benefits of Nostr without parsing raw events
- You might want to self-host for full sovereignty
- You are prototyping and want the fastest path to working code
- Your app is not Nostr-native (web dashboard, monitoring tool, etc.)
- You need aggregated data without building your own aggregation pipeline
- You are comfortable trusting the API operator, or plan to self-host later
All three interfaces expose the same underlying data. Raw NIP-66 events are the source of truth — CVM and REST are both derived from them via the rstate aggregation engine. You can switch between interfaces or combine them as your application evolves.