# ADR-002: Pool Type Registry as Module-Level Singleton The Pool Type Registry (`pool_type_registry`) is a module-level singleton, while all other registries (Pool, Token, Managed Pool) are class instances owned by Bot. This is intentional: the (chain ID, factory address) → class + identity + deployment data mapping is global knowledge that does not vary between Bot instances. Making it Bot-owned would require every DEX module to accept a Bot parameter at import time to register its classes, coupling module initialization to session creation. The singleton pattern allows each DEX module to self-register at import time via `pool_type_registry.register()`, independently of any Bot instance.