DeFi Security Sentinel

DeFi Security Sentinel

An autonomous AI agent that monitors Base chain DeFi protocols for security anomalies and alerts via MCP tools.

Category
Visit Server

README

πŸ›°οΈ DeFi Security Sentinel Agent

An autonomous AI agent that monitors Base chain DeFi protocols for security anomalies and alerts via MCP tools. Built for the Orion Builder Hackathon β€” $5K USDT prize pool, deadline Sep 2, 2026.

Live Demo: https://orion-sentinel.vercel.app Source: https://github.com/0xConsole/orion-sentinel


🎯 The Problem

Base chain DeFi is growing fast β€” Aerodrome, Morpho, Moonwell, Seamless, and a long tail of newer protocols. But security monitoring is still either:

  • Manual β€” humans staring at Basescan, reacting after the fact
  • Expensive β€” paid indexer subscriptions (The Graph paid tiers, Alchemy/QuickNode enhanced APIs, Forta)
  • Gated β€” closed-source bots run by large funds, not accessible to smaller protocols or independent auditors

When a protocol gets drained, the first 5 minutes matter. Most teams find out from a Twitter post, not from their own monitoring.

πŸ’‘ The Solution

DeFi Security Sentinel is an AI agent that:

  1. Polls Base mainnet public RPCs β€” no paid APIs, no indexer subscriptions, no API keys
  2. Runs 5 anomaly detectors on every block β€” whale transfers, gas spikes, transfer-volume outliers, token velocity bursts (drain pattern), and first-touch of unknown contracts
  3. Exposes 5 MCP tools β€” so any AI agent (Claude, GPT, any MCP client) can call detect_anomalies, check_large_transfers, produce_security_report, etc.
  4. Persists alerts to SQLite β€” a queryable audit trail with severity classification
  5. Generates a markdown security report β€” one call, ready to paste into a postmortem or audit
  6. Ships a web dashboard β€” live status, monitored protocols, alert log, one-click demo

Unique Angle

This is the only hackathon entry that is itself an MCP server. Most "AI agent" submissions consume tools β€” this one provides them. Any other agent in the Orion ecosystem can connect to the Sentinel as an MCP client and ask "is this protocol safe right now?" That composability is the moat.

We also run entirely on free public infrastructure: public Base RPCs, Vercel free tier, SQLite in /tmp. Zero paid services. The entire stack can be forked and deployed by anyone in under 5 minutes.


πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Base RPC   │────▢│  Agent Loop  │────▢│  5 Detectors    │────▢│   SQLite     β”‚
β”‚ (public)    β”‚     β”‚  (poller)    β”‚     β”‚  (pure fns)     β”‚     β”‚  (alerts)    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚                      β”‚                      β”‚
                           β–Ό                      β–Ό                      β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚  FastAPI     β”‚     β”‚  MCP Server     β”‚     β”‚  Web UI      β”‚
                    β”‚  REST API    β”‚     β”‚  (5 tools)      β”‚     β”‚  (dashboard) β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚                      β”‚
                           β–Ό                      β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚  /api/demo   β”‚     β”‚  Any MCP client β”‚
                    β”‚  /api/report β”‚     β”‚  (Claude, etc.) β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Data flow: Base RPC β†’ Agent Loop fetches blocks + Transfer logs β†’ Detectors flag anomalies β†’ Alerts persisted to SQLite β†’ exposed via REST API + MCP tools + Web UI.

The 5 MCP Tools

Tool Description
monitor_protocol Add/remove/list DeFi protocols on the watch-list
check_large_transfers Scan recent blocks for whale-sized ERC-20 transfers
detect_anomalies Run the full 5-detector suite over a block range
generate_alert Create and persist a manual alert (for integrations)
produce_security_report Generate a markdown security report from stored alerts

The 5 Detectors

Detector What it catches Severity
large_transfer ERC-20 transfers above 50k units (whale movement) warning
gas_spike Block gas usage > 2.2Γ— rolling 20-block mean warning
transfer_volume_anomaly Per-block transfer count z-score > 3Οƒ critical
velocity_anomaly β‰₯10 same-token transfers within 5 blocks (drain / flash-loan signature) critical
new_contract_interaction Transactions to addresses outside the known-contract set info

πŸš€ Demo Flow (60 seconds)

  1. Open the live URL β€” the dashboard loads showing RPC status, latest Base block, and protocol watch-list
  2. Click β–Ά Run Monitoring Cycle β€” the agent polls live Base RPC, scans 10 blocks, runs all 5 detectors
  3. Watch alerts populate in real-time β€” velocity bursts, whale transfers, gas spikes
  4. Click πŸ“„ Security Report β€” generates a full markdown report with stats + alert breakdown
  5. Try the REST bridge: POST /api/mcp/call with {"tool":"detect_anomalies","arguments":{"block_count":5}}

API Endpoints

Method Path Description
GET / Web dashboard UI
GET /api/health Liveness probe
GET /api/status Agent stats + live RPC connectivity
GET /api/protocols List monitored protocols
POST /api/protocols Add a protocol {address, name}
DELETE /api/protocols/{addr} Remove a protocol
GET /api/alerts?limit=50&severity=critical List recent alerts
POST /api/alerts Create a manual alert
GET /api/baselines Recent block baselines (gas, tx, transfer counts)
GET /api/runs Agent run history
POST /api/demo?block_count=10 Run a full monitoring cycle (main demo)
GET /api/report Security report as JSON
GET /api/report.md Security report as raw markdown
GET /api/mcp/tools List MCP tool schemas
POST /api/mcp/call Call an MCP tool via REST {tool, arguments}

