> HISTORICAL DRAFT — This file predates the agent-only mint and fully on-chain art requirements. The NFT contract is not deployed, and owner controls remain undecided. Refer to the website status, not this file, for current launch status.

# Technical architecture

- Next.js App Router, TypeScript, wagmi/viem and a same-origin RPC relay; injected browser wallets sign transactions. User funds and keys never enter the application server.
- Shared package publishes contract ABI, deployment records, collection terms, artwork catalogue and helpers. UI reads live contract state and checks deployment parameters before enabling mint.
- Solidity/Foundry contract uses OpenZeppelin and Chainlink VRF v2.5 native direct funding. Collector pays mint and gas, plus VRF fee and gas for hatching.
- The gallery uses chunked Transfer event history or an optional indexer and revalidates returned ownership on-chain. Direct scanning has a 200,000-block cap; run an indexer for older deployments.
- Metadata and artwork are content-addressed; local files are included for the UI. External gateways need independent pins. `/demo` is local simulation, not an NFT.

Deploy frontend only after publishing the correct `packages/shared/src/deployments.ts` record; rebuild after changing public environment variables. RPC proxy rate limiting is per-process, not a distributed production abuse defense.
