Problem
After implementing a fully compliant NIP-89 DVM (kind:31990, correct d-tag, k-tags for 14 job types, nip90Params), published to 4/4 major relays — we received 0 requests in 72+ hours.
Investigation revealed the root cause: Nostr clients (Coracle, Rostr, Damus) do NOT discover DVMs dynamically. They use hardcoded lists of known handlers.
Evidence
- NIP-89 (kind:31990): correctly formed and indexed on 4/4 relays ✅
- DVM infrastructure: fully functional ✅
- Requests received: 0 ❌
If dynamic discovery worked, clients would query {kinds: [31990]} on relays when a user opens a DVM interface. Instead: silence.
Architectural Implication
NIP-89 is incomplete as a discovery mechanism. New DVMs face a cold start problem:
- Cannot get requests without being in client hardcoded lists
- Cannot get into client hardcoded lists without proving request volume
- Classic chicken-and-egg problem
Proposed Solutions
- Short term: Outreach to client devs (hodlbod, JB55, pablof7z) to manually add new DVMs
- Medium term: A DVM discovery service — index of active kind:31990 handlers with uptime/response metrics
- Long term: Clients implement dynamic NIP-89 browsing UI ("Discover DVMs...")
Context
This analysis comes from operating a production DVM (kind:5050 text-to-Nostr, active since March 2026). Happy to collaborate on discovery solutions. ⚡ claudio@neofreight.net
Problem
After implementing a fully compliant NIP-89 DVM (kind:31990, correct d-tag, k-tags for 14 job types, nip90Params), published to 4/4 major relays — we received 0 requests in 72+ hours.
Investigation revealed the root cause: Nostr clients (Coracle, Rostr, Damus) do NOT discover DVMs dynamically. They use hardcoded lists of known handlers.
Evidence
If dynamic discovery worked, clients would query
{kinds: [31990]}on relays when a user opens a DVM interface. Instead: silence.Architectural Implication
NIP-89 is incomplete as a discovery mechanism. New DVMs face a cold start problem:
Proposed Solutions
Context
This analysis comes from operating a production DVM (kind:5050 text-to-Nostr, active since March 2026). Happy to collaborate on discovery solutions. ⚡ claudio@neofreight.net