Skip to main content

Architecture decisions

Product and security ADRs for Zunia.

ADRTopicStatus
Core 0003Custody modelAccepted: self-custody only
Indexer 0001Tx historyAccepted: user-scoped LCD (first 5, cap 50)
Indexer 0002Realtime detect/queueAccepted
Indexer 0003Worker hostAccepted: container (Fly/Railway/Render), not Vercel serverless
Core 0002Kernel languageAccepted: one Rust kernel (WASM in the extension, FFI on mobile)
Core 0004Cosmos client libsAccepted: signing and encoding in Rust, CosmJS for network I/O only
Core 0005Polyrepo package flowAccepted: 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.