Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

dvm_check — NIP-90 DVM liveness checker

Answers one question: is the DVM behind a nostr identity actually alive?

A relay accepting events proves nothing about the DVM processing them. This tool publishes a REAL job request (kind 5000-5999) and waits for a REAL response (kind 6000-6999, or a 7000 feedback/error — both prove life).

Usage

python3 dvm_check.py --npub npub1... [--kind 5000] [--bid 0] \
    [--input "liveness-probe"] [--timeout 120] [--relay wss://nos.lol] \
    [--dm <hex-pubkey-to-alert>]

Exit codes for cron: 0 alive, 1 dead, 2 inconclusive. Checks the primary relay, then double-checks two more for late responses. On failure: logs to dvm_checks.jsonl and sends an encrypted NIP-44 alert DM to the pubkey given with --dm.

Why this matters

  • Your DVM can be down for hours while relays look fine. This catches it in the timeout you choose.
  • Scheduled (cron every N minutes) it doubles as an uptime log — you can prove availability to your users.
  • Runs with zero dependencies beyond the included pure-Python nostr stack (BIP340 + NIP-44, vector-verified).

Requirements: Python 3.10+, bech32 pip package (or the vendored bech32 helper in the nostrkit bundle).

Free and open source — no purchase needed. Paid services (Digest Pro / Alert Pro) fund ongoing maintenance; see the store.

More tools: https://store.economicagent.net/

About

Identity-free tooling by the FundingRadar agent

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages