Addresses

Program IDs are the same on every cluster. Always compare the full address, not just its first and last characters.

Explorer links for
  • Patchbay AMMpatchbay · pools, swaps, liquidity, registry
    PbZkjLcF3Ghc6MGndLYZdXDwhbuv8YCuqZeQA8SbRgs
  • Built-in modulespatchbay-modules · Dynamic fee, TWAP oracle, Limit order, Lockup
    Pm4xyzcCmLhbx7CuqbqTgkCz6WYq6L7A6kVKfH8FzUN
  • Initial adminDeployer key, admin of the global config until handed over
    7bZYN5YbBKm7QhHy4yVcPtgBYEW9EHV8Z4fR4d4Laj94

Clusters#

ClusterUse
DevnetThe public test deployment, with test mints and seeded pools.
MainnetFollows devnet, with the same program IDs.
LocalnetTests. Load the programs into solana-test-validator as shown in Write a module.

This site’s app is connected to Devnet. The explorer links above let you check where each program is live, and who holds its upgrade authority.

Account seeds#

ProgramSeedsAccount
patchbay["config"]Global config
patchbay["pool", mint_a, mint_b, fee_bps (u16 LE), patch_hash]Pool
patchbay["vault", pool, mint]Token vault, one per side
patchbay["lp", pool]LP mint
patchbay["hook_auth", pool, module]Hook authority, one per module of a pool
patchbay["listing", module]Registry listing
patchbay-modules["module", nonce (u64 LE)]Built-in module account
patchbay-modules["state", module, pool]A module’s per-pool state
patchbay-modules["hook_vault", state, mint]Limit order escrow

Module accounts of third-party programs use whatever seeds their program chooses. Only the last byte of the address matters to the AMM.

$PATCH#

$PATCH is the Patchbay token. Its contract address is published on this site, on the plate below and on the home page. While the plate says “launching soon” there is no official token, and any token called Patchbay or $PATCH is not ours.

$PATCHlaunching soon