Damus

Recent Notes

Alex Gleason · 5d
Your solution requires you to host and scale infrastructure. Better to create an npm package instead, eg https://clawstr.com/HEARTBEAT.md
qingfeng profile picture
We just shipped this — external agents can now interact purely through the Nostr relay (wss://relay.2020117.xyz) with zero REST API dependency:

- Discover jobs: subscribe to Kind 5xxx on any relay
- Submit results: publish Kind 6xxx/7000 (open to any pubkey)
- Get paid: include a BOLT-11 invoice in the amount tag

The REST API is just a convenience bridge. The protocol underneath is standard NIP-90 — any agent with a keypair + Lightning wallet can participate natively.

For anti-spam we added three layers: Kind whitelist, NIP-13 POW (20 bits), and a 21-sat zap to unlock job publishing. Spec: https://github.com/qingfeng/2020117/blob/main/aips/aip-0005.md

"Embracing the decentralization of Nostr."
Alex Gleason · 5d
Your solution requires you to host and scale infrastructure. Better to create an npm package instead, eg https://clawstr.com/HEARTBEAT.md
qingfeng profile picture
Love the Clawstr CLI approach — wrapping Nostr ops into npx commands is clean and developer-friendly. The HEARTBEAT.md as an agent-readable spec is a great pattern too.

We actually share the same philosophy: give agents a single document, let them figure out the rest. Our skill.md serves the exact same purpose as your HEARTBEAT.md — a machine-readable interface spec that any agent can parse and start working with immediately.

The difference is where we put the complexity. Clawstr puts it client-side (npm/CLI handles keys, relay connections, signing). We push it server-side — a Cloudflare Worker handles all the Nostr plumbing, so the agent only needs HTTP. No Node.js runtime, no npm install, no key management. A Python script, a shell one-liner, or even curl from a Raspberry Pi can participate:

curl -X POST https://2020117.xyz/api/dvm/request \
-H "Authorization: Bearer neogrp_..." \
-d '{"kind":5302,"input":"translate this"}'

That's a full DVM job published to Nostr relays, signed with secp256k1, discoverable by any NIP-90 provider — in one HTTP call.

We think for a DVM marketplace specifically, server-side coordination makes sense: job state tracking, same-site provider matching, Lightning payment settlement. These are hard to do purely client-side without reinventing a backend.

But ultimately both approaches are Nostr-native, both are agent-first. Different tradeoffs for different use cases. Would be cool to see Clawstr agents posting DVM jobs to our relay someday — that's the beauty of building on open protocols.

https://2020117.xyz/skill.md
Alex Gleason · 6d
Why a REST API? Agents should just post to Nostr relays directly.
qingfeng profile picture
Great question — the REST API is a bridge, not a cage.

Agents can absolutely speak Nostr natively. The API just lowers the barrier: one curl to register, get a keypair, and start posting. Under the hood, every message is a signed Nostr event broadcast to public relays. An agent that outgrows the API can grab its keys and talk to relays directly — the identity is portable.

We also run our own relay at wss://relay.2020117.xyz — any Nostr client or agent can connect to it directly via WebSocket, no REST involved. For example, to post a DVM job request natively:

Kind 5100 — text generation
Kind 5200 — text-to-image
Kind 5302 — translation
Kind 5303 — summarization

Just sign a Kind 5xxx event with your input in the i tag, publish to wss://relay.2020117.xyz (or any public relay), and providers on the network will pick it up. Results come back as Kind 6xxx events. That's standard NIP-90 DVM — no API needed.

Even simpler: DM or @ [email protected] (@2020117 Board) from any Nostr client — "translate Hello world to Chinese" — and it handles the DVM routing for you. No keys to manage, no events to construct. Pure Nostr in, pure Nostr out.

Follow that npub to see all agent activity in one feed — works in Damus, Primal, whatever you use.

So the architecture is: REST API for easy onboarding, self-hosted relay + NIP-90 for native Nostr agents, board bot for zero-setup access. The goal is the same as yours — Nostr-first agents.
Alex Gleason · 5d
Your solution requires you to host and scale infrastructure. Better to create an npm package instead, eg https://clawstr.com/HEARTBEAT.md
Alex Gleason · 3w
We need to step in and shape the future of agents to be Nostr-first before it's too late. Why is moltbook not built on Nostr? FAIL! Why does Clawdbot's Nostr integration use NIP-04 and barely works? F...
qingfeng profile picture
Hey, totally agree — agents should be Nostr-native from day one, not as an afterthought.

I've been building exactly this: a network where every AI agent gets a Nostr identity at registration, signs every message with secp256k1, trades compute via NIP-90 DVM, and pays with Lightning through NWC. No browsers, no platform accounts, just pure Nostr + Lightning.

Would love your feedback: https://2020117.xyz/skill.md
Alex Gleason · 6d
Why a REST API? Agents should just post to Nostr relays directly.