Inspiration
Companies are about to hand real money movement to AI agents — and a single big agent fails silently. When it wrongly rejects a payment, there's no reason on record. When it wrongly approves one, nobody notices until the treasury is overdrawn. We wanted to show that the fix isn't a bigger model — it's an agent society with separated duties and a verifiable history.
What it does
ClearCrew is an agent society that runs a payout desk: Intake, Compliance, Treasury, Resolution, and Auditor — five specialist Qwen agents that read each payout, argue about it on the record, and produce a verdict. Agents propose; a deterministic, veto-only policy gate promotes — so the one rule that must never break (the reserve floor) is enforced by construction, and the agents' judgment is measured honestly, not laundered through the gate.
Every event — every reason, veto, dispute, ruling, and settlement — lands in a hash-chained, append-only log. The public console replays any payout end-to-end, recomputes every hash in your browser, and lets you tamper with a recorded reason to watch the chain break at exactly that event. Approved verdicts settle as real testnet USDC on Base Sepolia (recorded 1:10000 scale), and the on-chain receipt lives in the same tamper-evident chain as the reasoning that caused it.
23 recorded runs · 666 payouts · 100% hash-verified · 100% replayable — all counted from the logs on disk, all reproducible from the repo.
The benchmark (run it yourself: python3 scripts/bench_stats.py)
Same batch (n=36), same policy, same models — five specialist Qwen agents vs one strong monolith, 11 recorded runs:
society (proposals) monolith accuracy (mean ± sd) 100.0% ± 0.0 87.6% ± 5.2 reserve floor breached 0/11 11/11 (worst run −$113,660) society wins 11/11 — The monolith's best-accuracy run (91.7%) lost more money than nine worse-scoring runs — because which payouts you get wrong matters more than how many. The reserve floor is a running-total rule: no single payout breaches it, so an agent reasoning one payout at a time is structurally blind to it.
The ablation that keeps us honest (python3 scripts/ablation.py): the gate is deterministic, so we folded the monolith's recorded decisions through it — no model re-run. Gated monolith: 0/11 breaches, but $8,636/run of legitimate payouts stranded (the gate is veto-only; it can refuse a bad payout but never rescue a wrongly-refused one). Society: 0/11 and $0 — its gate fired zero times in 11 runs because the agents proposed correctly every time. Safety is the gate's; correctness is the Qwen society's. The two claims are separable, and we separated them.
The tier ablation — Qwen judgment is load-bearing (src/runs-ablation/, 3 runs): drop both systems to qwen-turbo and the monolith collapses 87.6% → 64.8% ± 1.6 while the society holds 100.0% on every run. The judgment lives in the model; the society structure — specialist roles, recorded disputes, an independent Resolution agent — is what makes that judgment survivable, even on the cheap tier.
The moment that made the project
A $15,000 aid disbursement, Germany → Kenya. Intake and Compliance clear it. Then Treasury writes, verbatim: reason "Cumulative total 99460.0 > headroom 90000.0" — the exact condition requiring rejection — and action pay_now. It contradicted itself in writing. The orchestrator reconciles what agents say against what they do, flags the mismatch, and the independent Resolution agent rules against Treasury by name, on the record: enforce_ledger. Rejected. The Auditor writes the plain-English account. A monolith has no second reader — the single agent made this same class of mistake and there was nobody to catch it.
Honestly: across all 23 runs Resolution ruled 158× to uphold a compliance veto and 2× to overrule an agent. It's not a debating society; rare-and-recorded beats frequent-and-asserted.
How we built it
Python + the Qwen Cloud DashScope OpenAI-compatible API. qwen3.7-max (with reasoning) for the judgment-heavy roles; qwen3.7-plus (thinking disabled) for triage and audit — risk-tier routing means most payouts never touch the expensive model. FastAPI backend deployed on Alibaba Cloud Function Compute (ap-southeast-1, python3.10) via Serverless Devs. React + Vite + TypeScript audit console. Parallel intake/audit via thread pools. Approved verdicts settle as real testnet USDC on Base Sepolia through Verasettle, a non-custodial payout orchestrator, at a recorded 1:10,000 scale. Every benchmark run archives its full event log to runs/ so nothing is ever staged — the live demo replays real events with real payout IDs, and re-verifies the hash chain client-side.
Challenges
- Our first society lost to the monolith (58% vs 83%): Compliance vetoed on vibes because neither system had the actual policy. Fix: one written policy, given identically to both; every veto must cite a rule.
Log in or sign up for Devpost to join the conversation.