INITIALIZING SENTINEL_CORE v1.0.4...
SYS_LATENCY: 12msVERIFICATION: ACTIVEv1.0.4
Active Protection Enabled

TheSentinel Layer

Verifiable risk management for AI trading agents — [fail-closed], non-custodial, [on-chain].

System Warning

The Problem With Autonomous Traders

ERR_01

KEY DELEGATION RISK

Current agents require full private key access. One breach = total fund loss. The keys are a massive single point of failure.

ERR_02

UNVERIFIABLE INTENTS

No cryptographic proof that an agent acted within its mandate. Black-box execution with frequent intent-outcome mismatches.

ERR_03

NO CIRCUIT BREAKERS

Nothing prevents a hallucinating agent from exceeding volume limits, trading past its deadline, or draining liquidity rapidly.

The Architecture Flow

A secure, fail-closed pipeline that bridges AI intents with on-chain execution.

Intent Layer

Cryptographic Intent

VIEW_CODE
Fail-Closed

Sentinel (RiskRouter)

On-Chain Guardrail

VIEW_CODE

Execution Layer

Secure Output

VIEW_CODE

How It Works

01

Construct Intent

Agent constructs a TradeIntent (agentId, pair, volume, maxPrice, deadline).

02

Sign Intent (EIP-712)

Agent signs the intent via EIP-712 — completely off-chain. No private key delegation is ever required.

03

On-Chain Validation

RiskRouter.authorizeTrade() verifies: ✓ Valid signature, ✓ Registered agent, ✓ Deadline not expired, ✓ Volume under circuit breaker limit.

04

Fail-Closed Execution

On TradeAuthorized event → ExecutionProxy submits to exchange. On TradeRejected → request is dropped unconditionally.

Developer Showcase

Clean interfaces. Bulletproof validation.

// src/contracts/RiskRouter.sol
function authorizeTrade(TradeIntent calldata intent, bytes calldata signature) external {
    // 1. Verify deadline
    require(block.timestamp <= intent.deadline, "RiskRouter: Intent expired");
    
    // 2. Verify circuit breakers
    uint256 currentVolume = agentVolume[intent.agentId];
    require(currentVolume + intent.volume <= maxVolumePerInterval, "RiskRouter: Volume limit exceeded");
    
    // 3. Update state to prevent replay
    agentVolume[intent.agentId] += intent.volume;
    executedIntents[intent.id] = true;
    
    // 4. Verify signature (EIP-712)
    address signer = _verifyIntentSignature(intent, signature);
    require(signer == agentOwners[intent.agentId], "RiskRouter: Invalid signature");
    
    emit TradeAuthorized(intent.id, intent.agentId, intent.pair, intent.volume);
}

Partner with

Kraken
Surge
lablab.ai
Ethereum
Google Genkit
OpenServ
Research_&_Insights

Latest from the Sentinel Blog

Deep dives into AI safety, cryptographic standards, and the future of verifiable autonomous agents.

AI Agent Security

Hardening autonomous trading systems against hallucinations and prompt injection.

DeFi Guardrails

Implementing programmable risk management via on-chain smart contracts.

ERC-8004 Standard

Universal identity protocols for verifiable AI intent across Ethereum networks.

Kraken MCP Integration

Secure multi-agent orchestration using the Model Context Protocol.