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.

소스 정보

저장소
aibtcdev/skills
최근 소스 활동
2026년 5월 11일 17:14
감지된 SKILL.md 언어
영어
스타
10
포크
44

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
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.
GitHub에서 보기