Skip to main content

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.