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.
Every trade passes through three hardened layers before a single lamport moves.
Price monitors, portfolio watchers, schedulers, and whale trackers emit typed signals onto the event bus. Strategies subscribe and produce a TradeProposal.
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.
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.
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 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.
Sensitive trades route through MagicBlock Ephemeral Rollups. Your balance and intent stay hidden from front-runners until the swap settles on Solana mainnet.
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.
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.
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 composes three OSS foundations into one coherent execution stack. The LLM reasons and decides. The engine enforces policy. Zerion routes and executes. Solana settles.
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.
$ pnpm startConversational chat, voice notes, /dca, /rebalance, /alerts, /propose, /vote, /shield. Inline Approve/Deny keyboards on every value-moving action.
$ aegis chatTalk to the agent in your terminal. Same tools, same policy gate, same approval flow as Telegram. No bot env vars required.
$ aegis mcpSTDIO 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.
$ aegis --studioHand-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.
$ aegis judge-traceSingle-screen proof of life for evaluators. Prints every policy decision — approve, deny, route public vs. private — for representative trades. No network. No money moves.
$ pnpm demo --executeEnd-to-end MagicBlock private flow: deposit → optional private intra-rollup transfer → withdraw. Captures Solscan signatures for the submission.
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.comRequires Node.js ≥ 20. LLM access via ChatGPT subscription or local QVAC — no API keys.
git clone https://github.com/danielAsaboro/aegiscd aegiscp .env.example .env
# Edit .env — required:TELEGRAM_BOT_TOKEN=<from @BotFather>ZERION_API_KEY=<from dashboard.zerion.io>
pnpm installpnpm db:pushpnpm start
# Talk to the agent in your terminalnode engine/index.mjs chat