Security
What you have to trust.
Two things matter more than a badge: what the protocol structurally cannot do to you, and what has genuinely been reviewed. Both are below, including the parts with no published report.
Trust model
Start with what is structural.
An audit is a snapshot of code at one moment. These properties hold continuously, because they are enforced by Sui's object model and by parameters anyone can read.
Collateral is a user-owned object
Perpetuals collateral lives in an Account object owned by your address — a transferable Sui object, not a credit line on Aftermath's books. Margin is isolated per market, so a loss in one market cannot reach collateral in another.
Liquidations are permissionless and partial
Any address can call a liquidation; there is no privileged liquidator. A liquidation reduces the position to the market's maximum initial leverage rather than closing it, and pays three fees: a liquidation fee and a force-cancel fee to the liquidator, and an insurance-fund fee to that market's isolated fund.
Margin parameters change on a delay
IMR and MMR are stored onchain. A change is written onchain before it takes effect and is time-delayed by a few days, so nobody can tighten margin requirements out from under an open position without warning.
Prices are aggregated, not single-sourced
Oracle prices are aggregated across Pyth, Stork, Switchboard, and SEDA. The mark price used for margin and liquidation is the median of the book price, the funding price, and the TWAP price, so no single input decides a liquidation.
Bad debt has a defined waterfall
If a liquidation leaves bad debt, the market's isolated insurance fund absorbs it first. If that is exhausted the loss is socialized, and auto-deleveraging is the last step. The order is fixed in the contracts, not decided during an incident.
Delegation cannot withdraw
An agent wallet can perform all actions except withdrawing collateral and granting or revoking other agent wallets. Builder codes carry a user-approved maximum fee cap and can be revoked. Both are enforced in the onchain fee and permission logic.
Staked positions stay untouchable
A farm position is a user-owned Sui object that only its owner can invoke. That is why auto-compounding is impossible on Aftermath farms: the vault does absolutely nothing with the funds you stake, because it cannot access them.
Parameters are readable by anyone
Fees, margin requirements, insurance-fund balances, and vault limits are onchain state. Every mainnet package and object id is published, so you can read the live values instead of the documented ones.
Audits
Two reports, and their limits.
Two OtterSec reports are published. They are linked here in full, unedited, so you can read the findings rather than a summary of them.
- OtterSec
Pools
The constant-function AMM: pool creation, the uncorrelated and stable invariants, deposits, withdrawals, and swaps.
Read the report - OtterSec
Liquid staking (afSUI)
The afSUI liquid staking system: the staked SUI vault, the exchange rate, validator delegation, and the unstake paths.
Read the report
Scope: what is not covered
The reports above cover Pools and afSUI liquid staking. They do not cover the rest of the protocol. There is no published third-party review for:
- Perpetuals
- Perpetuals vaults (afLP and permissionless vaults)
- Farms
- DCA
- Limit orders
- NFT AMM
That is a statement about what has been published, not a claim that the code is unreviewed internally. Treat unaudited contracts as unaudited contracts and size positions accordingly.
Reporting
How to report a vulnerability.
The honest version: there is one channel, and it is Discord. Anything else you may have seen described does not exist yet.
- 01
Open a Discord ticket
Report in a ticket in the Aftermath Discord rather than posting details in a public channel. This is the same channel the docs direct API rate-limit requests to, so it is monitored.
- 02
Include onchain evidence
Include the affected package or object id, the transaction digests that demonstrate the issue, and the network. Mainnet ids are published on the contracts page.
- 03
Coordinate disclosure
Withhold public disclosure until the team has responded. Aftermath does not publish a disclosure window, so agree on one directly in the ticket.
- Aftermath DiscordThe only documented reporting channel. Open a ticket and ask for the team.
- move-amm-publicThe AMM implementation, public on GitHub under the AftermathFinance org.
- Contract addressesMainnet package and object ids for every protocol, linked to the Sui explorer.
- Status pageLive availability of the API and the app. Not a security channel, but the first thing to check during an incident.
Access
Geographic restrictions.
The protocol is a contract on a public chain; the interfaces that front it are not available everywhere.
- OFAC-sanctioned countries
- Blocked entirely
- United Kingdom
- No perpetuals terminal or account management
- United States
- No perpetuals terminal or account management
The legal documents govern in full. Note that the Terms of Service and the Privacy Policy currently name different operating entities; both are linked below, unmodified, rather than paraphrased here.
Risk
What can go wrong.
Each of these is documented by Aftermath. None of them is a reason not to use the protocol; all of them are reasons to size a position deliberately.
Leverage risk
Perpetuals are margined products. An IMR of 0.1 means up to 10× leverage, and an MMR of 0.05 means liquidation at 20× effective leverage. Positions can be liquidated in full over time through repeated partial liquidations.
DocsSocialized loss and ADL
If a market's insurance fund cannot cover bad debt, losses are socialized and profitable positions can be auto-deleveraged. A position can be closed by the protocol without your instruction.
DocsVault risk
The documentation lists strategy, market, smart contract, and curator risk for permissionless vaults, and says of the afLP vault plainly that it is not a risk-free yield product. Deposits are locked for four days, with force withdrawal available one day after a request sits idle.
DocsCurator risk
A vault curator runs a strategy with pooled capital. The protocol caps the curator fee at 20% of profits, the lock at 60 days, and the market count at 12 — but it does not evaluate the strategy for you, and there is no close-vault function.
DocsSmart contract risk
Every protocol here is code deployed onchain. Two of them have a published third-party review; the rest do not. Code that has been reviewed can still contain faults.
Docs
FAQ
Frequently asked questions
Verify it yourself.
The AMM is open source and every mainnet package id is published. Read the code and the live parameters instead of taking this page's word for them.