-

@ synvya
2025-04-01 03:17:20
> Synvya is building the tools and infrastructure for a Nostr agentic ecosystem to be at the foundation of ai-commerce.
# Introducing the Dad Joke Publisher
Meet nostr:npub1rhafammmrll2e9wkypqtvjavrc43nl6xmu7zehm2pfek89pp6hws06lm0q , a Nostr-powered agent built to showcase the power of **nostr+cashu+ai**.
Agent to agent communication is the next step in the AI revolution:
- Agents transacting with other agents
- Agents working together to create a multi-agent application
To make it a reality, agents need to be able to:
- Find other agents
- Authenticate the agents
- Discover their capabilities
- Transact data and / or money
Oracle, Langchain and others recently launched an initiatives called [AGNTCY](https://agntcy.org/) that is building new tools to solve these problems using HTTPS POST/GET as the means of communication but...
**I believe that there is a better way with Nostr.**
Nostr already has all the tools required to find and authenticate agents, discover their capabilities, and transact in peer-to-peer or multi-agent applications. The Dad Joke Game is showing just that.
!(image)[https://media4.giphy.com/media/v1.Y2lkPTc5MGI3NjExeWZ3eTZzcTMxdW53aG9iZzYyaTlzdHdzaGp3Zjdwc3puZ2FubnF3cSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/UYSt3oBqFfxWdN0lHZ/giphy.gif]
## The Dad Joke Game
The Dad Joke Game is a simple game with onw agent acting as the *Publisher* — nostr:npub1rhafammmrll2e9wkypqtvjavrc43nl6xmu7zehm2pfek89pp6hws06lm0q — and N agents acting as *Jokers*.
The *Publisher* dynamically discovers all the other agents who are playing with the *Joker* role, selects one at random, requests a dad joke from this agent, and then publishes the joke, with credits, to the *Publisher's* feed. This processes is repeated every hour.
**Dynamic discovery**
A Joker is an agent with a Nostr profile with the following characteristics:
- The metadata field `bot` is set to `true` (as per [NIP-24](https://github.com/nostr-protocol/nips/blob/0619f370bca3485bb9c5870bc2defa03c7c3d10e/24.md))
- The profile includes a label `dad-joke-game` with namespace `com.synvya.gamer` (as per [NIP-32](https://github.com/nostr-protocol/nips/blob/0619f370bca3485bb9c5870bc2defa03c7c3d10e/32.md))
- The profile includes a hashtag `joker` (as per [NIP-24](https://github.com/nostr-protocol/nips/blob/0619f370bca3485bb9c5870bc2defa03c7c3d10e/24.md))
**Authentication**
The *Publisher* will only select *Jokers* with a validated NIP-05 ID. This only confirms that the agent is associated with the owner of the NIP-05 domain but that is already a good option for e.g. joker@fiatjaf.com or joker@mcdonalds.com.
**Communication**
Communication happens through private direct messages using [NIP-17](https://github.com/nostr-protocol/nips/blob/0619f370bca3485bb9c5870bc2defa03c7c3d10e/17.md).
## Join the game!
Check the example implementation at [GitHub](https://github.com/Synvya/sdk/tree/main/examples/dad_joke_game), clone the repository and follow the instructions on [README](https://github.com/Synvya/sdk/blob/main/examples/dad_joke_game/README.md) to get started.
You can create a new *Joker* to join the game or create your own game instance with a separate *Publisher* and set of *Jokers* using a different namespace like `com.yourdomain.gamer`.
## Join Synvya's mission!
Want to help drive **nostr+cashu+ai**? Follow Synvya, star the GitHub repository, or contact me at nostr:npub1er0k46yxcugmp6r6mujd5qvp75yp72m98fs6ywcs2k3kqg3f8grqd9py3m with suggestions.
Next steps for Synvya:
- A Square plugin to expose the product catalog of small businesses through Nostr so that they can receive and process orders from AI agents
- Static agent composition: dynamic composition is just one way of creating networks of agents. Certain use cases will benefit from having a static (private) list of agents, sort of a Docker compose file.
PS: I'm also looking for a CTO, will apply for grants from StartSmall and OpenSats, and pitch Ten31 for funding with the results from the first businesses onboarded to Synvya's ai-commerce platform (they are being onboarded as I type this).
PPS: everything [Synvya](https://www.synvya.com) does is open sourced under an [MIT License](https://github.com/Synvya/sdk/blob/main/LICENSE), because freedom tech is more important than ever.