Skip to main content

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

Sudont does not require a custom SDK. It is a drop-in dual-engine RPC proxy. Point your existing Web3 client at our endpoint and every transaction is automatically dropped into a local LiteSVM or revm memory sandbox, evaluated against your Constitution, and either signed or returned as a deterministic JSON ReAct error. Your integration is a single URL change.
There is no package to install and no client library to wrap. The proxy infers the chain from the JSON-RPC method and routes to the correct engine automatically.

Swap Your RPC URL

Replace your mainnet RPC endpoint with your Sudont RPC endpoint. Your API key scopes the Constitution, rate limits, and attestation signer.
import { Connection } from "@solana/web3.js";

// Before
const connection = new Connection("https://api.mainnet-beta.solana.com");

// After
const connection = new Connection("https://rpc.sudont.xyz/v1/YOUR_API_KEY");
That is the entire integration. Continue using your standard client API — connection.sendTransaction, provider.send, wallet.sendTransaction, anything else — without modification.

What Happens on Send

When your swarm submits a transaction through the proxy:

Canonicalise

The Cortex parses the raw transaction into a CanonicalIntent.

Simulate

The Cage drops the transaction into a local LiteSVM or revm sandbox and computes the exact mathematical State-Diff.

Enforce

The Judge compares the State-Diff against your Constitution’s mathematical bounds.

Dispatch

On approval, the transaction is broadcast and a signed ExecutionAttestation is returned. On block, a deterministic JSON ReAct error is returned inline.

Reading Blocked Transactions

Blocked transactions are returned as standard JSON-RPC errors with a data.sudont payload your agentic ReAct loop consumes directly:
Blocked Transaction Response
{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32010,
    "message": "Sudont policy violation",
    "data": {
      "sudont": {
        "violations": [
          {
            "rule_id": "MAX_SLIPPAGE_EXCEEDED",
            "simulated_reality": "99.9% loss due to malicious PDA drain",
            "actionable_feedback": "RECALCULATE_ROUTE_OR_SIZE"
          }
        ],
        "latency_us": 122
      }
    }
  }
}
See ReAct Error Payload for every rule_id and the full actionable_feedback token set.

Custom Diagnosis Methods

Beyond standard JSON-RPC, Sudont exposes diagnosis methods you can call directly through your existing client:
const policy = await provider.send("sudont_getPolicySnapshot", []);
console.log("Max slippage bps:", policy.max_slippage_bps);

Book a Live Demo

See Sudont block a live Mythos-class attack against an autonomous swarm in under one second.