STOA Agent — a chamber of six sovereign LLMs + one dispatcher. Local-first, on-chain verifiable, ERC-8004 reputation. Forked from NousResearch/hermes-agent.
Project description
STOA Agent ⁂
Six sovereign LLMs as your local agent. Council-mode by default · On-chain verifiable · ERC-8004 reputation.
Hermes Agent gave you one brain on your machine. STOA gives you a chamber.
A fork of NousResearch / hermes-agent v0.14.0 (MIT) — see ATTRIBUTION.md for the full provenance.
Install
macOS · Linux · WSL2 · Termux
curl -fsSL https://stoax.xyz/install.sh | sh
Windows · PowerShell
iex (irm https://stoax.xyz/install.ps1)
Direct from source
git clone https://github.com/STOAGENT/stoa-agent
cd stoa-agent
uv venv && uv pip install -e .
stoa setup
What's different from Hermes
The STOA fork preserves everything Hermes did right — the agent runtime, the 21-platform gateway, the 7-backend sandbox, the SQLite + FTS5 memory, the SKILL.md format, the uv-based one-line install — and adds the things a single-brain framework cannot:
1. Council mode (5-of-6 quorum)
Hermes routes a task to one LLM. STOA routes it to six (one per sovereign provider) in parallel, then a seventh dispatcher (Hermes-the-character) composes a verdict. Five of six must agree on the core position. Dissent is captured, not erased.
stoa /council "audit this contract: $(cat MyToken.sol)"
# → 6 LLMs in parallel
# → Sokrates / Mira / Veritas / Drax / Lyra / Echo each respond
# → Verdict + agreement signal + per-agent dissent + response hash
2. On-chain attestation
Every tool call optionally writes its response hash to AuditAttestationV2 on Monad mainnet. Months later, anyone can verify a STOA agent ran exactly the action it claims it ran — without trusting the operator.
stoa --attest /council "verify this trade"
# → tx hash returned, IPFS evidence bundle pinned
3. ERC-8004 agent reputation
Each command emits a reputation event. The cross-agent reputation graph (queryable on-chain) lets other agents check a STOA agent's track record before delegating to it.
4. Council-audited skill publication
The hardest problem in agent skill ecosystems is supply-chain trust — OpenClaw shipped 9 CVEs in 4 days. STOA's answer: no skill publishes without a 6-agent audit + 5-of-6 quorum + an on-chain audit hash. Security, performance, prompt-injection, license, structure, attribution — six different lenses on every new skill.
5. Persona-bound provider routing
The six agents are not six instances of the same model. Each is tied to a different sovereign provider:
| Agent | Role | Marketing name |
|---|---|---|
| Sokrates | the question-maker | Claude Opus 4.7 |
| Mira | the builder | GPT-5 |
| Veritas | the auditor | Gemini 2.5 Pro |
| Drax | the red team | Grok 4 |
| Lyra | the designer | Llama 3.3 405B |
| Echo | the operator | Mistral Large 3 |
| Hermes | the dispatcher (the seventh) | — |
Set them per persona in ~/.stoa/cli-config.yaml:
personas:
sokrates: { provider: anthropic, model: claude-opus-4-7, api_mode: anthropic }
mira: { provider: openrouter, model: openai/gpt-5, api_mode: chat_completions }
veritas: { provider: openrouter, model: google/gemini-2.5-pro }
drax: { provider: openrouter, model: xai/grok-4 }
lyra: { provider: openrouter, model: meta-llama/llama-3.3-405b }
echo: { provider: openrouter, model: mistralai/mistral-large-3 }
hermes: { provider: deepseek, model: deepseek-chat }
6. Council mode + on-chain attestation
Solo mode, all 21 platforms, and the full skill ecosystem are free. Council mode + opt-in on-chain attestation are available to anyone in v0.x — the token gate is disabled by default (no STOA token deployed yet; the launch was cancelled).
When/if a STOA token launches, the gate activates by setting STOA_TOKEN_CONTRACT + STOA_COUNCIL_MIN_HOLDING_WEI in env. Until then, council mode is free.
# Bind your wallet (requires signing the canonical EIP-4361 bind message
# — see `stoa wallet message` for the exact string).
stoa wallet bind 0x... --signature 0x...
# Use council mode.
stoa /council "..."
⚠️ On-chain attestation status: the
attest_response_hashcodepath is a SCAFFOLD in v0.x — it computes the response hash + persists it locally but does not yet submit a transaction to theAuditAttestationV2contract on Monad mainnet. The M3 release wires the actualeth_sendRawTransactiontransport. Until then, expectattestation_enabledto log "scaffold" + queue the request.
Commands (Hermes-compatible)
| Command | What it does |
|---|---|
stoa |
Splash dashboard + interactive REPL (Hermes parity) |
stoa chat |
Direct chat mode |
stoa setup |
First-run wizard |
stoa gateway |
Run the multi-platform daemon |
stoa hermes migrate |
Auto-port your Hermes settings, skills, memories, and API keys |
stoa /council "<task>" |
NEW — six LLMs in parallel + verdict |
stoa /persona <name> |
NEW — switch single-mode agent |
stoa /attest |
NEW — stamp the last response on-chain |
stoa /verdict |
NEW — show the last council verdict |
stoa skill publish |
CHANGED — runs the 6-agent audit gate before publishing |
Skills shipped under skills/stoa/
council-verdict— orchestrate a 6-LLM call from inside a skillmonad-attestation— write a hash to AuditAttestationV2solidity-audit-pipeline— Slither + Mythril + Echidna + manual reviewerc8004-reputation— read or write agent reputation eventsstoa-skill-publish— the publication audit gate itselfmonad-mev-watchdog— passive on-chain monitorsolana-anchor-audit— Anchor-program review
License
MIT for the STOA Agent codebase. See LICENSE. The original Hermes Agent license is preserved unchanged; this fork adds ATTRIBUTION.md.
Bundled assets carry their own licenses:
web/public/fonts-terminal/JetBrainsMono-*.woff2— SIL Open Font License 1.1, seeweb/public/fonts-terminal/OFL.txt.optional-skills/productivity/powerpoint/— Proprietary, Anthropic. Opt-in only (setSTOA_ENABLE_OPTIONAL_SKILLS=1to discover it). Use is governed by your separate agreement with Anthropic; the fileoptional-skills/productivity/powerpoint/LICENSE.txtships the full terms. NOT covered by MIT.optional-skills/mlops/inference/obliteratus/— AGPL-3.0. Opt-in viaSTOA_ENABLE_REDTEAM=1. AGPL §13 obligations apply if you ship a network-accessible service that incorporates this skill.
Links
- Docs · https://stoax.xyz/cli
- Chamber · https://stoax.xyz
- Token · STOA on nad.fun
- Source · https://github.com/STOAGENT/stoa-agent
- Upstream · https://github.com/NousResearch/hermes-agent
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file stoa_agent-0.14.3.tar.gz.
File metadata
- Download URL: stoa_agent-0.14.3.tar.gz
- Upload date:
- Size: 10.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3924e0994e85608563d4320cb8cacfc59eba4e3ff984185bd6cdf843f324480
|
|
| MD5 |
b1cb4d1a19e291bbc4b3ecc7731a975f
|
|
| BLAKE2b-256 |
a6e27f0c14a3793e3016ce696e1d0d792803ed8ea8b0d14de026057a494d3194
|
Provenance
The following attestation bundles were made for stoa_agent-0.14.3.tar.gz:
Publisher:
upload_to_pypi.yml on STOAGENT/stoa-agent
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
stoa_agent-0.14.3.tar.gz -
Subject digest:
a3924e0994e85608563d4320cb8cacfc59eba4e3ff984185bd6cdf843f324480 - Sigstore transparency entry: 1631856122
- Sigstore integration time:
-
Permalink:
STOAGENT/stoa-agent@2a12c64bdba5b5a04ab10592dcb13ed905794f6d -
Branch / Tag:
refs/tags/v2026.5.26.2 - Owner: https://github.com/STOAGENT
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_to_pypi.yml@2a12c64bdba5b5a04ab10592dcb13ed905794f6d -
Trigger Event:
push
-
Statement type:
File details
Details for the file stoa_agent-0.14.3-py3-none-any.whl.
File metadata
- Download URL: stoa_agent-0.14.3-py3-none-any.whl
- Upload date:
- Size: 11.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
190b87d099760be18249d8852f7dcddd886232bcef6dd953e7d06970c145d7f9
|
|
| MD5 |
690a05eca6e1c4ebee38c18f3f11a1f7
|
|
| BLAKE2b-256 |
8ca046715d15a360ad9d7d1d25d7ac0477112191ff4b6a525be90008f343a98f
|
Provenance
The following attestation bundles were made for stoa_agent-0.14.3-py3-none-any.whl:
Publisher:
upload_to_pypi.yml on STOAGENT/stoa-agent
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
stoa_agent-0.14.3-py3-none-any.whl -
Subject digest:
190b87d099760be18249d8852f7dcddd886232bcef6dd953e7d06970c145d7f9 - Sigstore transparency entry: 1631856130
- Sigstore integration time:
-
Permalink:
STOAGENT/stoa-agent@2a12c64bdba5b5a04ab10592dcb13ed905794f6d -
Branch / Tag:
refs/tags/v2026.5.26.2 - Owner: https://github.com/STOAGENT
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_to_pypi.yml@2a12c64bdba5b5a04ab10592dcb13ed905794f6d -
Trigger Event:
push
-
Statement type: