Coffer Docs
Overview

Creating a Pool

Choose settings, seed liquidity, and register your pool

Creating a pool makes you its admin. You choose the assets and starting pricing, then supply initial liquidity.

Choose the starting configuration

  1. Verify 2–10 distinct token mints. The token list cannot change later.
  2. Set weights totalling 100%, each at least 1%.
  3. Choose amounts and virtual depth; check the resulting prices and range.
  4. Set the swap fee and understand the admin permissions.
  5. Keep SOL for transaction fees and account creation.

The chart selects initial parameters, not a permanently fixed range.

Creation and app registration are separate

Sign in with your wallet. Creation may require multiple approvals for accounts, lookup tables and seeding; resume an unfinished flow.

After creation, the app separately registers the address and display name. If registration fails, the on-chain pool still exists: retry registration, not pool creation.

Registration is done by the app with your wallet signature; there is no separate registration API for integrators.

How form inputs become on-chain values

The app uses each mint's decimals and these conversions:

weight_bps = weight_percent × 100
swap_fee_rate = floor(swap_fee_percent × 10,000)
initial_virtual_raw ≈ floor(initial_actual_raw × leverage)

Weight rounding preserves a total of 10,000. Every virtual balance must be positive and fit u64; amount and decimals constrain usable leverage.

First deposit

Only the stored pool admin can seed an empty pool. At least one deposited amount must be positive. The contract allows other slots to start with zero actual balance and positive virtual balance. The app's amount-derived flow rejects zero amounts because they produce zero virtual balances.

Initial LP tokens come from the weighted invariant over virtual balances, with decimal normalization and integer rounding. They are an ownership scale, not a USD valuation.

The initial mint must reach both the caller's minimum and 1,000 raw LP token units (0.000001 LP tokens at nine decimals). Subsequent deposits follow proportional liquidity rules.

On this page