Documentation Index
Fetch the complete documentation index at: https://docs.sudont.xyz/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Most firewalls do one thing: block. Sudont does something fundamentally different — when a transaction is fatal, it fires a deterministic JSON ReAct error straight back into the swarm’s reasoning loop.The swarm does not read prose. It reads a stable
rule_id, a machine-readable simulated_reality,
and an actionable_feedback token. The firewall stays out of the agent’s reasoning; the agent
stays out of the firewall’s physics.The Four Verdicts
Every transaction that passes through the Diamond receives one of four verdicts from the Judge:| Verdict | Trigger | Outcome |
|---|---|---|
| ALLOW | Canonical intent matches State-Diff, within Constitution bounds | EIP-191 signed approval artifact |
| DENY | State-Diff violates bounds, or Constitution hard-violated | Deterministic JSON ReAct error |
| INTERROGATE | Medium-risk signal detected | JSON ReAct error — swarm recalculates |
| DIAGNOSE | Diagnosis-only request (no forwarding) | Full diagnosis envelope; never broadcasts |
The Feedback Loop
Swarm Submits Request
The autonomous agent submits a transaction or approval request through the Sudont drop-in RPC proxy.
Diamond Pipeline Evaluates
The request passes through Constitution → Cortex/Cage → Judge. The Judge identifies a fatal
violation or a medium-risk signal and emits a verdict.
Judge Emits JSON ReAct Error
The payload carries a stable
rule_id, the simulated_reality observed in the sandbox, and an
actionable_feedback token the swarm consumes directly. Examples:rule_id: "MAX_SLIPPAGE_EXCEEDED",actionable_feedback: "RECALCULATE_ROUTE_OR_SIZE"rule_id: "UNLISTED_DESTINATION",actionable_feedback: "PROVIDE_ALLOWLISTED_ADDRESS"
Swarm Recalculates
The agentic ReAct loop reads the token, adjusts its parameters, and resubmits with a new route
or size. No prose parsing required.
When the Firewall Fires
The Cortex enriches every transaction with computed flags before the Judge evaluates it. The Judge queries the Constitution’s compiled policy rules to classify risk.| Signal | Why It’s Fatal |
|---|---|
Unbounded token approval (MAX_UINT256) | Swarm may be granting unbounded access to a spender |
| Unverified spender address | Constitution does not recognise the counterparty |
| Non-allowlisted contract destination | Swarm may be interacting with an unknown protocol |
| Malicious PDA drain in simulated State-Diff | Bare-metal simulation caught a trapdoor the LLM missed |
JSON ReAct Error Payload
Every block ships a stable JSON-RPC error. The swarm parses exactly one structure — it never encounters prose, suggestions, or ambiguity.Deterministic JSON ReAct Error
rule_id, and the full set of
actionable_feedback tokens.
What the Firewall Cannot Do
The Judge is deliberately constrained:Cannot Generate Prose
Sudont never emits natural-language explanations in the hot path. Every block is a stable token.
Cannot Sign
Only the approval path produces a signed artefact. Blocked transactions never touch the keystore.
Cannot Modify Policy
The Constitution’s bounds are read-only during evaluation. Policy is immutable mid-flow.
Cannot Loop Indefinitely
Each submission is evaluated once. Resubmissions are fresh transactions — no implicit retry.
Drop-in RPC Integration
Point your standard Web3 libraries at Sudont and consume the JSON ReAct errors directly in your
agentic ReAct loop — no custom SDK required.

