The workspace where intelligence lives on-chain.
Synaphos is a self-hosted, open-source AI platform built around Odysseus. Every AI output can be cryptographically attributed, stored on IPFS, and attested on Base L2 via EAS — creating a permanent, tamper-proof provenance record.
- Landing page — brutalist editorial design, honest about what the platform is and is not
- Dashboard — chat UI connecting directly to your local Odysseus backend
- On-chain layer — IPFS storage (Pinata) + EAS attestations on Base L2
- Wallet connect — Reown AppKit, Base mainnet, dashboard-only
No cloud AI. No API keys. Your model runs on your own machine.
| Layer | Tech |
|---|---|
| Frontend | React 19, Vite, Tailwind CSS v4, Framer Motion |
| Routing | Wouter |
| On-chain | Ethers.js, EAS SDK, Reown AppKit (WalletConnect) |
| IPFS | Pinata |
| API | Express 5, Drizzle ORM, PostgreSQL |
| Monorepo | pnpm workspaces, TypeScript 5.9 |
| Fonts | Bebas Neue · Space Mono · Inter |
synaphos/
├── artifacts/
│ ├── synaphos/ # Main app — landing page + dashboard
│ └── api-server/ # Express API (Pinata proxy, EAS helpers)
├── lib/ # Shared TypeScript libraries
└── scripts/ # Utility scripts
Prerequisites: Node.js 24, pnpm 10
# Install dependencies
pnpm install
# Run the frontend (port auto-assigned)
PORT=3000 BASE_PATH=/ pnpm --filter @workspace/synaphos run dev
# Run the API server (port 5000 default)
PORT=5000 BASE_PATH=/api pnpm --filter @workspace/api-server run devWhen connected to a wallet on Base network, any Odysseus response can be attested:
- Full conversation uploaded to IPFS via Pinata → returns
CID - EAS attestation created on Base L2 → returns
attestation UID - Permanent record:
wallet + model + IPFS CID + timestamp
Verify any attestation at base.easscan.org.
Required env vars:
PINATA_JWT=your_pinata_jwt_hereSynaphos connects to Odysseus — a self-hosted local AI backend built on Docker + Ollama.
# Clone and run Odysseus
git clone https://github.com/synaphos/odysseus
cd odysseus
docker compose upThen set the Odysseus URL in Synaphos Dashboard → Settings.
- Aesthetic: Brutalist editorial — off-white
#EDEBE5, pure black, red#CC1100accents - Typography: Bebas Neue (display) · Space Mono (mono/data) · Inter (body)
- Layout: 12-column newspaper grid, horizontal rules, registration marks
Contributions welcome. Open an issue or PR. See CONTRIBUTING.md for guidelines.
Core team: Synaphos Dev
MIT — see LICENSE for details.