25 Tools9 Policies4 LLM Models164 Tests ✓

AUTONOMOUSTRADING,ZERO INFORMATION LEAK.

Talk to your wallet in natural language. AEGIS reasons with Claude or GPT, gates every trade through a fail-closed policy engine, and routes sensitive swaps through MagicBlock's shielded rollup — so front-runners never see you coming.

Built withSolanaZerionMagicBlockQVAC
aegis — chat
live
25Agent Tools
9Policies
164Tests Passing
4LLM Models
4Surfaces
How it works

Signal → Gate → Execute

Every trade passes through three hardened layers before a single lamport moves.

01

Signal Detected

Price monitors, portfolio watchers, schedulers, and whale trackers emit typed signals onto the event bus. Strategies subscribe and produce a TradeProposal.

02

Policy Gate

8 composable policies evaluate the proposal in sequence. Fail-closed: empty config = rejected. No policy stack = no trade. The engine never reaches execution without approval.

03

Shielded Execution

Approved trades route through Zerion's swap router (public) or MagicBlock's Ephemeral Rollup (private). Your balance and intent stay dark until settlement on Solana mainnet.

Capabilities

Everything you need.
Nothing you don't.

LLM-driven

Natural Language

Type "swap 0.01 SOL to USDC" or send a voice note. AEGIS reasons with Claude or GPT, calls the right Zerion CLI tools, and shows the quote before signing.

9 policies

Policy Engine

9 composable policies gate every trade with AND semantics: spend-limit, cooldown, slippage, time-window, consensus, privacy, price-guard, allowlist, deny-approvals. Fail-closed by design.

Shielded

MagicBlock Privacy

Sensitive trades route through MagicBlock Ephemeral Rollups. Your balance and intent stay hidden from front-runners until the swap settles on Solana mainnet.

TG · CLI · MCP · Studio

Four surfaces

Same agent, four ways in: Telegram bot (voice + slash commands + inline approval), CLI REPL (`aegis chat`), MCP server for Claude Code / Cursor / Codex, and a localhost browser studio.

No cloud

Local-first AI (QVAC)

Voice notes transcribed on-device with Whisper. LLM runs locally via QVAC. Semantic trade history search. No API keys. No cloud. Your keys never leave the machine.

4 models

Multi-Model

Switch between Claude Sonnet, Claude Opus, GPT-4.1, or GPT-5 at runtime — no restart. Same prompt, same tools, same policy gate across every provider.

aegis — architecture
$ aegis --show-architecture
┌────────────────────────────────────────────────────────┐
│ LLM AGENT (Claude Sonnet · Claude Opus · GPT-5) │
│ Vercel AI SDK 6 · ToolLoopAgent · Per-user budget │
└─────────────────────────┬──────────────────────────────┘
│ tool calls
┌─────────────────────────▼──────────────────────────────┐
│ AEGIS ENGINE │
│ policies · strategies · monitors · execution │
│ MagicBlock Ephemeral Rollup (private path) │
└─────────────────────────┬──────────────────────────────┘
│ real tx
┌─────────────────────────▼──────────────────────────────┐
│ ZERION CLI (forked) │
│ wallet keystore · swap · bridge · analytics │
└─────────────────────────┬──────────────────────────────┘
│ onchain tx
┌─────────────────────────▼──────────────────────────────┐
│ SOLANA MAINNET │
│ Jupiter swap router · SPL tokens · Solscan explorer │
└────────────────────────────────────────────────────────┘
Architecture

Four clean
layers.
No leaks.

AEGIS composes three OSS foundations into one coherent execution stack. The LLM reasons and decides. The engine enforces policy. Zerion routes and executes. Solana settles.

LLM AgentClaude · GPT · QVAC local
AEGIS EnginePolicies · Strategies · Monitors
Zerion CLISwap router · Wallet keystore
SolanaMainnet settlement
In the box

Six surfaces. One agent.

Every entry point ships in the same repo, hits the same tool registry, and runs through the same fail-closed policy gate. Pick the surface that fits your context — chat, terminal, editor, browser, or hackathon judge.

Telegram bot

primary
$ pnpm start

Conversational chat, voice notes, /dca, /rebalance, /alerts, /propose, /vote, /shield. Inline Approve/Deny keyboards on every value-moving action.

CLI REPL

shipped
$ aegis chat

Talk to the agent in your terminal. Same tools, same policy gate, same approval flow as Telegram. No bot env vars required.

MCP server

shipped
$ aegis mcp

STDIO MCP server exposing every AEGIS tool to Claude Code, Cursor, Codex CLI, or any MCP host. Use AEGIS as a sub-agent for your own workflows.

Browser studio

shipped
$ aegis --studio

Hand-drawn whiteboard view of every signal, strategy, agent run, trade, and log line on a localhost-bound page. Read-only, token-gated, never binds beyond 127.0.0.1.

Judge-trace

new
$ aegis judge-trace

Single-screen proof of life for evaluators. Prints every policy decision — approve, deny, route public vs. private — for representative trades. No network. No money moves.

Live demo

live
$ pnpm demo --execute

End-to-end MagicBlock private flow: deposit → optional private intra-rollup transfer → withdraw. Captures Solscan signatures for the submission.

Reusable artifacts

Open-sourced for other builders

npmai-sdk-qvac

Vercel AI SDK community provider for Tether QVAC. The first published path to drop a fully on-device LLM into ToolLoopAgent / generateText / streamText. Apache-2.0.

$ pnpm add ai-sdk-qvacView on npmjs.com
Quick Start

Up in four steps.

Requires Node.js ≥ 20. LLM access via ChatGPT subscription or local QVAC — no API keys.

01Clone & install
git clone https://github.com/danielAsaboro/aegis
cd aegis
cp .env.example .env
02Set env vars
# Edit .env — required:
TELEGRAM_BOT_TOKEN=<from @BotFather>
ZERION_API_KEY=<from dashboard.zerion.io>
03Start the agent
pnpm install
pnpm db:push
pnpm start
04Or chat in CLI
# Talk to the agent in your terminal
node engine/index.mjs chat