Pool Lifecycle
A Multiswap pool moves through configuration, funding, activation, operation, and, when necessary, shutdown.
1. Initialize
The owner initializes a pool with:
- pool address,
- target token,
- treasury address.
Initialization creates the pool’s core ledger accounts. The pool address must not already be initialized.
2. Configure
The owner registers reserve assets and configures:
- token roles and metadata,
- reserve, scale, and target-scale state,
- fees and stableness,
- anchors and oracle relationships,
- deposit assets and lifecycle parameters.
3. Fund
A pool can be funded directly or through a deposit phase.
A deposit phase follows a prepare, deposit, seal, settle, and claim sequence. A phase may be sealed after it starts and before its scheduled end; sealing truncates the effective end time and prevents further deposits. Settlement occurs in a later block.
Large pools can settle assets in chunks to remain within chain gas limits.
4. Activate
Trading requires coherent reserve and quote state:
- nonzero reserve and scale for active assets,
- valid total scale and total target scale,
- supported token roles,
- active quote and settlement selectors,
- valid oracle configuration where USD conversion is used.
5. Operate and measure
Active pools support direct trades and signed intents. Operators and integrators should monitor:
- reserve and scale changes,
- actual versus target weights,
- Effective Depth,
- fee destinations,
- surplus consumption,
- module and parameter changes,
- failed quote and settlement rates.
6. Archive or shut down
A production shutdown needs an explicit user exit path and public status. The original Ethereum Genesis pool is archived and deposits were refunded; it is not presented as an active market in these docs.
Lifecycle status should be visible at the pool level rather than inferred from a disabled button or missing route.