Ambient Docs
  • Introduction to Ambient
  • Concepts
    • AMMs
    • Concentrated Liquidity
    • Knockout Liquidity
    • Governance & Policy
    • Surplus Collateral
    • Permissioned Pools
    • Account Abstraction
  • Users
    • Swaps
    • LP Positions
    • Surplus Collateral
    • Dynamic Fees
    • Knockout Positions
    • Initializing Pools
    • Gasless Transactions
    • External Routers
  • Governance & Policy
    • Ops & Treasury Multisigs
    • Policy
    • Upgrading Code
    • Emergency
  • Developers
    • Deployed Contracts
    • Token Transfers
    • Type Conventions
    • DEX Contract Interface
      • userCmd Callpaths
      • Swaps
        • Hot Path Swap Migration
          • Directly Calling CrocSwapDex
          • External Swap Router
      • Flat LP Calls
      • Long Form Orders
      • Knockout LP Calls
      • Pool Initialization
      • Surplus Collateral
      • Router Calls
      • Relayer Calls
    • Query Contracts
      • CrocQuery Contract
      • CrocImpact Contract
    • Logs and Queries
    • Libraries and APIs
      • SDK
      • Indexer API
      • Subgraph
Powered by GitBook
On this page
  1. Concepts

Permissioned Pools

The default pool type in Ambient is a permissionless pool. Permissionless pools allow any user to mint, burn or swap without any restrictions. Permissionless pool types also allow any user to initialize a pool for any arbitrary pair of tokens. Pool types in Ambient are 256-bit values, allowing for an essentially unlimited number of pool types.

Permissioned pools operate with the same underlying AMM mechanics, but every mint, burn, swap and initialize action is gated by an external permission oracle. A permission oracle can be any arbitrary smart contract that implements the interface. The address of a pool's permission oracle is determistically fixed based on the value of the pool index number. Therefore the permission oracle is fixed ahead of time.

Permission oracles may or may not also be set as policy oracles allowing them to dynamically and internally change the parameters (e.g. swap fee, concentrated liquidity tick spacing, etc.) in their own pool.

Currently permissioned pool types can only be created through protocol governance.

PreviousSurplus CollateralNextAccount Abstraction

Last updated 1 year ago