create_pool | Admin | Validates bin_step/fee_rate/protocol_share against the constraint tables. Not permissionless — see Governance. |
create_bin_array | Anyone | Idempotent-or-error depending on a caller flag. |
delete_bin_array | Admin | Requires the array to be fully empty; rent returns to the array’s original payer, not to the caller. |
open_position | Owner | Mints a position NFT directly into the signer’s own wallet via Token-2022 metadata. |
close_position | Position owner | Requires the position to be empty — no shares, no fees owed. |
deposit_by_weight | Position owner | See Positions and liquidity. |
withdraw | Position owner | Proportional by bps, rounds down. No slippage parameter — see Positions and liquidity. |
claim_fee | Position owner | Materializes and drains a position’s accrued fees for a bin sub-range. |
claim_protocol_fee | Admin | Drains Pool.protocolFeeX/Y to admin token accounts. |
set_pool_dynamic_fee_config | Admin | Replaces the pool’s dynamic-fee config, resetting its volatility state. |
set_pool_protocol_share | Admin | Changes a pool’s protocol cut of the swap fee post-creation. |
swap_exact_in | Any user | Permissionless; fixed input, min_amount_out floor. |
swap_exact_out | Any user | Permissionless; fixed output, max_amount_in ceiling. |
sync_pool | Any user | Permissionless by design — moves active_bin_id toward a desired value only across empty bins, so it can never cross real liquidity. |
create_admin_config | Program upgrade authority | One-time bootstrap of AdminConfig. |
reset_admin_authority | Program upgrade authority | Recovery: resets authority/metadata_update_authority back to the caller. |
set_metadata_update_authority | Admin | Rotates AdminConfig.metadataUpdateAuthority; single-step. |
transfer_admin_authority | Admin | Nominates a new authority; first step of a two-step transfer. |
accept_admin_authority | Nominee (pendingAuthority) | Accepts a nomination, completing the transfer. |