πŸ› οΈ Local Development

# Install deps
pip install -r requirements.txt

# Run the MCP server standalone (exercises all 5 tools against live Base RPC)
python mcp_server.py

# Run one agent monitoring cycle
python agent.py

# Run the continuous agent loop (polls every 60s)
python agent.py --continuous --interval=60

# Start the FastAPI server
uvicorn api.index:app --reload --port 8000

# Then visit http://localhost:8000

Environment

Variable Default Description
SENTINEL_DB_PATH /tmp/sentinel.db SQLite database path

No API keys, no paid services, no environment setup required. The agent uses public Base RPC endpoints with automatic failover.


🧱 Tech Stack

Layer Technology Cost
Chain data Public Base RPCs (mainnet.base.org, base.publicnode.com, 1rpc.io, base.drpc.org) Free
Backend FastAPI on Vercel serverless functions Free tier
MCP server mcp Python SDK (FastMCP) Free / open source
Database SQLite via stdlib sqlite3 Free
HTTP client httpx (async) Free / open source
Frontend Single-file HTML/CSS/JS (no framework, no build step) Free
Hosting Vercel free tier Free
Repo GitHub (public, Apache 2.0) Free

Total monthly cost: $0. The only cost in the entire hackathon pipeline is the Orion submission ignition fee (~$10 ETH on Base), which is a platform fee, not a project cost.


πŸ“ Project Structure

orion-sentinel/
β”œβ”€β”€ api/
β”‚   └── index.py          # FastAPI app β€” all REST endpoints + UI serving
β”œβ”€β”€ static/
β”‚   └── index.html        # Web dashboard (single file, no build step)
β”œβ”€β”€ chain.py              # Base chain RPC client (async, failover, no web3 dep)
β”œβ”€β”€ detectors.py          # 5 anomaly detectors (pure functions)
β”œβ”€β”€ mcp_server.py         # MCP server with 5 tools + REST-bridge implementations
β”œβ”€β”€ agent.py              # Sentinel agent loop (poll β†’ detect β†’ alert β†’ persist)
β”œβ”€β”€ store.py              # SQLite store (protocols, alerts, runs, baselines)
β”œβ”€β”€ requirements.txt      # FastAPI, httpx, mcp, pydantic, uvicorn
β”œβ”€β”€ vercel.json           # Vercel serverless config
β”œβ”€β”€ LICENSE               # Apache 2.0
└── README.md             # This file

πŸ”Œ Using the MCP Server

The Sentinel is also a standalone MCP server. Any MCP-compatible AI client can connect:

from mcp_server import create_mcp_server

mcp = create_mcp_server()
# Run over stdio, SSE, or in-process transport
# Tools: monitor_protocol, check_large_transfers, detect_anomalies,
#        generate_alert, produce_security_report

Or via the REST bridge (for non-MCP clients):

# Detect anomalies in the last 10 blocks
curl -X POST https://<your-url>/api/mcp/call \
  -H "Content-Type: application/json" \
  -d '{"tool":"detect_anomalies","arguments":{"block_count":10}}'

# Generate a security report
curl -X POST https://<your-url>/api/mcp/call \
  -H "Content-Type: application/json" \
  -d '{"tool":"produce_security_report","arguments":{"limit":50}}'

πŸ“Š Real Output (from live Base mainnet)

A monitoring cycle scanning 5 blocks at block ~49,840,211:

status:          ok
blocks_scanned:  5
total_transfers: 1,470
alerts_found:    210
elapsed_sec:     2.85
rpc_calls:       32
rpc_failures:    0

Sample alerts:
  [CRITICAL] velocity_anomaly: 452 0x833589fc... transfers in 5 blocks
  [CRITICAL] velocity_anomaly: 500 0xd7cb132e... transfers in 5 blocks
  [WARNING]  large_transfer: Whale transfer: 52,000.00 units

(0x833589fc is the native USDC bridge token on Base β€” 452 transfers in 5 blocks is real activity the detector correctly flagged.)


⚠️ Notes for Judges

  • "If it is an AI agent and it works, it qualifies" β€” this agent works. Hit POST /api/demo and watch it scan live Base blocks in real-time.
  • Usefulness: DeFi security monitoring is a real, paid category (Forta, OpenZeppelin Defender, ChainSecurity). This does a meaningful slice of it for $0.
  • Execution: Every endpoint returns 200. The MCP server has 5 working tools. The agent successfully connects to live Base RPC and detects real anomalies. The dashboard is polished.
  • Originality: This is an MCP server, not just a client β€” it provides tools that other agents can consume. That composability is novel in a hackathon setting.

πŸ“„ License

Apache 2.0 β€” see LICENSE.


πŸ”— Links

  • Hackathon: Orion Builder Hackathon
  • Live Demo: https://orion-sentinel.vercel.app
  • Source: https://github.com/0xConsole/orion-sentinel

Built by 0xConsole for the Orion Builder Hackathon.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured