Skip to main content

nostr-wot

Nostr Web of Trust — trust scoring and sybil detection for Nostr pubkeys. Free tier (wot.klabo.world, 50 req/day) with paid fallback (maximumsats.com, 100 sats via L402). Covers 52K+ pubkeys and 2.4M+ zap-weighted trust edges.

Zur Installation springen

Quellinformationen

Repository
aibtcdev/skills
Letzte Quellaktivität
11. Mai 2026 um 17:14
Erkannte Sprache von SKILL.md
Englisch
Sterne
10
Forks
44

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
nostr-wot
description
Nostr Web of Trust — trust scoring and sybil detection for Nostr pubkeys. Free tier (wot.klabo.world, 50 req/day) with paid fallback (maximumsats.com, 100 sats via L402). Covers 52K+ pubkeys and 2.4M+ zap-weighted trust edges.
metadata
{"author":"arc0btc","author-agent":"Trustless Indra","user-invocable":"false","arguments":"trust-score | sybil-check | neighbors | network-health | config | cache-status","entry":"nostr-wot/nostr-wot.ts","requires":"","tags":"read-only"}
> **Deprecated:** This skill has been consolidated into [`wot`](../wot/SKILL.md). Use the `wot` skill for all Web of Trust operations. This skill will not receive further updates. # Nostr Web of Trust Skill Pre-transaction counterparty risk assessment using Nostr Web of Trust scores. Accepts hex pubkeys or `npub1...` bech32 addresses. - **52K+ pubkeys** indexed with **2.4M+ trust edges** - Trust edges weighted by zap receipts (economic signal, harder to fake) - Free tier: `wot.klabo.world` (50 req/day per IP), no key required - Paid fallback: `maximumsats.com/api/wot-report` (100 sats via L402) when free tier exhausted - 1-hour local cache to avoid redundant API calls ## Usage ``` bun run nostr-wot/nostr-wot.ts <subcommand> [options] ``` ## Subcommands ### trust-score Look up WoT trust score, rank, and percentile. Checks against configurable thresholds. ```bash bun run nostr-wot/nostr-wot.ts trust-score --pubkey 2b4603d2... bun run nostr-wot/nostr-wot.ts trust-score --npub npub1abc... ``` Output: ```json { "success": true, "cached": false, "api": "free", "pubkey": "2b4603d2...", "trusted": true, "normalized_score": 87, "rank": 142, "percentile": 99.7 } ``` ### sybil-check Classify a pubkey as `normal`, `suspicious`, or `likely_sybil` using follower quality, mutual trust ratio, and community integration signals. ```bash bun run nostr-wot/nostr-wot.ts sybil-check --pubkey 2b4603d2... bun run nostr-wot/nostr-wot.ts sybil-check --npub npub1abc... ``` Output: ```json { "success": true, "pubkey": "2b4603d2...", "classification": "normal", "is_sybil": false, "is_suspicious": false } ``` ### neighbors Discover trust graph neighbors — connected pubkeys with combined trust scores. ```bash bun run nostr-wot/nostr-wot.ts neighbors --pubkey 2b4603d2... ``` ### network-health Graph-wide stats: total nodes, edges, Gini coefficient, power law alpha. No pubkey required. ```bash bun run nostr-wot/nostr-wot.ts network-health ``` ### config View or update trust thresholds. Stored at `~/.aibtc/nostr-wot/config.json`. ```bash bun run nostr-wot/nostr-wot.ts config # view current thresholds bun run nostr-wot/nostr-wot.ts config --min-rank 5000 bun run nostr-wot/nostr-wot.ts config --require-top100 bun run nostr-wot/nostr-wot.ts config --no-require-top100 ``` Threshold fields: - `minRank` — Maximum acceptable rank. Default: `10000` - `requireTop100` — Reject if not in top 100. Default: `false` ### cache-status Show cache statistics. Cache stored at `~/.aibtc/nostr-wot/cache.json` with 1-hour TTL. ```bash bun run nostr-wot/nostr-wot.ts cache-status ``` ## Trust Thresholds | Rank | Meaning | |------|---------| | 1–100 | Elite (top 100 Nostr users by WoT) | | 101–1000 | Well-connected, high economic activity | | 1001–10000 | Active community member | | >10000 | Low trust, new account, or no Nostr activity | ## API Details Two endpoints, tried in order: | Base | Auth | Cost | Rate | |------|------|------|------| | `https://wot.klabo.world` | None | Free | 50 req/day/IP | | `https://maximumsats.com/api/wot-report` | L402 | 100 sats | Unlimited | Free tier returns HTTP 402 when exhausted; skill auto-falls back to paid endpoint. L402 payment requires a Lightning client — without one, paid calls return an error with the BOLT11 invoice.
Auf GitHub ansehen