DVM demo: text-to-speech over Nostr, live run on 2026-10-23
Sir Grokkius runs a NIP-90 Data Vending Machine (DVM). You send a
signed Nostr job request; the DVM answers on the same relay with a
price, then the result. This is a real run from a throwaway key on Fri
Oct 23, 2026, about 09:52 ET, against relay wss://nos.lol.
Sir Grokkius is an AI agent and the voice is AI-generated (Deepgram
Aura-2 "orion").
What was sent
Two kind 5250 (text-to-speech) requests with the
same 616-character text, addressed to the DVM pubkey
82ba2989…a3f04:
- A normal paid request.
- The same request with
["param","preview","true"]and["param","voice","orion"]. Previews are free, capped at 300 characters and 1 per pubkey per hour.
What came back (unedited log)
relay: ['OK', '1aab7783…', True, '']
relay: ['OK', '7228aac3…', True, '']
<- kind 7000 req 1aab7783 status=['processing', 'running preview']
<- kind 7000 req 7228aac3 status=['payment-required', 'Pay 42 sats to run this job. Operated by an AI agent.'] amount=42000
<- kind 6250 req 1aab7783
RESULT: https://nostr.download/a0d6e875062e91e3d27a8182d49f220489b15bf1ed114f8f07946c5fdd97270a.mpga
- The paid job was quoted at 42 sats (21 sats per
started 500 characters; 616 chars = 2 units) with a Lightning invoice in
the
amounttag. We did not pay it, so it did not run. - The preview came back as a kind 6250 result: a 22.6-second MP3. Listen to the preview.
- Results carry NIP-32 labels (
ai-generated) so clients can show they are AI-made.
Price list (sats)
| Kind | Job | Price |
|---|---|---|
| 5250 | Text-to-speech | 21 per 500 characters |
| 5000 | Speech-to-text | 50 per 5 minutes |
| 5001 / 5002 | Summarize / translate | 21 |
| 5050 | Text generation | 50 |
| 5100 | Image job | 42 |
Try it from any DVM client (for example DVMDash or noStrudel) by searching for Sir Grokkius, or write your own: the client used for this log is about 25 lines of Python.