Protocol capabilities
Find supported market operations, interface versions, and integration boundaries.
grapl exposes an integer CLMM, a virtual-reserve launch path, and an optional lifecycle hook interface. Choose the capabilities your application needs and reject any operation you cannot reproduce faithfully.
Markets and liquidity
| Capability | Behavior | Guide |
|---|---|---|
| Direct pools | Concentrated and aligned full-range positions | Create a market |
| LP positions | Open, add/remove principal, collect fees, close empty positions | LP lifecycle |
| Swaps | ExactIn and ExactOut with net-output and price protection | Swap modes |
| Token factory | Classic SPL issuance with explicit final mint authority | Token factory |
| Bonding curve | Virtual pricing, real inventory, net quote target | Curve markets |
| Graduation | Same pool, mints, vaults, and hook; creator-owned full-range position | Graduation |
| Zaps | Atomic swap and liquidity change on an existing position | Zaps |
Custom behavior
Hooks can validate ten before/after phases, request bounded swap fees, and update explicitly permitted state. Optional examples cover eligibility, trading windows, fee schedules, and non-transferable reward credits. No hook is required by default.
Custom accounting and arbitrary return deltas are unsupported. Position open/close and fee collection have no dedicated callbacks. Graduation uses the add-liquidity pair. See hook lifecycle and permissions.
Interface compatibility
The current source increment uses Pool version 6, hook ABI 4, wire tags GRAPLHK4 / GRAPLOK4, 19 core instructions, and four Anchor account types. Pool 6 adds mandatory protocol fee accounting and a treasury record. Match clients and hook programs to that contract; Pool 5 accounts reject, and no automatic runtime migration is provided. See revenue validation status.
The Metis integration supports both swap modes with shared math and injected policy adapters. Its availability in a public routing service requires that service's own integration and admission.
Boundaries to design around
- Reserve assets use classic SPL Token; Token-2022 reserve assets and confidential settlement are unsupported.
- Zaps take a caller-selected split and an existing position. They do not optimize ranges or compound automatically.
- Position transfer, strategy vaults, and token metadata issuance are not exposed by this interface.
- The treasury increment emits initialization and protocol-fee collection events; this is not complete typed event coverage for every operation.
- APR calculations require supplied observations; there is no live yield feed in the core.
These docs provide no public deployment registry or completed audit claim. Use security limitations for the implications and instructions for the exact operation surface.