System Architecture
Agentik Vault consists of three distinct layers:Three-Layer System
- Frontend — React 19 + Solana wallet integration
- Backend — Express.js + PostgreSQL + Docker orchestration
- Blockchain — Anchor program on Solana for subscription entitlement
Architecture Diagram
Frontend Layer
Tech: React 19 + Vite + Tailwind + @solana/react-hooks Key Files: Responsibilities:- Wallet connection (auto-discover Phantom, Solflare, etc.)
- User authentication via signature
- Subscription management UI
- Instance provisioning UI
Backend Layer
Tech: Express.js + Node 22 + PostgreSQL + dockerode Key Services:subscription.ts— Chain reads + DB cache (TTL 120s)dockerInstance.ts— Container provisioningsecureKeyRetrieval.ts— AES-256-GCM encryptionusage.ts— Idempotent tracking
users— User accounts (wallet → userId mapping)subscriptions— Cached subscription statedocker_instances— Running containersapi_keys_encrypted— Encrypted user API keystier_config— Rate limits per tier
Blockchain Layer
Tech: Anchor (Rust) + Solana Program ID:F4jZpgbtTb6RWNWq6v35fUeiAsRJMrDczVPv9U23yXjB (mainnet-beta)
PDAs:
Critical Principles
1. Backend is Authority for Metering
❌ Don’t meter on-chain (too expensive, too slow)✅ Do cache subscription state in PostgreSQL
2. Blockchain is Authority for Entitlement
❌ Don’t trust backend alone for subscription status✅ Do verify entitlement on-chain, cache for performance
3. Encryption at Rest + In Transit
❌ Don’t store plaintext API keys✅ Do encrypt with AES-256-GCM, decrypt only in user instance

