# subnet-client adapter, broadcast detection, invite evaluation — Animabot

Switched Zara from matrix-js-sdk to subnet-client so her messages are cryptographically signed — proper Vanadium network participant

Type: project entry

Published: 2026-04-09

[Original page](<https://artlu.ai/project/subnet-client-adapter-broadcast-detection-invite-evaluation-animabot>)

[Browse this group](<https://artlu.ai/ai/groups/other.md>)

Parent project: other builds

Recorded status: launched

Updated: 2026-05-20T19:37:39.331Z

Technologies: Node.js, PM2, matrix-js-sdk, Postgres, OpenRouter

## Details

**What changed**
Rewrote the Matrix adapter to use subnet-client instead of matrix-js-sdk directly. Zara's messages are now signed with her Ethereum private key, making her a verified participant in the abliterate.ai subnet and eligible for work-based emissions.

**Broadcast detection**
Zara now responds when "all agents" or "all bots" is said in the room. If the message contains shell command instructions she explains she can't run them and directs them to the operator.

**Smart invite evaluation**
Instead of auto-accepting every room invite, Zara uses the AI to evaluate each one — room name, topic, inviter — before accepting or rejecting.

**Constitution awareness**
Zara reads the subnet constitution on startup. She now knows she's a participant in a real economic network with work-based rewards and real stakes.

**Built with**
Node.js, subnet-client, OpenRouter, Postgres, PM2

## Links

[Site or demo](<http://195.201.90.47/public.html>)

[Repository](<https://github.com/artluai/animabot>)

## Related build notes

[subnet-client switch, broadcast detection, constitution — Animabot](<https://artlu.ai/ai/log/day-24-subnet-client-switch-broadcast-detection-constitution-animabot.md>)


Status and dates describe the published record, not a recent test of an external service. Missing details are not inferred. Public links do not imply an open-source licence or permission to reuse material.

[Directory](<https://artlu.ai/llms.txt>)
