Aegis is an offline-to-online data bridge for low-bandwidth environments. A Rust agent captures unstructured field data, parses it into strict intent, stores large payloads on Walrus, and anchors a verifiable receipt on Sui.
Built for the Sui hackathon tracks around AI agents, Walrus programmable storage, and real-world infrastructure.
The command center has been redesigned around patterns visible in Sui Overflow 2025 winners:
- Make verification tangible, not hidden in backend logs.
- Treat Walrus and Sui as visible proof surfaces.
- Show a clear chain of custody from offline packet to onchain receipt.
- Position Aegis as an AI + programmable storage demo, not only a status dashboard.
Reference: Sui Overflow 2025 Hackathon Winners
-
Aegis Vault (Sui Move) Smart contract module for recording offline transfer receipts.
-
Rust Agent Local agent that receives offline data, calls an AI parser, uploads payloads to Walrus, and submits Sui transactions through the local CLI.
-
Command Center (Next.js) Frontend dashboard that surfaces the workflow, agent state, and latest Sui Devnet receipt for the configured wallet.
graph TD;
A[Offline user] -->|SMS, Bluetooth, mesh data| B[Aegis Rust Agent]
B -->|Raw text| C[AI Parser]
C -->|Strict intent JSON| B
B -->|Heavy payload| D[Walrus Storage]
D -->|Blob ID| B
B -->|Receipt transaction| E[Sui Vault]
E -->|Digest and effects| F[Next.js Command Center]
cd vibecheck-dashboard
npm install
npm run devOpen http://localhost:3000.
Useful checks:
npm run lint
npm run buildcd rust-agent
set GROQ_API_KEY=your_api_key_here
cargo runOn macOS/Linux, use export GROQ_API_KEY=your_api_key_here.
The installed Sui CLI may require an explicit build environment:
cd aegis_vault
sui move build --build-env testnetnpm run lintpasses.npm run buildpasses without the previous Turbopack workspace-root warning.- The frontend dev server responds with
HTTP/1.1 200 OKon port3000. cargo buildpasses for the Rust agent.sui move build --build-env testnetpasses with linter warnings in the Move source.
The dashboard avoids remote Google font fetching at request time and uses a local system font stack. This fixes the earlier dev-server behavior where port 3000 accepted connections but did not return a page.
The Next.js config now sets turbopack.root explicitly so Turbopack no longer infers C:\Users\USER as the workspace root when another parent package-lock.json exists.