A council of AI agents debates every DAO proposal, grounds it in live Casper state, collects approvals off-chain, and β after a human veto window β executes the approved transaction on Casper Testnet.
The main war-room interface displaying the proposal registry, active voting statuses, and the four AI council agent seats (Risk, Treasury, Legal, and the Arbiter).
Convening the council. The three specialist agents (Risk, Treasury, Legal) stream their reasoning live, analyzing the proposal against grounded Casper Testnet state.
Once the Arbiter issues a positive consensus verdict, the proposal enters a human veto countdown, allowing manual intervention before execution.
After the veto window closes, the Executor agent signs and broadcasts the transaction to the Casper Testnet, linking to a live block explorer.
The custom proposal composer where users can test arbitrary targets, assets, and amounts against the AI council's reasoning.
A demonstration of a Charter Section 5 violation (attempted self-mint). The Legal agent flags the breach, the Arbiter issues a hard REJECT, and the console blocks execution.
Current DAOs rely heavily on token holder attention, leading to voter apathy and unverified contract executions. Conclave instantiates a council of AI agents (Risk, Treasury, Legal) that reason over a proposal grounded in Casper account state, then an Arbiter reconciles them into a verdict for a human veto β and only then does the approved transfer execute on Testnet.
Key Features:
- β‘ Real multi-agent council: with
ANTHROPIC_API_KEYset, three role agents run on Claude Haiku 4.5 and the Arbiter on Claude Opus 4.8 (Anthropic SDK, structured outputs) βsrc/agents/llm.ts. Each agent only cites numbers from the grounded read layer; it can't invent balances. - π‘οΈ Deterministic guardrail: every LLM verdict is checked against a pure
reconcile()baseline (src/core/quorum.ts); the approved amount is computed from the verdict and clamped, and a charter Β§5 violation (self-mint / privilege escalation) is a hard, non-overridable REJECT. - π§ͺ What-If Console (the live demo): compose any proposal (target, entrypoint, amount) and watch the council reason it to APPROVE / CAP / REJECT over your input β not a canned script (
/api/whatifβsrc/core/whatif.ts). - ποΈ Graceful fallback: with no API key, the council degrades to a deterministic engine, so the full deliberate β veto β execute pipeline always runs (great for keyless judges).
- π Human-in-the-Loop Veto: the approved transfer is signed with
casper-js-sdk(backend PEM key) only after the veto window closes.
| Layer | Technology |
|---|---|
| Frontend | Next.js 16, React 19, Tailwind CSS v4 |
| Testing | Vitest (152 unit tests), Playwright E2E |
| Contract | Odra (Rust) on Casper Testnet |
| AI Council | Claude Opus 4.8 (Arbiter) + Claude Haiku 4.5 (Role Agents) via the Anthropic SDK β falls back to a deterministic engine with no key |
| Grounded reads | Demo: deterministic fixtures Β· Live (CONCLAVE_DEMO=false): CSPR.cloud REST |
| Signing | casper-js-sdk (backend PEM key) for autonomous execution Β· CSPR.click for the frontend veto panel |
flowchart TD
U[DAO member] -->|submit proposal| FE[Next.js UI]
FE --> ORC["Agent Orchestrator (TS worker)"]
subgraph Council
RA[Risk Agent]
TA[Treasury Agent]
LA[Legal/Charter Agent]
AR[Arbiter]
end
ORC --> RA & TA & LA
RA & TA & LA --> AR
RA & TA & LA -->|read state| MCP[Casper MCP Server]
TA -->|history| CLOUD[CSPR.cloud APIs]
MCP --> TN[(Casper Testnet)]
AR -->|verdict + quorum| MS[Approval Consensus off-chain]
MS --> VW{Human Veto Window}
VW -->|not vetoed| EX[Executor casper-js-sdk]
EX -->|TransactionV1 sign+send| GOV[Odra Governance Contract]
GOV --> TN
AR -->|transcript hash| GOV
FE -->|deploy hash link| EXP[cspr.live explorer]
π Deep Dive: For a full architectural breakdown, including specific API endpoints, council agent roles, and governance smart contract details, see the detailed System Architecture Design Document.
- Casper Innovation Track (Build Direction #3: Multi-Agent DAO Governance)
- Multi-agent AI council: Real Anthropic SDK calls β 3 role agents (Haiku 4.5) + an Arbiter (Opus 4.8) with structured outputs, in llm.ts, guard-railed by the deterministic quorum.ts.
- Casper Testnet Smart Contract: Built with the Odra framework in Rust, located in conclave.rs. Enforces quorum rules, recorded verdicts, and a threshold-guarded, capped treasury transfer on-chain.
- Grounded reads: Account/contract state for the agents β deterministic fixtures in demo, live CSPR.cloud REST in live mode β in mcp.ts.
- Autonomous signing: Backend
casper-js-sdk(PEM key) builds, signs, and broadcasts theexecutetransaction in casper.ts β no browser wallet required.
- Node.js β₯ 20
- pnpmΒ
- Clone:
git clone https://github.com/edycutjong/conclave.git - Change directory:
cd conclave - Install:
pnpm install - Configure:
cp .env.example .env.localand add your keys (CSPR.cloud API key, Anthropic key, Testnet keypair)Β Β Β - Run:
pnpm dev
Conclave leverages the Model Context Protocol to ground its AI council agents in live Casper blockchain state.
- Demo Mode (Default): No additional setup is required. The MCP client uses the mock grounding layer (fixtures) to verify contract and balance state.
- Live Testnet Mode: Set
CONCLAVE_DEMO=falseand provide yourCSPR_CLOUD_API_KEYin.env.localto query live network parameters. - Casper MCP Server (Docker): To run the official
msanlisavas/casper-mcpserver locally:Add the following line to your# Run the Casper MCP server Docker container docker pull msanlisavas/casper-mcp:latest docker run -d -p 8080:8080 -e CSPR_CLOUD_API_KEY="your_cspr_cloud_api_key" msanlisavas/casper-mcp:latest
.env.local:CASPER_MCP_URL=http://localhost:8080
π‘ Note for Judges β what's real vs. simulated (no overclaiming):Β Β Β Β
- The AI is real. Set
ANTHROPIC_API_KEYand the council makes genuine Claude calls (Opus 4.8 Arbiter + 3 Haiku 4.5 role agents). With no key, it falls back to a deterministic engine so the pipeline still runs end-to-end β the What-If console (/api/whatif) reasons over any proposal you type either way.- On-chain execution is gated. By default (
CONCLAVE_DEMO=true) theexecutestep returns a clearly-labelled simulated hash β the UI shows an amber "simulated Β· not broadcast" badge and no explorer link (we don't fake acspr.livelink). SettingCONCLAVE_DEMO=falsewith a funded key + a deployedCONCLAVE_CONTRACT_HASHbroadcasts a real Testnet transaction and links the livecspr.livedeploy. See LIVE_TESTNET.md.
Live on Casper Testnet (casper-test). The Odra governance contract is deployed and the install is a confirmed, transaction-producing on-chain event:
| Item | Value |
|---|---|
| Contract package | hash-0b7fcb9879f8a6fd5dd07f104bf5e74ace7c1a9b3c375c902fbf0bc044248e79 β |
| Install deploy | 03c6b2145f06a1357ef63112f11862020ff916614a9c8bf5e584cc236bbbd6f6 β |
submit_proposal |
6cc8d49d36d6c4ad3d030dfd1b6abecd5c3c3d39baa7c6bb2abd47a2e8593232 β |
record_verdict |
e7b6f26caeeabf43fbe174ed68c2bdb49a982753385bc6abcf006e0597c699c4 β |
approve |
b45648e9c142f4b16ba079f3c72c0319e4e0ab43853f9706f02819d42a92ef1b β |
| Machine-readable record | deployments/testnet.json |
The AI council's governance decisions are recorded on-chain: a proposal is submitted, the verdict recorded, and approved β all real Testnet transactions. Reproduce with pnpm deploy:rpc (install) + pnpm lifecycle (governance) β see LIVE_TESTNET.md.
Originality: all code is original and newly developed for the Casper Agentic Buildathon 2026; shared
@vouch/*packages are authored for this submission.
The following design documents and resources are available in this repository:
- ποΈ System Architecture: Full data flow diagrams (Mermaid), API specifications, and math/cryptographic models.
- π¬ Interactive Demo Guide: Step-by-step walkthrough of the live demo console and expected system behaviors.
- π‘οΈ Sponsor Track Defense: Justification of track eligibility, including Casper Network and x402 integration references.
- π Product Requirements Document (PRD): Initial project scope, problem statement, user personas, and product requirements.
- π Live Testnet Wiring Runbook: Detailed guide to flipping the application from demo mode to Casper Testnet execution.
6-stage pipeline: Quality β Security β Build β E2E β Performance β Deploy
# ββ Code Quality ββββββββββββββββββββββββββββ
pnpm run lint # ESLint
pnpm run typecheck # TypeScript check
pnpm run test # Run Vitest tests
pnpm run test:coverage # Coverage report
pnpm run ci # Full quality gate
# ββ Advanced Testing ββββββββββββββββββββββββ
pnpm run e2e # Playwright E2E tests
pnpm run e2e:ui # Playwright interactive mode
pnpm run lighthouse # Lighthouse CI audit
# ββ Security ββββββββββββββββββββββββββββββββ
make security-scan # pnpm audit + license check| Layer | Tool | Status |
|---|---|---|
| Code Quality | ESLint + TypeScript | β |
| Unit Testing | Vitest (152 tests) | β |
| E2E Testing | Playwright (3 suites) | β |
| Security (SAST) | CodeQL | β |
| Security (SCA) | Dependabot + pnpm audit | β |
| Secret Scanning | TruffleHog | β |
This project is licensed under the MIT License β see the LICENSE file for details.





