Metrics / nutzaps / mint_leaderboard
mint_leaderboard
The nutzap mint leaderboard of nostrolo.gy/nutzaps/mints, for any window: one row per listed mint with its payments and sats in the from/to window and its Configured By count - omit from/to for the page's All view, pass mint_url for one mint's headline figures (its /nutzaps/mints page).
unit
payments+sats+users
grain
total (UTC)
series
entities, full history
key
nutzaps.mint_leaderboard@total
Parameters
| param | accepted values |
|---|---|
| grain | total - default total (omit to get the default) |
| from | optional inclusive ISO UTC calendar day (YYYY-MM-DD); omit for the series start |
| to | optional inclusive ISO UTC calendar day (YYYY-MM-DD); omit for today UTC (that day still in progress) |
| mint_url | optional Cashu mint URL as nutzaps.mint_leaderboard lists it (e.g. https://mint.minibits.cash/Bitcoin); narrows rows to that mint. Scheme and host case, a default port and a trailing slash are normalized and a URL with no scheme is read as https, but the PATH is case-sensitive; an excluded (test or private) mint returns no rows |
| format | csv | markdown |
Query it
MCP tool call against https://nostrolo.gy/mcp (connect your agent):
{
"name": "nostrology_query_metric",
"arguments": {
"metric": "mint_leaderboard",
"domain": "nutzaps",
"grain": "total"
}
} Windowed (inclusive UTC days; both optional):
{
"name": "nostrology_query_metric",
"arguments": {
"metric": "mint_leaderboard",
"domain": "nutzaps",
"grain": "total",
"from": "2026-07-01",
"to": "2026-07-31"
}
} Response: a plain-text envelope (window, freshness, column contract, this page's
caveats) followed by the data table (csv, or format: "markdown") at total grain.
Response columns
| name | type | description |
|---|---|---|
| mint_url | text | the mint's normalized URL - the value the mint_url filter takes |
| payments | integer | payments on this mint in the window |
| sats | integer | sats those payments carried |
| configured_by | integer | distinct pubkeys whose LATEST kind-10019 (nutzap-configs) lists this mint; with a window, only those whose latest config was published inside it |
What is counted
The population is the kind-9321 (nutzaps) PAYMENTS in this archive (NIP-61 (nutzaps): zaps whose value moves as Cashu ecash inside the event) - events carrying at least one Cashu proof in a `proof` tag, valued as the sum of those proofs in sats (never the `amount` tag, which was often millisats). Events without such a proof (the 2024 draft format, encrypted payloads, bare cashu tokens, zero-ecash events) are not payments. Test and private mints are excluded: hosts a recipient elsewhere cannot reach (loopback, private-network and other non-public names) and public test mints reviewed as running a fake Lightning backend or no longer running; any other mint counts, reviewed or not. A mint_url filter narrows within this population, so an excluded mint returns no rows. This is exactly the population nostrolo.gy/nutzaps draws. A mint is listed when it has a payment in the window, or - with no window - at least 10 users configure it (the page's All floor against single-typo mints), or - with a window - at least one does. Excluded mints are never listed.
Caveats
- The configured_by column counts ANNOUNCEMENTS, not usage: a pubkey counts when its latest kind-10019 (nutzap-configs) event lists the mint. A from/to window keeps only the pubkeys whose latest config was published inside it - the page's 7d / 30d / 1y reading ('configured by users who (re)published their config recently') - so it is not a historical snapshot of who configured the mint back then.
- With no from/to it reproduces the page's All view exactly as the page shows it with 'Include 0-sat mints' on; by default the page hides the mints with no sats, which this tool lists. The page's 7d / 30d / 1y periods are ROLLING (now minus N x 24 h); from/to here are whole UTC days, so a window matches them only up to the partial first day.
- Ordered by sats, payments and configured_by (all descending), then mint_url. Rows summed over mints give nutzaps.payment_activity@total for payments and sats. Distinct senders per mint are served by month only, in nutzaps.mint_active_users.
- The mint_url column is the mint's normalized URL (lowercase scheme and host, no default port, no trailing slash, PATH CASE KEPT - https://mint.minibits.cash/Bitcoin and /bitcoin are different mints); it is what the mint_url filter takes, and it is third-party text copied from the senders' `u` tags.
- Values are sats, not millisats: the proof amounts summed as sats. Every keyset behind them that could still be resolved is a sat keyset; some mints no longer serve theirs, so a unit is inferred there, never read.
- The event time (created_at) is sender-declared and unverified, as everywhere in Nostr; days are UTC calendar days of it.
Freshness in every response is data-derived: latest kind-9321 (nutzaps) event time.