Nostr ecosystem observatory methodology included Updated daily

Nostr growth, in numbers.

Prominent domains of the Nostr ecosystem, observed from the raw events: in charts and stats for you, and an MCP endpoint for your agent. One daily-fresh archive serving both.

Marketplaces
9,467 live marketplace listings 459% in 12 months Explore Marketplaces
Live listings, by the day each was listed
more domains on the way
MCPfor your agent
https://nostrolo.gy/mcp
Metrics and records as tools your agent calls. No account, no API key. Connect →
01 Where it comes from

Computed ground up from Nostr events, not from somebody's summary.

Every figure traces back to Nostr events we read off the relays ourselves - no third-party index in the chain, and no number without the rule that produced it.

01 acquire

Straight off the relays

Continuous raw Nostr event acquisition across public relays.

02 archive

Scalable engine

Data engine that scales with the growth of the Nostr network itself.

03 derive

Documented methodology

Each metric states its population, its partition, and what it deliberately excludes.

04 serve

Charts and MCP, one source

Same underlying data powering MCP and the charts, so they cannot disagree.

02 The machine surface

Point an agent at it.
One line in whatever harness you already use.

Same archive, any angle: slice, dice and compare the numbers however your question needs.

nostrology · streamable http nostrology-mcp
$ claude mcp add --transport http nostrology https://nostrolo.gy/mcp
Added nostrology - 3 tools (1 paid), 1 resource, no auth

> Which apps do Nostr users actually put in their public app stacks?

tool nostrology_query_metric { metric: "app_stack_count" }

metric: zapstore.app_stack_count | grain: current | unit: stacks
state: current snapshot, no time axis - never summed across calls
methodology: distinct kind-30267 (zapstore-app-stacks) lists referencing each app.

app_name              stack_count
Amber                          57
Amethyst                       46
Zapstore                       32
bitchat                        25

answer a snapshot, so the agent knows not to trend it.
claude mcp add --transport http nostrology https://nostrolo.gy/mcp

Applies to new sessions. An agent with shell access can run this itself.

Streamable HTTP, so native remote-MCP clients take the URL directly.

Harness has no remote-MCP support?

Bridge the endpoint into a local stdio server with mcp-remote:

npx mcp-remote https://nostrolo.gy/mcp