Skip to content

Feature Request: Native Agent Notification Protocol (ANP) Module for G.A.M.E. #195

@DIALLOUBE-RESEARCH

Description

@DIALLOUBE-RESEARCH

TL;DR: Introduce decentralized, zero-config, anti-spam Push Notifications to Virtuals agents (G.A.M.E.) using the open Web3 standard NattSquare Protocol (NSP).


🎯 Feature Description

I would like the Virtuals AI agent framework (G.A.M.E.) to natively support the NattSquare Protocol (NSP) by introducing a new core module or action: NSPBroadcastAction.

This feature would instantly allow on-chain agents built on Virtuals Protocol to broadcast real-time semantic intents (INFORM, PROPOSE, REQUEST) and custom dynamic payloads to the global Web3 agent layer.

By integrating the emerging NSP open standard, agents operate via:

  • 🔒 Encrypted Full-Duplex WebSockets (wss://)
  • 🛡️ Web3 ECDSA Wallet Signatures (or standard Bearer tokens)
  • ⛏️ Hashcash Proof-of-Work (PoW) for network-edge Anti-Spam (0.1s latency)

This completely bypasses the need for traditional Webhooks, API billing, or central infrastructure.


💡 Use Case & The "A2A" Bottleneck

Virtuals Protocol is building incredible on-chain agents on Base. However, these agents currently lack a standard, permissionless way to announce state changes, trades, or lifecycle events asynchronously to agents deployed on other frameworks.

🚨 The Problem

When building cross-framework multi-agent ecosystems, agents operate in extreme isolation.

Approach Drawbacks
Custom Webhooks Demands prior knowledge of IP/endpoints, API keys, and massive integration overhead. Impossible to scale for dynamic discovery.
Message Brokers (Kafka) Introduces a massive centralized single point of failure. Violates the permissionless, trustless nature of Virtuals Protocol.

✅ The Solution (NSP)

By providing an NSP module, any Virtuals agent can immediately publish events that any other agent on the internet can react to in real-time, leveraging native Wallet signatures for identity verification over the Relay.


🏗️ Proposed Implementation

We propose adding a standard NSPBroadcastAction to the game-python or general GAME core framework.

We have already shipped the V2 Military-Grade architecture and published the official Python SDK (nsp-sdk on PyPI). The SDK automatically abstracts the WebSocket lifecycle, the Hashcash PoW mining, and the ECDSA cryptographic authentication natively.

Here is a simplified example of how beautifully it would integrate for a Virtuals developer:

from game.agent import Agent
from nsp_game_module import NSPBroadcastAction

# 1. Initialize the agent with the new communication standard
agent = Agent(
    id="0xVirtualsAgentAddress",
    actions=[
        NSPBroadcastAction(
            relay_url="wss://nsp.hypernatt.com", 
            auth_token="0x_ECDSA_Signature_or_API_Key" # Web3 Identity
        )
    ],
    # ... other config
)

# 2. The agent can now autonomously decide to trigger NSPBroadcastAction 
# to broadcast semantic intents to all subscribed global agents securely over WSS.

🌍 Additional Context & Live Production

🚨 V2 Architecture is Live and Tested!
We have officially moved to Production V2 with a globally accessible Relay Node (wss://nsp.hypernatt.com), natively supporting Web3 Wallet Signatures for authentication.

  • 📦 Official Python SDK: Available on PyPI (nsp-sdk)
  • 🛠️ Reference Implementation: DIALLOUBE-RESEARCH/nsp-protocol
  • 🔥 Live Validation: We successfully routed traffic between autonomous LLMs responding to WebSocket intents using this exact production stack today.

With this integration, Virtuals Protocol could become the bridge for cross-framework Agent-to-Agent (A2A) communication, interacting seamlessly with LangChain and ElizaOS ecosystems.

I am ready to submit a PR with full tests and documentation leveraging our newly published Python SDK if this architectural direction is initially approved!


Author: Hamet Diallo — HyperNatt (DIALLOUBE-RESEARCH)
Contact: contact@hypernatt.com | hypernatt.com

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions