Developer Docs


Smart Contract Risks

All smart contracts are subject to risks. The Increment contracts have undergone testing, code reviews, internal audits and several external audits, but it is possible that they may still contain unknown bugs and produce economic errors that are inherently unforeseeable.
Never trade or invest with funds that you can't afford to lose.

Economic risks


Our protocol relies on liquidity providers minting virtual tokens to the curve pool. Without enough liquidity remaining, traders are unable to open/close positions, liquidations are impossible and liquidity providers might be unable to close uneven positions. We assume that some amount of funds will always remain in the protocol.


Liquidations may not be executed on time if oracle price updates too slowly or transactions are not processed.
Unrealized PnL currently does not take slippage into account, so large positions can generate bad debt during liquidation. Thus, the system limits the maximum position size that a single address can open.


We use TWAP oracles for input validation of closing positions and liquidations. Manipulating TWAPs is more difficult than manipulating a spot price, but they can be tampered with if given sufficient financial resources.



Governance has privileged access to some types of operations (see Governance). A risk associated with these privileges would be the pausing and unpausing contracts function, which can be detrimental to user positions in case of price fluctuations. Pausing the protocol should only occur under extremely critical circumstances, such as if a hack were to occur.


Curve factory

The admin (0xbabe61887f1de2713c6f97e567623453d3C79f67) of the curve factory (0xF18056Bbd320E96A48e3Fbf8bC061322531aac99) can change all parameters of the CryptoSwap contract. This changes the operation of the underlying trading engine impacting traders, liquidity providers and liquidators.
Chainlink oracles are used to determine the funding rate of the protocol. When they provide false or delayed price information, the funding rates could be incorrectly estimated.

Reserve Assets

First, we use UA as our unit of account. One has to lock USDC to mint UA, in the same proportion. We assume a fixed price of 1 USD for each unit of UA. USDC is an upgradable contract. Fee on transfer tokens are not supported.
Second, we might allow list other ERC20 tokens to be used as collaterals in the protocol but their values might change over time. To mitigate this risk, we introduced a weight attached to collateral. The less stable the collateral, the lower its weight. This parameter is changed by governance vote.

zkSync Era

Increment is built on the zkSync Era and a severe degradation in any part of this critical infrastructure will adversely affect the transactional activity on Increment.
Last modified 22d ago