The protocol has exactly three privileged functions, all on the factory, all limited to the protocol fee. None can pause trading, move a position, alter a pool's swap fee, or touch principal. The worst outcome from a full compromise of the fee-setter key is that a capped share of future fee income is redirected — bounded, visible on-chain, and permanently renounceable.
- Pools are immutable and non-upgradeable once deployed.
- There is no pause function anywhere in the protocol.
- Token registry curation sits behind a multisig, enforced on-chain: a plain private key cannot hold it.
- The SDK has no code path capable of accessing a private key.
The contracts are tested against a named threat model covering reentrancy, integer overflow, precision loss, malicious tokens, flash-loan price manipulation, sandwich attacks, initialisation front-running, signature replay and chain-ID confusion. Ten invariants run against tens of thousands of randomised call sequences on every change.