Architecture decisions
Product and security ADRs for Zunia.
| ADR | Topic | Status |
|---|---|---|
| Core 0003 | Custody model | Accepted: self-custody only |
| Indexer 0001 | Tx history | Accepted: user-scoped LCD (first 5, cap 50) |
| Indexer 0002 | Realtime detect/queue | Accepted |
| Indexer 0003 | Worker host | Accepted: container (Fly/Railway/Render), not Vercel serverless |
| Core 0002 | Kernel language | Accepted: one Rust kernel (WASM in the extension, FFI on mobile) |
| Core 0004 | Cosmos client libs | Accepted: signing and encoding in Rust, CosmJS for network I/O only |
| Core 0005 | Polyrepo package flow | Accepted: published, versioned packages |
Indexer
Hono + Zod + Postgres (DATABASE_URL) for durable history; realtime WS on always-on worker via zunia-infra. See zunia-indexer.
Infra
zunia-infra holds production hosting: nginx and systemd on a Hetzner host, behind Cloudflare, plus shared DNS for api., link. and status.. Its Pulumi code is still a stub. The chain registry keeps its own Pulumi stack.