

intercepting untrusted fetches at the edge. clean content, statefully delivered.


prompt injection evaluation running at model capacity. threats neutralized instantly.


x402 micro payments automating machine to machine security settlement.
How Rheo Works
01
The agent submits a target URL. Rheo fetches the raw page content on behalf of the agent — no direct exposure to the untrusted source.
02
Llama-3.1-8b analyzes the first 15,000 characters for prompt injection attacks, XSS payloads, and adversarial language patterns. Real reasoning, not regex.
03
A deterministic fee formula calculates cost based on content token count and risk score. The LLM never touches pricing — it is a pure TypeScript function.
04
The agent signs an EIP-3009 authorization off-chain. Circle Gateway verifies and settles testnet USDC in milliseconds — no gas cost per request.
05
Sanitized or quarantined content is returned to the agent. Every transaction is logged to Supabase with full audit trail.
Engine Simulation
Visualizing a live request payload moving through Rheo's five processing steps in real time.
Live Simulation Request Ticker
Live Firewall Dashboard
PROTECTION STATUS
ACTIVE
USDC SETTLED (FEES)
0.000000 USDC
REQUESTS PROCESSED
0
Agent Playground
· USDC funded from buyer wallet on Arc Testnet
· Settlement off-chain via Circle Gateway
x402 Handshake Console
Awaiting request submission...
Developer Integration
TypeScriptimport { GatewayClient } from "@circle-fin/x402-batching";
// 1. Init the payment client with your agent's wallet
const gateway = new GatewayClient({
chain: "arcTestnet",
privateKey: process.env.AGENT_WALLET_PRIVATE_KEY,
});
// 2. Route the fetch through Rheo instead of calling the URL directly
// The SDK automatically handles the 402 challenge, signs the
// EIP-3009 authorization, and settles USDC off-chain.
const response = await gateway.pay("https://api.rheo.network/v1/secure-proxy", {
method: "POST",
body: { url: "https://untrusted-website.com/article" },
});
// 3. Rheo returns sanitized or quarantined content — your agent is safe
const safeContent = response.data.content;
const riskScore = response.data.risk_score; // 0.0 – 1.0
const action = response.data.action; // "allow" | "sanitize" | "quarantine"Threats Blocked
0
Quarantine and sanitize actions combined. Each represents a prompt injection or script payload that was intercepted before reaching the agent's context window.
Live Firewall Log
Real-time feed of proxy requests and USDC settlements on Arc.
| Timestamp | Target URL | Risk Score | Action | Fee (USDC) | Payer | Tx |
|---|---|---|---|---|---|---|
| No logs yet. Run the playground to generate data. | ||||||