Hatchery is a Token-2022 mint with the TransferHook extension enabled, paired with a transfer hook program that simultaneously serves as the pool’s lifecycle enforcer. When the bound Orca Whirlpool is initialized, the program’s initialize_pool instruction fires and permanently records the binding inside a PDA seeded by the Whirlpool address and the mint address.
The PDA stores the pool’s geometry: token_a (native SOL wrapped as wSOL), token_b (the Hatchery mint), tick_spacing, fee_tier, and the transfer hook program ID. The binding is one-way and one-time. Once written, all subsequent hook invocations validate the incoming Whirlpool against the stored PDA. Transfers routed through any other pool revert at the hook entrypoint.