# Parallel Documentation
Public documentation of the Parallel stablecoin protocol — USDp, sUSDp, PRL, multi-chain.
# Overview
## **Introduction**
**Parallel** is a decentralized, modular stablecoins protocol with different entities and individuals contributing to its development and adoption. As a result, the documentation refers to different areas of “Parallel” which are worth distinguishing.
* **Parallel Protocol**:\
A decentralized, non-custodial stablecoins protocol implemented for the Ethereum Virtual Machine.
* **Parallel Interfaces**:\
Multiple web interfaces allowing easy interaction with the Parallel Protocol. Those interfaces are ways to interact with the Parallel protocol.
* **Parallel Governance**:\
A governance system for governing the Parallel Protocol, enabled by the [PRL Token](/governance/parallel-governance-token-prl).
## Parallel
Parallel is a capital-efficient, modular stablecoins protocol that allows the creation of over-collateralized, decentralized stablecoins.
The protocol comes with EVM smart contracts which facilitate interactions and integrations.
### Overview
Parallel is a stablecoins protocol allowing the creation of decentralized, capital-efficient and over-collateralized stablecoins built using a modular & upgradable architecture. The protocol consists of several different modules, which can be added or removed over time by the DAO, from which stablecoins can be issued or minted. Any type of stablecoin can be deployed on Parallel, for instance: USD, EUR, CHF, ETH, BTC, etc..
Parallel is licensed under [BUSL-1.1](https://github.com/parallel-protocol/parallel-parallelizer/blob/main/LICENSE) & [MIT](https://github.com/parallel-protocol/parallel-core/blob/main/LICENSE.md). Once deployed, Parallel will function in perpetuity, provided by the existence of the blockchain and their dependencies.
### Key Concepts
Stablecoins in Parallel involves:
* **Collateralization**: Stablecoins are backed by an overcollateralized basket of correlated assets.
* **Depeg Protection**: The protocol automatically adjusts fees and penalties when an asset deviates from its target value.
* **Modularity:** The protocol operates through independent minting modules that can be activated or modified by the DAO.
* **Open Participation**: Anyone can mint or burn stablecoins through the protocol.
# Products
## Stablecoins
Parallel stablecoins are decentralized stable currencies issued by the protocol. Their issuance is handled through minting modules, such as the Parallelizer Module, where users deposit an overcollateralized basket of assets (such as ETH, BTC, or other stablecoins) to mint new tokens.
Each stablecoin ([USDp](/products/parallel-v3/stablecoins-and-savings/usdp-and-susdp), etc.) can be configured independently with its own parameters, including the types of assets accepted as collateral, the fees applied, and the exposure limits set by the DAO.
To ensure price stability, the protocol automatically adjusts minting or burning fees whenever the token deviates from its reference currency. In practice, these stablecoins form the core of the Parallel system and serve as the foundation for all other ecosystem products.
Discover USDp
## Savings
Savings tokens are the “yield-bearing” versions of Parallel stablecoins. When a user deposits a standard stablecoin, such as [USDp](/products/parallel-v3/stablecoins-and-savings/usdp-and-susdp), they receive its Savings equivalent, like sUSDp.
This token represents a staked position that automatically accrues yield over time. The yield comes from the protocol’s revenues, such as fees from minting and burning operations or stablecoin reserve management. The calculation and distribution of these yields are managed by “keepers”, actors designated by the DAO to guarantee transparency and consistency.
As a result, Savings tokens allow users to grow their stablecoin holdings without leaving the Parallel ecosystem, while benefiting from a simple and integrated mechanism.
Discover sUSDp
# Use Cases
## Stablecoins
* **Payments & Transfers**: Users can send and receive money globally in a stable currency (USDp, etc.) without being exposed to crypto volatility.
* **Trading & Liquidity**: They can be used on decentralized exchanges (DEXs) as a stable trading pair or liquidity pool asset.
* **Collateral in DeFi**: Stablecoins can serve as collateral in lending protocols, derivatives platforms, or yield farming strategies.
* **Multi-Currency Options**: By supporting several fiat references (USD, EUR…), Parallel stablecoins open the door to diversified currency usage in DeFi.
## Savings
* **Passive Income**: Users can hold Savings tokens (eg. sUSDp) to automatically earn interest without actively managing positions.
* **Safe Yield Alternative**: Provides a decentralized alternative to traditional savings accounts, especially attractive in countries with low bank interest rates.
* **Integration in DeFi**: Savings tokens can be used in DeFi protocols (as collateral, in pools, or strategies) while continuing to accrue yield.
* **Long-Term Store of Value**: They allow users to park funds safely over time, combining stability (via the peg) and growth (via yield).
# Parallel V3
Parallel V3 is a stablecoins protocol allowing the creation of decentralized, capital-efficient and over-collateralized stablecoins built using a modular & upgradable architecture.
The protocol consists of several different modules,which can be added or removed over time by the DAO, from which stablecoins can be issued or minted.
Any type of stablecoin can be deployed using Parallel V3, for instance: [USD](/products/parallel-v3/stablecoins-and-savings/usdp-and-susdp), EUR, CHF, ETH, BTC, etc..
High Level Architecture
# How It Works
Parallel V3 is designed as a modular and scalable system where each functional component exists as an independent module. These modules can be deployed, upgraded, paused, or reconfigured without disrupting the entire protocol. This gives the opportunity to launch multiple stablecoins (USDp, EURp, etc.), customize their parameters, and extend functionality over time.
Parallel Stablecoins Minting Modules
# Parallelizer Module
## Introduction
The Parallelizer Module is one of the main minting modules of Parallel stablecoins. It is conceived as a basket of different assets which can all be used to mint or burn the stablecoin at oracle value.
It comes with automated mechanisms to maintain the exposure to each asset in the reserves within reasonable bounds. This enables the system to properly segregate and diversify the risks between the assets in its backing, and guarantees at the same time that in case of a black swan event the system does not end up over-exposed to the weakest assets of its reserves.
The Parallelizer Module supports three main user actions: Mint, Burn and Redeem. The mint and burn actions rely on the idea that each asset in the reserves has a target price used to assess whether the asset is depegging and some conservative measure must be taken or not.
Practically speaking, the three operations work as follows:
* **Mint:** Stablecoins can be minted at oracle value from any of the supported assets with adaptive fees provided that the deviation of the asset used with respect to its target price is reasonable.
* **Burn:** Stablecoins can be burnt at oracle value for any of the assets in the backing with adaptive fees, provided that the deviation of all assets respective to their target price are reasonable. The idea is to avoid capital outflows changing the exposures of the system in times of uncertainty.
* **Redeem:** Stablecoins can be redeemed at any time against a proportional amount of each asset in the backing. Users should have a way to exit at any time, and so this feature is available in any conditions.
Parallelizer Module
Built as an improvement of classic price stability modules (e.g. Sky) for stablecoin protocols, the Parallelizer system is designed with the following key properties:
* **Scalability:** The Parallelizer enables minting and burning with limited fees from a wide range of assets. Its mechanisms work similarly with $1m TVL as with $1bn TVL.
* **Resilience:** The underlying mechanisms of the Parallelizer system are all fully autonomous and predictable by all types of stakeholders. In case of a black swan event, the Parallelizer provides reasons to bet on the stablecoin returning to its target price.
* **Trustlessness:** The Parallelizer is able to autonomously withstand unforeseen events, such as collateral depegs or hacks, without requiring any governance intervention.
* **Fairness:** There cannot be any bank run as redemptions are thought to break sequentiality between users.
* **Robustness:** The Parallelizer can be used as a basket of different stablecoins or assets allowing collateral risk to be well diversified.
* **Safety:** If fees are properly set, the design provides incentives to bring the basket of reserves to a target desired allocation. In case of a depeg, it is unprofitable to perform trades that leave the protocol holding weak assets.
* **Gas-efficiency:** Thanks to a range of different optimizations, the system is able to minimize the gas needed to interact with it.
* **Modularity:** The system can not only accept any type of asset in the backing, its implementation is such that it can work for any type of stablecoin. On top of that, it is fully compatible with the other protocol’s minting modules: it works in parallel with the bridging module, savings module & flashloan module.
## Mint & Burn
In the Parallelizer, it is possible to mint and burn the stablecoin for any of the asset in the collateral at a variable price. On top of the current oracle value of the asset, the price at which mints or burns happen also depend on whether the asset that is used is currently depegging or not.
Practically, this is done by tracking for each asset in the backing a target price denominated in the stablecoin’s base currency. This target value for a collateral can be either absolute or updated relatively frequently.
The stablecoin can be burnt for any asset in the backing. Contrarily to the mint case, the price at which the stablecoin is burnt does not only depend on the price of the asset for which it is burnt, it also depends on the price of all the other stablecoins in the backing.
For all assets in the backing, the system looks into their deviation with respect to their target price and then applies to the burn price a penalty equal to the largest deviation possible.
In its normal state, the stablecoin can be burnt for any of the assets in the system at their fair value which guarantees a small slippage for burning the asset. But in case of a depeg of one of the asset in the backing, this mechanism is meant to preserve the system’s exposures to all assets.
As the stablecoin can be burnt for the same value of assets regardless of the asset it is burnt for, it disincentivizes stablecoin holders from rushing to exit towards the safest asset.
The availability of these mint and burn functions allow any arbitrageur to take advantage of price deviations of the stablecoin on the secondary market to bring the stablecoin back to peg.
Parallel Stability Mechanism
While the values at which mints and burns are taking place are one way for the Parallelizer system to control its relative exposures to the assets it has in reserves, the Parallelizer also relies on a variable fee mechanism to enable exposure to each asset to converge to a target area. Contrarily to the redemption case, a mint or a burn for one asset affects the system’s exposure to all its backing assets.
Parallel Stability Mechanism
And so fees for a mint or burn operation depend on the exposure to the concerned asset after the operation, as a way to prevent the exposure from going beyond certain lower and upper limits.
For instance, mint fees can be set to a high value (100%) when the exposure is above a target exposure, while burn fees can be made low to incentivize reducing the exposure. Conversely, when exposure to an asset is below the target window, mint fees can be set low and burn fees high to incentivize users to increase the system’s exposure to this asset.
Parallelizer Exposure Control
With this, it is still possible that exposures go over the bounds where for instance mint fees reach 100%. The reason is that when you burn for an asset, you’re mathematically increasing the exposures to all other assets in the system.
Assume the system is targeting a 40% maximum exposure for a stablecoin *USDb*, and so far 33 USDp have been issued with *USDa*, 33 with another stablecoin *USDc* and 33 with *USDyield*, then someone burning 15 USDp for *USDyield* would bring the exposure to *USDb* to above 40%. It should be at this point impossible to mint USDp with *USDb*, but burning USDp for *USDb* should come at a low cost.
In the Parallelizer, there can be negative fees to incentivize people to come with a certain asset. The system however verifies that this does not open arbitrage loops. It is impossible to set negative mint fees if these are in absolute value bigger than the positive burn fees for all the other assets in the system.
Below is an example of how a rebalancing operation may look like in the case of USDp:
Parallelizer Rebalancing
## Redeem
The redeem feature allows users to exchange their stablecoins for a proportional share of the underlying reserve assets at any time. This mechanism is designed to ensure fairness, especially during market stress scenarios, by preventing early redeemers from gaining an advantage over others.
* **Proportional Distribution:** Upon redemption, users receive a mix of reserve assets proportional to their share of the total stablecoins, adjusted by a penalty factor. This ensures that no single user can deplete specific assets, maintaining system balance.
* **Penalty Factor:** A dynamic penalty is applied during redemption, particularly when the system’s collateral ratio falls below 100%. This serves to:
* **Deter Bank Runs:** Users receive less than the fair value if they attempt mass redemptions during downturns.
* **Incentivize Stability:** Encourages users to hold their stablecoins, allowing the system time to recover.
For example, if the collateral ratio drops to 98.5% due to a depeg, and the penalty factor is set to 0.98, a user redeeming 10 USDp might receive assets worth approximately $9.65 instead of $9.85, thereby contributing to the protocol’s re-collateralization.
The figures below show the effect of burning with respect to redeeming in different collateral ratio settings:
Burning versus Redeeming in different cases
Burning versus Redeeming in different cases
## Collateral Whitelist
The Parallizer can handle assets requiring permissioned holders. Certain collateral assets can be whitelisted, meaning only specific addresses are allowed to burn them for stablecoins or receive them during redemptions. This is particularly relevant for security tokens with restricted transferability.
The presence of whitelisted assets limits the full functionality and fairness of Parallelizer to whitelisted addresses only.
For example, if whitelisted collateral represents 20% of a fully collateralized protocol, a non-whitelisted address redeeming stablecoins would only receive 80% of the equivalent value (as they cannot receive the whitelisted token), whereas a whitelisted address would receive 100%. Non-whitelisted addresses can still burn stablecoins for non-whitelisted collateral.
Since redemption is primarily intended for sophisticated market makers and arbitrageurs (who are likely to be whitelisted), incorporating whitelisted collateral adds complexity to the redemption process but does not hinder Parallelizer’s ability to maintain the stablecoin’s price parity with its reserves on the secondary market.
Whitelist management can vary depending on the asset and is typically overseen by protocol governance or external trusted systems.
# Savings Module
The Parallel Savings Module is what allows Parallel stablecoin holders to earn a native yield based on the returns generated by the protocol on its assets backing the stablecoin. It does not come with any extra composability risk, and there are no additional trust assumptions between owning an Parallel stablecoin and its staked version.
The yield rate that is paid by the Savings Module on a stablecoin depends on the return over assets the protocol is generating for this asset. Assuming all stablecoins are in the Savings contracts, and assuming no cut taken by the protocol, the protocol could pay up to this return over assets to all stablecoin holders.
The yield that is allocated through these contracts is generated by the assets held by the protocol across its different modules:
* Parallelizer Module
* Flashloan Module
* Bridging Module
Parallel Savings Yield & Multiplier Effect
The rate schedule above cannot be implemented automatically in a non manipulative way, and the protocol relies on keepers to adjust it. In order to prevent any potential keeper from turning malicious and uncontrollably increasing the sUSDp rate, there is a possibility to set a maximum possible rate on Savings module.
Savings modules smart contracts are simple ERC4626 contracts, which means that upon staking an Parallel stablecoin in a savings contract you receive a classical ERC20 token that can then be transferred, staked, lent or used in any way you want.
The value of these tokens is not designed to remain pegged to their respective underlying asset, but increases over time as yield accrues to it.
While you may be able to acquire staked tokens on DEXes, there is no need to, and depositing Parallel stablecoins can be done without any slippage directly with the staking smart contract.
This system comes with no deposit or withdrawal fees. And upon depositing in it, you immediately start earning. For instance 1 stablecoin deposited in a savings contract and withdrawn after a 12s block would have earned the equivalent of 12s of the yearly rate encoded in the contract.
# Bridging Module
The Bridging Module is entirely based on the Parallel V2 [Bridging Module](/products/parallel-v2/how-it-works/bridging-module), which is live on Ethereum, Polygon PoS & Fantom since November 2024. The Bridging Module was originally designed to be used in future versions of the protocol without any changes.
## LayerZero Infrastructure
LayerZero is an immutable, censorship-resistant, and permissionless smart contract protocol that enables anyone to send, verify, and execute arbitrary messages on a supported blockchain. Using smart contracts deployed on each chain, in combination with Decentralized Verifier Networks ([DVNs](#decentralized-verifier-networks-dvns)) and Executors, LayerZero enables different blockchains to seamlessly interact with one another.
LayerZero Infrastructure
## Decentralized Verifier Networks (DVNs)
DVNs verify cross-chain messages. This permissionless role empowers any entity capable of verifying cross-chain data packets to join LayerZero as a DVN. Any native bridge, third-party bridge, middle chain, oracle, or other verification method may be used as a DVN, thereby avoiding vendor lock-in at the security level. As LayerZero has a modular design, application owners can combine DVNs to maximize verification for characteristics like security, cost, speed, or any parameter an application might want.
## Permissionless Execution (Executors)
Any entity can run an Executor, as it is an entirely permissionless role. The Executor ensures the smooth execution of a message on the destination chain by offering gas abstraction to the end-user. Executors do this by quoting end-users on the source chain in the source chain gas token while executing the transaction automatically on the destination chain. Much like applications can select a DVN set, they can also configure their application to choose a certain Executor or group of Executors. Applications also have the ability to build and run their own executor (as they can for DVNs) or operate without an Executor and have end-users manually invoke ‘lzReceive’ via [LayerZero Scan](https://layerzeroscan.com/).
## Bridging Module Specifications
### OFT Standard
The bridging module is following the Omnichain Fungible Token (OFT) Standard created by LayerZero. You can find more information about it [here](https://docs.layerzero.network/v2/developers/evm/oft/quickstart).
### Modular Security Stack
**Entirely controlled by the DAO:** The bridging module is entirely managed by the DAO. Nobody else can change the parameters chosen by the DAO apart from itself.
**Decentralized Verifier Networks (DVNs):** X of Y of N allows the DAO to designate a quorum of DVNs to check the integrity of a cross-chain message before signing off on a message’s validity. X of Y of N allows the DAO to combine DVNs however they like. For instance, a “1 of 3 of 5” combination of DVNs would include one required DVN and two arbitrary DVNs out of a total of five to verify a message before moving on to execution.
**Executors:** Thanks to the permissionless nature of Executors, even if all automatic executors are down it’s still possible for the user to execute the transaction himself by manually invoke ‘lzReceive’ with transaction data on the destination chain, either using [LayerZero Scan](https://layerzeroscan.com/protocol/parallel-protocol) or the destination blockchain block explorer.
### Extensible
Let’s say the bridging module for a Parallel stablecoin called TKN is deployed on 3 blockchains, thanks to the bridging infrastructure users will be able to bridge from chain A to chain C, then to chain C to chain B, without having to bridge back to chain A. In other words, the bridging module acts as a mesh network where each blockchain can interact with each other, rather than as a network centralized around a single chain. This increases simplicity, efficiency and reduces the costs associated with bridging.
### Mint & Burn Limits
**Daily:** This parameter defines the maximum amount of tokens that can be minted or burned per day. It is fully controlled & configurable by the DAO, and can be changed at any time via the ‘setBurnDailyLimit’ and ‘setMintDailyLimit’ functions in the OFT contract (lz-TKN). If the maximum burn amount is reached, the user will not be able to initiate a bridge transaction. If the maximum mint amount is reached, the user will automatically receive lz-TKN instead of TKN, which he can burn for TKN when the limits are no longer reached, or bridge his lz-TKN back to another blockchain.
**Global:** This parameter defines a maximum total token amount that can be minted or burned on a blockchain. It is fully controlled & configurable by the DAO and can be changed by it at any time via the ‘setGlobalBurnLimit’ and ‘setGlobalMintLimit’ functions in the OFT contract (lz-TKN). If the maximum burn amount is reached, the user will not be able to initiate a bridge transaction. If the maximum mint amount is reached, the user will automatically receive lz-TKN instead of TKN, which he can burn for TKN when the limits are no longer reached, or bridge his lz-TKN back to another blockchain.
### Isolation Mode
Isolation mode is our response to the mutualization of risks carried out by other bridge modules. The isolation mode makes it impossible to burn more stablecoins on the blockchain Y than what has been bridged from the other chains.
Isolation mode can be activated/deactivated by the DAO via the ‘toggleIsolateMode’ function in the OFT contract (lz-TKN)
### Fees
The protocol has the option to charge a fee when a TKN is bridged. The fee is taken on the destination blockchain when the lz-TKN is burned for TKN.
### Pause & Unpause
To make the protocol more secure in case of a problem, we’ve added the possibility to pause the TKN mint/burn. This function can be called by [emergency guardians](/security/parallel-emergency-guardians) as well as by the DAO via a vote. The mint/burn can be deactivated and reactivated via the ‘pause’ and ‘unpause’ functions.
## Bridge Transaction Lifecycle Overview
Bridge Transaction Lifecycle Overview
**Burn:** If no TKN burn limit (due to OFT configuration) is reached, then the TKN is burned and the lz-TKN equivalent is minted. However, if the burn limit is reached, the user will not be able to start the bridge process.
**Send:** The source chain OFT calls `lzSend` on the source LayerZero Endpoint, providing the message payload and its unique path.
**Verify:** Configured DVNs independently verify the packet on the destination side using the destination MessageLib. After the packet is verified by the sufficient number of DVNs required by the Security Stack, it is committed to the destination Endpoint by an appropriate worker (a DVN, executor, or user).
**Execute:** Endpoint ensures payload verification aligns with the OApp-configured Security Stack before committing to the channel. An executor invokes the `lzReceive` function to process the received packet with the Receiver OFT’s logic. This step ensures the message is delivered exactly once and without loss. If the system cannot guarantee this, the process is reverted to prevent any possibility of censorship.
**Mint:** If no TKN mint limit (due to OFT configuration) is reached, then the lz-TKN is burned and the TKN equivalent is minted. However, if the mint limit is reached, the user will receive lz-TKN (which can be bridged again to another blockchain), or wait until the mint limits on the destination blockchain are no longer reached to burn its lz-TKN in exchange for TKN.
# Flashloan Module
Flash loans (also called One Block Borrows) are special transactions that allow the borrowing of an asset, as long as the borrowed amount (and a fee) is returned before the end of the transaction. These transactions do not require a user to supply collateral prior to engaging in the transaction. The innovation is that stablecoins given out in flash loans are minted during the flash-loan transaction and burnt at the end of it: this means that the size of the flash loans taken is not capped by an amount of liquidity in a pool but rather by a parameter chosen by governance.
Like done elsewhere, flash-loan transactions are only valid when the amount borrowed by the address taking the flash-loan is returned plus a fee (governance could vote to set no fees) at the end of the transaction. There could also be a cap on the size of the flash-loan taken.
Flash loans of Parallel stablecoins may serve different use cases like arbitrage between assets without needing the principal amount to execute the arbitrage. Overall, it improves the general market efficiency for Parallel stablecoins.
Flash Loans Explained
:::info
Parallel introduces for each stablecoin different parameters defining the fees that can be taken at each flash-loan and the maximum size allowed for a flash-loan. These parameters can be modified by governance votes.
:::
# Stablecoins & Savings
## Stablecoins
Parallel stablecoins are decentralized stable currencies issued by the protocol. Their issuance is handled through minting modules, such as the Parallelizer Module, where users deposit an overcollateralized basket of assets (such as ETH, BTC, or other stablecoins) to mint new tokens.
Each stablecoin ([USDp](/products/parallel-v3/stablecoins-and-savings/usdp-and-susdp), etc.) can be configured independently with its own parameters, including the types of assets accepted as collateral, the fees applied, and the exposure limits set by the DAO.
To ensure price stability, the protocol automatically adjusts minting or burning fees whenever the token deviates from its reference currency. In practice, these stablecoins form the core of the Parallel system and serve as the foundation for all other ecosystem products.
## Savings
The Parallel Savings product is what allows Parallel stablecoin holders to earn a native yield based on the returns generated by the protocol on its assets backing the stablecoin. It does not come with any extra composability risk, and there are no additional trust assumptions between owning an Parallel stablecoin and its staked version.
The yield rate that is paid by the Savings Module on a stablecoin depends on the return over assets the protocol is generating for this asset. Assuming all stablecoins are in the Savings contracts, and assuming no cut taken by the protocol, the protocol could pay up to this return over assets to all stablecoin holders.
# USDp & sUSDp
## USDp
USDp is the USD stablecoin of Parallel V3. It is a decentralized, overcollateralized asset backed by a basket of cryptocurrencies and stablecoins, including yield-bearing versions such as sfrxUSD or sUSDe. The issuance and redemption of USDp are currently managed by Parallel modules.
USDp is currently deployed on these chains:
| Blockchain | Contract Address |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| Ethereum | [0x9B3a8f7CEC208e247d97dEE13313690977e24459](https://etherscan.io/address/0x9B3a8f7CEC208e247d97dEE13313690977e24459#code) |
| Base | [0x76A9A0062ec6712b99B4f63bD2b4270185759dd5](https://basescan.org/address/0x76A9A0062ec6712b99B4f63bD2b4270185759dd5#code) |
| Sonic | [0x08417cdb7F52a5021bB4eb6E0deAf3f295c3f182](https://sonicscan.org/address/0x08417cdb7F52a5021bB4eb6E0deAf3f295c3f182#code) |
| HyperEVM | [0xbe65f0f410a72bec163dc65d46c83699e957d588](https://hyperevmscan.io/address/0xbe65f0f410a72bec163dc65d46c83699e957d588#code) |
| Avalanche | [0x9eE1963f05553eF838604Dd39403be21ceF26AA4](https://snowscan.xyz/address/0x9ee1963f05553ef838604dd39403be21cef26aa4#code) |
| Polygon | [0x1250304F66404cd153fA39388DDCDAec7E0f1707](https://polygonscan.com/address/0x1250304F66404cd153fA39388DDCDAec7E0f1707#code) |
| Arbitrum | [0x76A9A0062ec6712b99B4f63bD2b4270185759dd5](https://arbiscan.io/address/0x76A9A0062ec6712b99B4f63bD2b4270185759dd5#code) |
| Optimism | [0x90337e484B1Cb02132fc150d3Afa262147348545](https://optimistic.etherscan.io/address/0x90337e484B1Cb02132fc150d3Afa262147348545#code) |
| Sei | [0x048C4e07D170eEdEE8772cA76AEE1C4e2D133d5c](https://seiscan.io/address/0x048C4e07D170eEdEE8772cA76AEE1C4e2D133d5c#code) |
| Binance Smart Chain | [0x048C4e07D170eEdEE8772cA76AEE1C4e2D133d5c](https://bscscan.com/address/0x048C4e07D170eEdEE8772cA76AEE1C4e2D133d5c#code) |
| Berachain | [0x9eE1963f05553eF838604Dd39403be21ceF26AA4](https://berascan.com/address/0x9eE1963f05553eF838604Dd39403be21ceF26AA4#code) |
| Scroll | [0x9eE1963f05553eF838604Dd39403be21ceF26AA4](https://scrollscan.com/address/0x9eE1963f05553eF838604Dd39403be21ceF26AA4#code) |
| Gnosis | [0x9eE1963f05553eF838604Dd39403be21ceF26AA4](https://gnosisscan.io/address/0x9eE1963f05553eF838604Dd39403be21ceF26AA4#code) |
| Unichain | [0x9eE1963f05553eF838604Dd39403be21ceF26AA4](https://uniscan.xyz/address/0x9eE1963f05553eF838604Dd39403be21ceF26AA4#code) |
| Ink | [0x9eE1963f05553eF838604Dd39403be21ceF26AA4](https://explorer.inkonchain.com/address/0x9eE1963f05553eF838604Dd39403be21ceF26AA4?tab=contract) |
| Tac | [0x4DeF531c3060686948f00EcC7504f2E0b71EDa14](https://explorer.tac.build/address/0x4DeF531c3060686948f00EcC7504f2E0b71EDa14?tab=contract) |
| Linea | [0x8fCf9118fdD359f6277cDd143c2Da206e64140F3](https://lineascan.build/address/0x8fCf9118fdD359f6277cDd143c2Da206e64140F3#code) |
| X Layer | [0x8fCf9118fdD359f6277cDd143c2Da206e64140F3](https://www.oklink.com/fr/x-layer/address/0x8fCf9118fdD359f6277cDd143c2Da206e64140F3/contract) |
| Plume | [0x8fCf9118fdD359f6277cDd143c2Da206e64140F3](https://explorer.plume.org/address/0x8fCf9118fdD359f6277cDd143c2Da206e64140F3?tab=contract) |
| Plasma | [0xC2f8B5d893217462aE9c9879c9285A5a3AAbcb8F](https://plasmascan.to/address/0xC2f8B5d893217462aE9c9879c9285A5a3AAbcb8F#code) |
| Katana | [0x8fCf9118fdD359f6277cDd143c2Da206e64140F3](https://katanascan.com/address/0x8fCf9118fdD359f6277cDd143c2Da206e64140F3#code) |
| Fraxtal | [0x8fCf9118fdD359f6277cDd143c2Da206e64140F3](https://fraxscan.com/address/0x8fCf9118fdD359f6277cDd143c2Da206e64140F3#code) |
| World | [0x8fCf9118fdD359f6277cDd143c2Da206e64140F3](https://worldscan.org/address/0x8fCf9118fdD359f6277cDd143c2Da206e64140F3#code) |
| Hemi | [0x8fCf9118fdD359f6277cDd143c2Da206e64140F3](https://explorer.hemi.xyz/address/0x8fCf9118fdD359f6277cDd143c2Da206e64140F3?tab=contract) |
## Staked USDp
sUSDp is the yield-bearing version of USDp, the stablecoin of Parallel V3. When a user deposits USDp into the Savings Module (an ERC-4626 vault), they receive sUSDp in return. This token represents their claim on the deposited USDp plus the yield generated by the protocol.
sUSDp is currently deployed on these chains:
| Blockchain | Contract Address |
| ---------- | ----------------------------------------------------------------------------------------------------------------------------- |
| Ethereum | [0xd3a452b305c8285c0dd7b8537665c734d3d279ef](https://etherscan.io/address/0xd3a452b305c8285c0dd7b8537665c734d3d279ef#code) |
| Base | [0x472ed57b376fe400259fb28e5c46eb53f0e3e7e7](https://basescan.org/address/0x472ed57b376fe400259fb28e5c46eb53f0e3e7e7#code) |
| Sonic | [0xe8a3da6f5ed1cf04c58ac7f6a7383641e877517b](https://sonicscan.org/address/0xe8a3da6f5ed1cf04c58ac7f6a7383641e877517b#code) |
| HyperEVM | [0x9b3a8f7cec208e247d97dee13313690977e24459](https://hyperevmscan.io/address/0x9b3a8f7cec208e247d97dee13313690977e24459#code) |
| Avalanche | [0x9d92c21205383651610f90722131655a5b8ed3e0](https://snowscan.xyz/address/0x9d92c21205383651610f90722131655a5b8ed3e0#code) |
# Implementation
## Parallelizer Module
The Parallelizer Module, which is going to serve as the main minting module, is deployed on what we believe to be the main drivers for growth for the protocol. Tokens allowed in the backing of USDp have been carefully reviewed for their stability, robustness, sustainable yield generation and business development potential. Allowed assets and their parameters can be updated at any time by the DAO.
The Parallelizer Module is deployed on several initial chains with these parameters:
* **Ethereum:**
* **frxUSD:**
* Price Feed: [Chainlink frxUSD/USD](https://etherscan.io/address/0x9B4a96210bc8D9D55b1908B465D8B0de68B7fF83#code)
* Minimum Exposure: 0.00%
* Maximum Exposure: 100.00%
* Whitelisted: No
* Stale Period: 86,400 seconds
* Mint Fee: 0.00%
* Burn Fee: 0.00%
* Mint Cap: 100,000,000.00
* **sfrxUSD:**
* Price Feed: [sfrxUSD/frxUSD Exchange Rate](https://etherscan.io/address/0xcf62F905562626CfcDD2261162a51fd02Fc9c5b6#code) + [Chainlink frxUSD/USD](https://etherscan.io/address/0x9B4a96210bc8D9D55b1908B465D8B0de68B7fF83#code) ([MorphoChainlinkOracleV2](https://etherscan.io/address/0x0cB7dEe76aA916A3666F50b044f16051C325B3E2#code))
* Minimum Exposure: 20.00%
* Maximum Exposure: 95.00%
* Whitelisted: No
* Stale Period: 86,400 seconds
* Mint Fee: 0.00%
* Burn Fee: 0.05%
* Mint Cap: 100,000,000.00
* **USDe:**
* Price Feed: [Chainlink USDe/USD](https://etherscan.io/address/0xa569d910839Ae8865Da8F8e70FfFb0cBA869F961#code)
* Minimum Exposure: 0.00%
* Maximum Exposure: 100.00%
* Whitelisted: No
* Stale Period: 86,400 seconds
* Mint Fee: 0.00%
* Burn Fee: 0.00%
* Mint Cap: 100,000,000.00
* **sUSDe:**
* Price Feed: [Chainlink sUSDe/USD](https://etherscan.io/address/0xFF3BC18cCBd5999CE63E788A1c250a88626aD099#code)
* Minimum Exposure: 20.00%
* Maximum Exposure: 95.00%
* Whitelisted: No
* Stale Period: 86,400 seconds
* Mint Fee: 0.00%
* Burn Fee: 0.05%
* Mint Cap: 100,000,000.00
* **Base:**
* **USDS:**
* Price Feed: [Chainlink USDS/USD](https://basescan.org/address/0x2330aaE3bca5F05169d5f4597964D44522F62930#code)
* Minimum Exposure: 0.00%
* Maximum Exposure: 100.00%
* Whitelisted: No
* Stale Period: 86,400 seconds
* Mint Fee: 0.00%
* Burn Fee: 0.00%
* Mint Cap: 100,000,000.00
* **sUSDS:**
* Price Feed: [sUSDS/USDS Exchange Rate](https://basescan.org/address/0x906B24a339b848369B24Dc9Ed368b947fB9693bf#code) + [Chainlink USDS/USD](https://basescan.org/address/0x2330aaE3bca5F05169d5f4597964D44522F62930#code) ([MorphoChainlinkOracleV2](https://basescan.org/address/0x965018CbDdC4683EfA22998C324C399D7C7B0E51#code))
* Minimum Exposure: 20.00%
* Maximum Exposure: 95.00%
* Whitelisted: No
* Stale Period: 86,400 seconds
* Mint Fee: 0.00%
* Burn Fee: 0.05%
* Mint Cap: 100,000,000.00
* **HyperEVM:**
* **USDe:**
* Price Feed: [Redstone USDe/USD](https://hyperevmscan.io/address/0xca727511c9d542aab9ef406d24e5bbbe4567c22d#code)
* Minimum Exposure: 0.00%
* Maximum Exposure: 100.00%
* Whitelisted: No
* Stale Period: 86,400 seconds
* Mint Fee: 0.00%
* Burn Fee: 0.00%
* Mint Cap: 100,000,000.00
* **sUSDe:**
* Price Feed: [Redstone sUSDe/USD](https://hyperevmscan.io/address/0xFf8D73F413F0093A14190A987883B5101D7855Dd#code)
* Minimum Exposure: 20.00%
* Maximum Exposure: 95.00%
* Whitelisted: No
* Stale Period: 86,400 seconds
* Mint Fee: 0.00%
* Burn Fee: 0.05%
* Mint Cap: 100,000,000.00
* **Avalanche:**
* **USDC:**
* Price Feed: [Chainlink USDC/USD](https://snowscan.xyz/address/0xF096872672F44D6EBA71458D74Fe67F9A77A23B9#code)
* Minimum Exposure: 0.00%
* Maximum Exposure: 100.00%
* Whitelisted: No
* Stale Period: 86,400 seconds
* Mint Fee: 0.00%
* Burn Fee: 0.00%
* Mint Cap: 100,000,000.00
* **ygamiUSDC Silo Vault: (wrapped as a Yearn Vault)**
* Price Feed: [Vault Share Exchange Rate](https://snowscan.xyz/address/0x9fD32FD5e32C6B95483d36C5E724C5C5250Ce010#code) + [Chainlink USDC/USD](https://snowscan.xyz/address/0xF096872672F44D6EBA71458D74Fe67F9A77A23B9#code) ([MorphoChainlinkOracleV2](https://snowscan.xyz/address/0x338Dab2A67193C1E8E53506Ae34552B588DB2A44#code))
* Minimum Exposure: 20.00%
* Maximum Exposure: 95.00%
* Whitelisted: No
* Stale Period: 86,400 seconds
* Mint Fee: 0.00%
* Burn Fee: 0.05%
* Mint Cap: 100,000,000.00
## Savings Module
The Savings USDp, which is called sUSDp is deployed on several chains. The Savings USDp will act as a low risk yield bearing with real yield coming from assets generating yield in the backing of USDp. Main use cases include, but are not limited to wallet integration for one click USD saving account & collateral asset in lending protocols.
As mentioned previously, savings rates aren’t automatically updated and need to be updated by a keeper. Cooper Labs and Mimo Labs have been approved as keepers.
:::info
In order to prevent any potential keeper from turning malicious and uncontrollably increasing the sUSDp rate, the maximum possible rate of sUSDp has been set at 35.00%
:::
The Savings Module is deployed on several initial chains with these parameters including:
* Ethereum
* Base
* HyperEVM
* Avalanche
## Bridging Module
Deploying the Bridging Module on all the chains where the core protocol is deployed is allowing USDp to freely move across any chain, including those where the Parallelizer Module is not deployed. This is also enabling contributors to move forward extremely quickly in terms of integration and business development, requiring no additional development work to deploy the token on a lending protocol or DEX. The Bridging Module is deployed on several initial chains with these parameters including:
* **Ethereum:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Base:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Sonic:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **HyperEVM:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Avalanche:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Binance Smart Chain:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Optimism:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Arbitrum:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Polygon PoS:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Sei:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Berachain:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Scroll:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Gnosis:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Unichain:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Ink:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Tac:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Linea:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **X Layer:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Plume:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Plasma:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Katana:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Fraxtal:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **World:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
* **Hemi:**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Nethermind
* Optionals: 1 of 2
* Horizen
* Canary
* Mint Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Burn Limits:
* Daily: 2,500,000.00
* Global: 10,000,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
## Flashloan Module
Flashloans play an important role in Parallel V3, enabling USDp assets in backing to be rebalanced in the Parallelizer Module, and allowing future USDp liquidity pools to be arbitraged in order to maintain the best price between all pools.
To facilitate these operations, the flashloan module is deployed on all chains where the core protocol is also deployed. Fees will be sent to the FeeCollector contract in order to be redistributed. Below are current DAO-approved parameters:
Blockchain
Maximum Amount
Fee (%)
Ethereum
100,000.00
0.00
Base
100,000.00
0.00
Sonic
100,000.00
0.00
HyperEVM
100,000.00
0.00
Avalanche
100,000.00
0.00
Binance Smart Chain
100,000.00
0.00
Optimism
100,000.00
0.00
Arbitrum
100,000.00
0.00
Polygon PoS
100,000.00
0.00
Sei
100,000.00
0.00
Berachain
100,000.00
0.00
Scroll
100,000.00
0.00
Gnosis
100,000.00
0.00
Unichain
100,000.00
0.00
Ink
100,000.00
0.00
Tac
100,000.00
0.00
Linea
100,000.00
0.00
X Layer
100,000.00
0.00
Plume
100,000.00
0.00
Plasma
100,000.00
0.00
Katana
100,000.00
0.00
Fraxtal
100,000.00
0.00
World
100,000.00
0.00
Hemi
100,000.00
0.00
# Fee Distribution
Parallel V3 generated fees by the USDp codebase are distributed as follow:
| Receiving Fees | Fee Distributed (%) |
| -------------- | ------------------- |
| sUSDp | 90.00 |
| DAO Treasury | 10.00 |
# Governance
While the main functionalities of Parallel V3 can work autonomously with no governance involved, Parallel V3 is not a governance-free protocol and is controlled by [sPRL holders](/governance/sprl).
The protocol governance must be involved to:
* Deploy a new stablecoin
* Deploy the Protocol on a new chain
* Add/remove new minting modules
* Add/remove collateral assets to its backing
* Adjust the fee parameters that determine the target and maximum exposures to each asset
* Adjust oracle parameters
* Adjust Parallelizer module parameters
* Adjust Savings module parameters
* Adjust Bridging module parameters
* Adjust Flashloan module parameters
* Deploy an upgrade of the Protocol
# Licensing
Parallel V3 is divided into 3 different repositories, each with different licenses:
* [parallel-core](https://github.com/parallel-protocol/parallel-core): Licensed under MIT license, available [here](https://github.com/parallel-protocol/parallel-core/blob/main/LICENSE.md). Basically, you can do whatever you want as long as you include the original copyright and license notice in any copy of the software/source. The license includes the AccessManager contract.
* [parallel-tokens](https://github.com/parallel-protocol/parrallel-tokens): Licensed under MIT license, available [here](https://github.com/parallel-protocol/parrallel-tokens/blob/main/LICENSE). Basically, you can do whatever you want as long as you include the original copyright and license notice in any copy of the software/source. The license includes the stablecoins token contracts, as well as the Bridging & Flashloan modules.
* [parallel-parallelizer](https://github.com/parallel-protocol/parallel-parallelizer): Licensed Friendly Fork of Angle Protocol codebase. Released under Business Source License 1.1 (BUSL 1.1) with rights granted to Mimo Labs & Cooper Labs to use the license for commercial purposes via a signed [License and Fee-sharing Agreement](https://github.com/parallel-protocol/parallel-parallelizer/blob/audit/bailsec-april-2025/Parallel_x_Angle___Licensing_agreement_redacted.pdf). In [PIP-50](https://gov.parallel.best/t/pip-50-l-introducing-parallel-v3-a-modular-scalable-decentralized-stablecoins-protocol/475), it was approved that 1% of the fees generated by the licensed friendly fork (parallel-parallelizer [repositery](https://github.com/parallel-protocol/parallel-parallelizer)) will be allocated to Angle Labs until the license expires on June 1, 2026.
# Parallel V2
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
Parallel V2 is a decentralized protocol that issues stablecoins, the € stablecoin ([PAR](https://docs.parallel.best/parallel-protocol/parallel-v2/par)) and the $ stablecoin ([paUSD](https://docs.parallel.best/parallel-protocol/parallel-v2/par-1)), on the Ethereum, Polygon and Fantom blockchains. The [PAR](https://docs.parallel.best/parallel-protocol/parallel-v2/par) & [paUSD](https://docs.parallel.best/parallel-protocol/parallel-v2/par-1) stablecoin are decentralized, non-custodials, and collateral-backed FIAT stablecoins.
# Stablecoins
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
# PAR
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
PAR is a EURO stablecoin backed by collaterals, and can only be minted with governance-approved collaterals. PAR are created when users deposit accepted tokens (such as WETH, WBTC, USDC, etc) as collateral in vaults and in turn receive a loan against that collateral.
**Token Symbol:** PAR
| Blockchain | Contract Address |
| ----------- | ---------------------------------------------------------------------------------------------------------------------- |
| Ethereum | [0x68037790a0229e9ce6eaa8a99ea92964106c4703 ](https://etherscan.io/token/0x68037790a0229e9ce6eaa8a99ea92964106c4703) |
| Polygon PoS | [0xe2aa7db6da1dae97c5f5c6914d285fbfcc32a128](https://polygonscan.com/token/0xe2aa7db6da1dae97c5f5c6914d285fbfcc32a128) |
| Fantom | [0x13082681E8CE9bd0aF505912d306403592490Fc7](https://ftmscan.com/token/0x13082681E8CE9bd0aF505912d306403592490Fc7) |
### PAR is non-custodial
There are no counterparties involved in the minting and burning of PAR tokens, as actors in the network transact directly with the PAR smart contracts. Vaults are non-custodial, with each borrower having full control over their collateral and borrowed PAR balances, provided it meets the minimum health factor governed by the protocol as a whole.
:::info
You can use PAR to earn yield by Providing Liquidity.
:::
# How does PAR work?
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
### How are PAR stablecoins created?
Users can deposit from a large variety of collateral types (like wBTC) and borrow a safe amount of PAR at low interest. As of May 2022, PAR is over-collateralized by over 6 different tokens on 3 different networks.
:::info
To get more informations on each collateral risks parameters, you can read PAR Risk Parameters.
:::
### What is an over-collateralized stablecoin ?
To retain its value, a stablecoin must have another asset that is put as collateral to back its intrinsic value. That collateral must be redeemable at any time.
PAR has a loan and repayment process utilizing collateralized debt positions (CDPs) via the Mimo Protocol to secure assets as collateral on-chain.
That means that for every 1€ of PAR out there, you can be sure that it’s backed with more than 1€ worth of another asset, such as BTC, ETH or USDC.
### What does this mean for the peg?
If PAR is trading below 1€, people are incentivized to buy PAR from open markets and pay off loans at a discount. This ensures that PAR won’t be worth substantially less than 1€ at all times.
If PAR is trading above 1€, people have an incentive to mint PAR from the vaults and sell it for collateral (for example). This ensures that PAR will not always be significantly higher than 1€.
## What is the difference with algorithmic stablecoins ?
Stablecoins are cryptocurrencies that are supposed to be pegged to fiat currencies like the US dollar. In the cases of USD-pegged stablecoins, their prices are supposed to be $1 at all times.
Each stablecoin project differs in ways they maintain the peg. The two biggest ones, tether (USDT) and Circle's usd coin (USDC), are "collateralized” by fiat reserves, meaning they have cash or cash-equivalent assets in their reserves. So each USDT or USDC traded in the crypto market is backed by what’s actually in the possession of the stablecoin issuers.
Over the past year, a new form of stablecoin emerged to increase capital efficiency: algorithmic stablecoins, such as terraUSD (UST), magic internet money (MIM), and neutrino usd (USDN).
They’re called algorithmic because what backs them is an on-chain algorithm that facilitates a change in supply and demand between them (the stablecoin) and another cryptocurrency that props them up.
### Differences
Unlike these projects, the PAR collateral is not the governance token (PRL), but assets such as Bitcoin, Ethereum, USDC, MATIC, etc. which ensures a better stability than when it is correlated to a governance token with a lower market cap.
:::info
To get more information about the difference between PAR and others stablecoins, you can read [Not all Stablecoins are made equal](https://medium.com/mimolabs/not-all-stablecoins-are-made-equal-724fd64a3de8) from Mimo Labs Medium.
:::
## Disclaimer
This guide is not financial advice.
:::warning
Keep in mind that a strategy that works well at a given time may perform poorly (or make you lose money) at another time. Please stay informed, monitor the markets, keep an eye on your investments, and as always, do your own research.
:::
# Where can I get PAR ?
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
## By Minting
Firstly, through minting by creating a [vault](/products/parallel-v2/how-it-works/vaults).

:::info
You can find how to mint PAR here.
:::
## By Swapping on a DEX (aggregator)
You can get PAR through DEX or DEX aggregators like [Paraswap](https://app.paraswap.io/#/MIMO-PAR/123?network=ethereum) or [1inch](https://app.1inch.io/#/1/swap/ETH/0x90b831fa3bebf58e9744a14d638e25b4ee06f9bc/import-token) which are interesting to find the best route to get the best exchange rate.
Swap on [Paraswap](https://app.paraswap.io/#/MIMO-PAR/123?network=ethereum)
Swap on [LiFi](https://transferto.xyz/swap)
Swap on [DefiLlama](https://swap.defillama.com/)
Swap on [DLN](https://app.dln.trade/dln?inputChain=137\&outputChain=1\&inputCurrency=0xe2aa7db6da1dae97c5f5c6914d285fbfcc32a128\&outputCurrency=0x68037790a0229e9ce6eaa8a99ea92964106c4703)
Swap on [1inch](https://app.1inch.io/#/1/swap/ETH/0x90b831fa3bebf58e9744a14d638e25b4ee06f9bc/import-token)
## By buying on a CEX
You can also find PAR on centralized exchanges like Bittrex, Liquid, HitBTC or Folgory.
[Trade on Bittrex](https://global.bittrex.com/Market/Index?MarketName=BTC-PAR)
 [Trade on Folgory](https://folgory.com/) - Euro Support, IBAN deposits, debit cards
[Trade on HitBTC](https://hitbtc.com/par-to-usdt)
# paUSD
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
paUSD is a USD stablecoin backed by collaterals, and can only be minted with governance-approved collaterals. paUSD are created when users deposit accepted tokens (such as WETH, WBTC, USDC, etc) as collateral in vaults and in turn receive a loan against that collateral.
**Token Symbol:** paUSD
| Blockchain | Contract Address |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------- |
| Ethereum | [0x571f54D23cDf2211C83E9A0CbD92AcA36c48Fa02](https://etherscan.io/address/0x571f54D23cDf2211C83E9A0CbD92AcA36c48Fa02#code) |
| Polygon PoS | [0x8054d4D130C3A84852f379424Bcac75673a7486B](https://polygonscan.com/address/0x8054d4D130C3A84852f379424Bcac75673a7486B#code) |
### paUSD is non-custodial
There are no counterparties involved in the minting and burning of paUSD tokens, as actors in the network transact directly with the paUSD smart contracts. Vaults are non-custodial, with each borrower having full control over their collateral and borrowed paUSD balances, provided it meets the minimum health factor governed by the protocol as a whole.
:::info
You can use paUSD to earn yield by Providing Liquidity.
:::
# How does paUSD work?
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
### How are paUSD stablecoins created?
Users can deposit from a large variety of collateral types (like wBTC) and borrow a safe amount of paUSD at low interest. As of May 2024, paUSD is over-collateralized by over 23 different tokens on 2 different networks.
:::info
To get more informations on each collateral risks parameters, you can read paUSD Risk Parameters.
:::
### What is an over-collateralized stablecoin ?
To retain its value, a stablecoin must have another asset that is put as collateral to back its intrinsic value. That collateral must be redeemable at any time.
paUSD has a loan and repayment process utilizing collateralized debt positions (CDPs) via the Mimo Protocol to secure assets as collateral on-chain.
That means that for every 1$ of paUSD out there, you can be sure that it’s backed with more than 1$ worth of another asset, such as BTC, ETH or USDC.
### What does this mean for the peg?
If paUSD is trading below 1$, people are incentivized to buy paUSD from open markets and pay off loans at a discount. This ensures that paUSD won’t be worth substantially less than 1$ at all times.
If paUSD is trading above 1$, people have an incentive to mint paUSD from the vaults and sell it for collateral (for example). This ensures that paUSD will not always be significantly higher than 1$.
## What is the difference with algorithmic stablecoins ?
Stablecoins are cryptocurrencies that are supposed to be pegged to fiat currencies like the US dollar. In the cases of USD-pegged stablecoins, their prices are supposed to be $1 at all times.
Each stablecoin project differs in ways they maintain the peg. The two biggest ones, tether (USDT) and Circle's usd coin (USDC), are "collateralized” by fiat reserves, meaning they have cash or cash-equivalent assets in their reserves. So each USDT or USDC traded in the crypto market is backed by what’s actually in the possession of the stablecoin issuers.
Over the past year, a new form of stablecoin emerged to increase capital efficiency: algorithmic stablecoins, such as terraUSD (UST), magic internet money (MIM), and neutrino usd (USDN).
They’re called algorithmic because what backs them is an on-chain algorithm that facilitates a change in supply and demand between them (the stablecoin) and another cryptocurrency that props them up.
### Differences
Unlike these projects, the paUSD collateral is not the governance token (MIMO), but assets such as Bitcoin, Ethereum, USDC, MATIC, etc. which ensures a better stability than when it is correlated to a governance token with a lower market cap.
:::info
To get more information about the difference between PAR and others stablecoins, you can read [Not all Stablecoins are made equal](https://medium.com/mimolabs/not-all-stablecoins-are-made-equal-724fd64a3de8) from Mimo Labs Medium.
:::
## Disclaimer
This guide is not financial advice.
:::warning
Keep in mind that a strategy that works well at a given time may perform poorly (or make you lose money) at another time. Please stay informed, monitor the markets, keep an eye on your investments, and as always, do your own research.
:::
# Where can I get paUSD ?
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
## By Minting
Firstly, through minting by creating a [vault](/products/parallel-v2/how-it-works/vaults) on [Parallel](https://pausd.mimo.capital/).
## By Swapping on a DEX (aggregator)
You can get paUSD through DEX or DEX aggregators like [Paraswap](https://app.paraswap.io/#/MIMO-PAR/123?network=ethereum) or [1inch](https://app.1inch.io/#/1/swap/ETH/0x90b831fa3bebf58e9744a14d638e25b4ee06f9bc/import-token) which are interesting to find the best route to get the best exchange rate.
Swap on [Paraswap](https://app.paraswap.io/#/MIMO-PAR/123?network=ethereum)
Swap on [LiFi](https://transferto.xyz/swap)
Swap on [DefiLlama](https://swap.defillama.com/)
Swap on [DLN](https://app.dln.trade/dln?inputChain=137\&outputChain=1\&inputCurrency=0xe2aa7db6da1dae97c5f5c6914d285fbfcc32a128\&outputCurrency=0x68037790a0229e9ce6eaa8a99ea92964106c4703)
Swap on [1inch](https://app.1inch.io/#/1/swap/ETH/0x90b831fa3bebf58e9744a14d638e25b4ee06f9bc/import-token)
# How It Works
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
# Classic Vaults
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
The core of the Parallel Protocol are **Vaults**. Users mint **PAR/paUSD** by depositing **collateral** such as Ether (ETH) into the Vault smart contract. The steps involved to mint new PAR/paUSD are as follows:
* A Borrower deposits collateral, automatically creating a new Vault. Based on the Vault's collateral balance, a Borrower can borrow up to a certain amount of PAR/paUSD. The Vault must be collateralized with more than a **Minimum Collateralization Ratio** (MCR) for borrowing. For example, an MCR of 150% means borrowers need 150% collateral deposited before they can borrow.
* A separate liquidation MCR (**Liquidation Ratio** (LR)) is used to calculate for liquidations. For example, an LR of 130% means Vaults with an MCR below 130% can be liquidated. Both ratios for initial borrowing and liquidations are configured per collateral type.
* The PAR smart contract mints the borrowed amount of PAR tokens to the Borrower.
* An **Origination Fee** is applied for newly created debt. (0.2% of minted amount)
* [PAR](/products/parallel-v2/stablecoins/par) & [paUSD](/products/parallel-v2/stablecoins/par-1) are ERC20 tokens that one can transfer and use normally, pegged to the EUR & USD fiat currency.
* A **Borrowing Fee** accrues over time on all active Vaults, which has to be fully repaid before the Borrower can withdraw their collateral.
* A **Health Factor** is the ratio between a vault's current and minimum MCR (or LR.) If a Vault's liquidation health factor goes below a minimum value due to market changes, profit-seeking Liquidators can liquidate the **undercollateralized** Vault to receive its collateral at a discount.
* Borrowers need to retain enough collateral in their Vaults to borrow additional funds and avoid being liquidated.
* The PAR & paUSD token are fully redeemable stablecoins. Borrowers can redeem and burn PAR/paUSD to repay their debt, close their Vault, and withdraw their collateral.
* Liquidators earn a liquidation bonus for liquidating underwater vaults.
* A **Liquidation Fee** is charged to the Borrower during liquidation, which is added to the outstanding debt.
:::info
Learn more about Vaults :
* [Depositing](/products/parallel-v2/how-it-works/vaults/depositing)
* [Borrowing](/products/parallel-v2/how-it-works/vaults/borrowing)
* [Fees](/products/parallel-v2/how-it-works/vaults/fees)
* [Withdrawing](/products/parallel-v2/how-it-works/vaults/withdrawing)
* [Repaying](/products/parallel-v2/how-it-works/vaults/repaying)
* [Liquidating](/products/parallel-v2/how-it-works/vaults/liquidating)
:::
# Depositing
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
The first step to start interacting with the Mimo protocol is to create a Vault and deposit collateral. Increasing the amount of collateral deposited increases the amount of PAR/paUSD one can borrow.

The deposited collateral is locked in a Vault, and allows the owner to borrow PAR/paUSD tokens up to an amount based on the Minimum Collateralization Ratio (MCR). An MCR of 150% means borrowers need 150% collateral deposited before they can borrow up to 100%.
# Borrowing
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
Borrowers can repay or borrow more PAR/paUSD at any time, within the limits of the MCR. Borrowing alters the total supply of outstanding PAR/paUSD. When one borrows, the Vaults contract mints new PAR/paUSD tokens for them.

Borrowers can continue to mint PAR/paUSD as long as they deposit a greater value of collateral in their vault. This guarantees that all outstanding PAR/paUSD are fully backed by sufficient collateral.
# Fees
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
The Parallel Protocol is generating revenues by taking fees on minted PAR/paUSD and distribute them to various actors. You can learn more:
* [Fees Generation](/products/parallel-v2/how-it-works/vaults/fees/fees-generation)
# Fees Generation
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
The Parallel Protocol is generating revenues by taking fees on minted PAR/paUSD. These fees are called "Origination Fee" and "Borrowing Fee".
### Origination Fee
The "Origination Fee" is a fee taken at the moment of the mint of newly PAR/paUSD tokens. The "Origination Fee" is quoted as a percentage of the total newly minted PAR/paUSD.
Origination Fee parameters for each token are available here.
### Borrowing Fee
The "Borrowing Fee" is a fee taken on the amount of PAR/paUSD minted by against a collateral. The "Borrowing Fee" is automatically added to the borrower's debt at each block.
Borrowing Fee parameters for each token are available here.
:::info
Learn more about Fee Distribution [here](/governance/parallel-governance-token-prl/tokenomics/fee-distribution).
:::
# Withdrawing
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
Withdrawing involves redeeming PAR/paUSD for the underlying collateral. When redeemed, the system burns PAR/paUSD tokens to repay a vault’s debt. This debt includes any borrowing fees that has accrued on the vault over time.

Users can withdraw their collateral whenever they wish as long as it does not decrease the Vault’s health factor below the minimum amount determined by the MCR. Withdrawing is limited to the Vault’s owner.
# Repaying
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
Vault owners are recommended to keep their collateral ratios well above the MCR and LR to avoid liquidations despite collateral price changes. One way to maintain a high collateral ratio is to regularly repay vault debt.

Users can repay their vault debt partially or fully at any point by redeeming PAR/paUSD tokens. PAR/paUSD tokens used to repay debt are burned, removing them from circulation.
# Liquidating
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
Liquidation ensures that there is always sufficient collateral to cover all PAR/paUSD tokens. Vaults below a specified health factor are subject to liquidation by profit-seeking actors in the network. Network actors have a financial incentive to trigger liquidations as fast as possible. This has the positive effect of removing risky vaults from the system.

A **liquidation fee** is charged to the borrower during liquidation, added to the outstanding debt.
## Insurance Fund
All vaults in the Parallel Protocol are covered by the Insurance Fund. The Insurance Fund comes into use when a vault that faces liquidation does not have enough collateral to pay for the entire outstanding debt.
:::info
Potential bad debt are covered by the Insurance Fund. Learn more about it [here](/security/insurance-fund).
:::
The Insurance Fund will cover the difference in those cases. Liquidation will simply fail if the safety reserve can not cover it. Once enough fees have been collected, liquidation can proceed. During this time, the safety reserve will take on the volatility risk of the collateral.
Insurance Fund Architecture
# Bridging Module
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
Tunnel, the Parallel bridging module is a secure, scalable, and decentralized bridging infrastructure which enable seamless transfer of PAR and paUSD between supported chains. The module is designed to be highly flexible while maintaining robust security, allowing the Parallel Protocol to expand across multiple chains without compromising the stability of its stablecoins. Built on LayerZero's infrastructure, it offers several key features:
## Security & Architecture
* Utilizes LayerZero's decentralized message verification and execution infrastructure
* Implements a modular security stack with configurable Decentralized Verifier Networks (DVNs)
* Employs an "X of Y of N" security model allowing flexible combinations of validators
* Includes fallback mechanisms through permissionless execution if automated systems fail
* Follows the Omnichain Fungible Token (OFT) standard
## Key Features
* **Daily & Global Limits**: Configurable mint and burn limits to manage risk
* **Isolation Mode**: Optional feature to contain risk from less secure chains
* **Fee System**: Flexible fee structure for sustaining operations
* **Emergency Controls**: Pause/unpause functionality for risk management
* **Fully DAO Controlled**: All parameters and operations managed by governance
## Risk Management
* Mint/burn limits on both daily and global levels
* Chain-specific isolation modes to prevent risk propagation
* Multiple DVNs required for transaction verification
* Automatic transaction reversal if required validators are unavailable
* Full governance control over all security parameters
## Codebase & License
The Bridging Module codebase is publicly available here and is released under the MIT License. The code has been audited by Bail Security. The audit report is available [here](/security/audits).
More technical informations available in the [developers documentation](/developers-hub/parallel-v2/bridging-module).
# LayerZero Infrastructure
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
## **Overview**
LayerZero is an immutable, censorship-resistant, and permissionless smart contract protocol that enables anyone to send, verify, and execute arbitrary messages on a supported blockchain. Using smart contracts deployed on each chain, in combination with [Decentralized Verifier Networks (DVNs)](https://docs.layerzero.network/v2/home/modular-security/security-stack-dvns) and [Executors](https://docs.layerzero.network/v2/home/permissionless-execution/executors), LayerZero enables different blockchains to seamlessly interact with one another. In LayerZero, message verification and execution are separated into two distinct phases, providing developers with more control over their application’s [security configuration](https://docs.layerzero.network/v2/home/v2-overview#x-of-y-of-n-message-authentication) and [independent execution](https://docs.layerzero.network/v2/home/v2-overview#independent-message-execution)
LayerZero Overview
## **Decentralized Verifier Networks (DVNs)**
DVNs verify cross-chain messages. This permissionless role empowers any entity capable of verifying cross-chain data packets to join LayerZero as a DVN. Any native bridge, third-party bridge, middle chain, oracle, or other verification method may be used as a DVN, thereby avoiding vendor lock-in at the security level. As LayerZero has a modular design, application owners can combine DVNs to maximize verification for characteristics like security, cost, speed, or any parameter an application might want. In other words, LayerZero allows applications to configure any number and type of decentralized verifier networks (DVNs) to verify their cross-chain messages.
## **Permissionless Execution (executors)**
Any entity can run an Executor, as it is an entirely permissionless role. The Executor ensures the smooth execution of a message on the destination chain by offering gas abstraction to the end-user. Executors do this by quoting end-users on the source chain in the source chain gas token while executing the transaction automatically on the destination chain. Much like applications can select a DVN set, they can also configure their application to choose a certain Executor or group of Executors. Applications also have the ability to build and run their own executor (as they can for DVNs) or operate without an Executor and have end-users manually invoke ‘lzReceive’ via [LayerZero Scan](https://layerzeroscan.com/).
# Specifications
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
## **OFT Standard**
The bridging module is following the Omnichain Fungible Token (OFT) Standard created by LayerZero. You can find more information about it [here](https://docs.layerzero.network/v2/developers/evm/oft/quickstart).
## **Modular Security Stack**
**Entirely controlled by the DAO:** The bridging module is entirely managed by the DAO. Nobody else can change the parameters chosen by the DAO apart from itself.
**Decentralized Verifier Networks (DVNs):** X of Y of N allows the DAO to designate a quorum of DVNs to check the integrity of a cross-chain message before signing off on a message’s validity. X of Y of N allows the DAO to combine DVNs however they like. For instance, a “1 of 3 of 5” combination of DVNs would include one required DVN and two arbitrary DVNs out of a total of five to verify a message before moving on to execution. This means that if two DVNs outside the required DVN were unresponsive out of five, message flow could continue, greatly aiding liveness and reducing reliance on a single bridge to zero. Let’s imagine that one of the required DVNs fails (offline, hacked). In this case, the transactions will be automatically reverted, causing no problems for the protocol. The DAO can then vote to change this DVN for another.
**Executors:** Thanks to the permissionless nature of Executors, even if all automatic executors are down it’s still possible for the user to execute the transaction himself by manually invoke `lzReceive` with transaction data on the destination chain, either using [LayerZero Scan](https://layerzeroscan.com/) or the destination blockchain block explorer.
## **Extensible**
Until now, to deploy one of the Parallel stablecoins on a new chain, it was necessary to deploy the entire protocol. However, this posed numerous constraints (deep liquidity for collaterals, cumbersome operational management, the existence of oracles, incentives to gain liquidity due to the incompatibility of Parallel stablecoins between chains). Thanks to the newly bridging module, deploy a Parallel stablecoin on a new chain will no longer need to deploy the entire protocol, but only certain contracts (AccessController, AddressProvider, paUSD/PAR contract) and the bridging module (OFT) related to the deployed stablecoin. This will greatly facilitate business development, thanks to rapid deployment and low operational management for the DAO.
Let’s say the bridging module for a Parallel stablecoin called TKN is deployed on 3 blockchains, thanks to the bridging infrastructure users will be able to bridge from chain A to chain C, then to chain C to chain B, without having to bridge back to chain A. In other words, the bridging module acts as a mesh network where each blockchain can interact with each other, rather than as a network centralized around a single chain. This increases simplicity, efficiency and reduces the costs associated with bridging.
## **Mint/Burn Limits**
**Daily:** This parameter defines the maximum amount of tokens that can be minted or burned per day. It is fully controlled & configurable by the DAO, and can be changed at any time via the `setBurnDailyLimit` and `setMintDailyLimit` functions in the OFT contract (lz-TKN). If the maximum burn amount is reached, the user will not be able to initiate a bridge transaction. If the maximum mint amount is reached, the user will automatically receive lz-TKN instead of TKN, which he can burn for TKN when the limits are no longer reached, or bridge his lz-TKN back to another blockchain.
**Global:** This parameter defines a maximum total token amount that can be minted or burned on a blockchain. It is fully controlled & configurable by the DAO and can be changed by it at any time via the `setGlobalBurnLimit` and `setGlobalMintLimit` functions in the OFT contract (lz-TKN). If the maximum burn amount is reached, the user will not be able to initiate a bridge transaction. If the maximum mint amount is reached, the user will automatically receive lz-TKN instead of TKN, which he can burn for TKN when the limits are no longer reached, or bridge his lz-TKN back to another blockchain.
## **Isolation Mode**
Isolation mode is our response to the mutualization of risks carried out by other bridge modules. Let’s say that the Parallel Protocol (PAR) is deployed on Ethereum and Polygon PoS and that the DAO wishes to deploy it on a new blockchain named Y following the receipt of a grant by this blockchain. However, this blockchain is much less decentralized, has tokens with lower liquidity (increasing the risk of bad debt) and a poorer track record than Ethereum and Polygon PoS. The DAO would also like to deploy the bridging module on this new blockchain, to enable PAR holders from other chains to bridge their tokens on the Y blockchain. However, it does not wish to propagate the risk caused by its PARs mined on the Y blockchain to PARs mined on Ethereum and Polygon PoS. The isolation mode makes it impossible to burn more PAR on the blockchain Y than what has been bridged from the other chains. Let’s continue with the previous example: let’s say there are 1 million PAR minted on the blockchain Y, of which 500,000 come from Ethereum and Polygon. An oracle problem occurs on blockchain Y, and the protocol ends with 4 million PAR mined without collateral and sold to the market, creating a PAR depeg on blockchain Y. The arbitrageurs will then arbitrate the PAR between the different blockchains using the bridging module. However, they will not be able to bridge more than 500,000 PAR (which has been bridged from other chains). In this way, the oracle problem remains isolated to blockchain Y and the bad debt does not spread to Ethereum and Polygon.
Isolation mode can be activated/deactivated by the DAO via the `toggleIsolateMode` function in the OFT contract (lz-TKN)
## **Fees**
The protocol has the option to charge a fee when a TKN is bridged. The fee is taken on the destination blockchain when the lz-TKN is burned for TKN. The fee is taken via a fixed rate taken according to the bridged amount, there is no possibility to take a fixed fee per bridge transaction. Fees can be modified by the DAO via the ‘setFeesRate’ function, and are automatically sent to the address provided by the DAO via the ‘setFeesRecipient’ function.
## **Pause/Unpause**
To make the protocol more secure in case of a problem, we’ve added the possibility to pause the TKN mint/burn. This function can be called by [emergency guardians](/security/parallel-emergency-guardians) as well as by the DAO via a vote. The mint/burn can be deactivated and reactivated via the ‘pause’ and ‘unpause’ functions.
# Implementation
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
The currently voted implementation of the PAR & paUSD bridging modules can be found here:
* [PAR](/products/parallel-v2/how-it-works/bridging-module/implementation/par)
* [paUSD](/products/parallel-v2/how-it-works/bridging-module/implementation/pausd)
# PAR
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
## **Ethereum**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Polyhedra
* Optionals: 1 of 2
* Nethermind
* Google Cloud
* Mint Limits:
* Daily: 25,000.00
* Global: 200,000.00
* Burn Limits:
* Daily: 25,000.00
* Global: 200,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
## **Polygon PoS**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Polyhedra
* Optionals: 1 of 2
* Nethermind
* Google Cloud
* Mint Limits:
* Daily: 25,000.00
* Global: 200,000.00
* Burn Limits:
* Daily: 25,000.00
* Global: 200,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
## **Fantom**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Polyhedra
* Optionals: 1 of 2
* Nethermind
* Google Cloud
* Mint Limits:
* Daily: 1,000.00
* Global: 5,000.00
* Burn Limits:
* Daily: 1,000.00
* Global: 5,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* Yes
# paUSD
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
## **Ethereum**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Polyhedra
* Optionals: 1 of 2
* Nethermind
* Google Cloud
* Mint Limits:
* Daily: 15,000.00
* Global: 100,000.00
* Burn Limits:
* Daily: 15,000.00
* Global: 100,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
## **Polygon PoS**
* DVNs: (2 of 1 of 2)
* Required: 2
* LayerZero Labs
* Polyhedra
* Optionals: 1 of 2
* Nethermind
* Google Cloud
* Mint Limits:
* Daily: 15,000.00
* Global: 100,000.00
* Burn Limits:
* Daily: 15,000.00
* Global: 100,000.00
* Fees:
* Rate: 0.00%
* Isolate Mode:
* No
# Super Vaults (SV)
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
Super Vaults are a versatile tool for managing positions in changing markets. For example, if you're initially very bullish on an asset like wETH, you can use a Super Vault to enter a leveraged long position. If the market shifts and you're no longer confident in your position, you can reduce risk by rebalancing to less volatile collateral. You can also withdraw your capital at any time for use elsewhere. When you're done with the vault, you can use emptyVault to repay any outstanding debts and retrieve your collateral.
:::info
Learn more about Super Vaults core feature :
* [Leveraging](/products/parallel-v2/how-it-works/super-vaults-sv/leveraging)
* [Rebalancing](/products/parallel-v2/how-it-works/super-vaults-sv/rebalancing)
* [EmptyVault](/products/parallel-v2/how-it-works/super-vaults-sv/emptyvault)
:::
Super Vaults also offer additional features, such as the ability to grant others control over your vault for management purposes. The Managed Vaults feature allows you to choose from a list of approved addresses to rebalance your vault, which can include smart contracts like DAOs. The Automated Vaults feature enables automatic rebalancing of your vault based on a user-specified collateralization ratio, acting as a stop loss. This is convenient for those who don't have the time or knowledge to manage their vault, and provides an opportunity for vault operators to maximize collateral value and overall protocol health.
:::info
Learn more about Super Vaults delegation features :
* [Automated Rebalance](/products/parallel-v2/how-it-works/super-vaults-sv/automated-rebalance)
* [Managed Rebalance](/products/parallel-v2/how-it-works/super-vaults-sv/managed-rebalance)
:::
To ensure proper access control, all Super Vault operations must be performed through a user's [`MimoProxy`](/developers-hub/parallel-v2/super-vault-sv/proxy-design/mimoproxy), which is the only contract instance with the necessary permissions. All core functions, such as depositing, withdrawing, borrowing, and liquidating, are accessible through `MimoProxy`. Remember, as with vaultsCore, you must first approve the deposited amount to `MimoProxy` before calling any deposit functions.
:::info
Super Vaults are only available for PAR on Polygon PoS.
:::
# Leveraging
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
SuperVaults allow for leveraging assets without any additional capital.
For example, let's assume we are very bullish on an asset we are holding (e.g. WETH), and we want to enter into a 3x long position. After initializing a SuperVault, we could call `leverage` on our SuperVault to do this. The steps required to leverage our WETH, assuming we start with 1 WETH, would be to:
1. Take a flashloan of the additional amount of WETH we want to leverage. In this example, we want to leverage 3x, so we need to borrow 2 additional WETH to borrow from the flashloan.
2. Deposit the 3 total WETH (minus some flashloan fees) into a vault owned by the SuperVault contract
3. From this newly deposited WETH, mint PAR. The MIMO protocol enforces that we can mint a maximum of `(Collateral Amount)/(Minimum Collateralization Ratio)` worth of PAR. The Minimum Collateralization Ratio (MCR) for WETH is 1.3, so we can mint a maximum of `(3)/(1.3)`, or about 2.3 WETH, worth of PAR.
4. Sell the newly minted PAR for WETH using an Aggregator (e.g. OneInch or Paraswap), and use the WETH to repay the flashloan + fees.
Note: Given a starting amount `S`, the total amount of an asset that we can leverage depends on the MCR of the asset defined in `collateralConfig` . Specifically, the additional amount we leverage must be less than `S/(MCR - 1)`. This is derived in the Leverage Max Amount Derivation section.
If the price goes up after we leveraged, we can take advantage of the price increase through borrowing more PAR using or withdrawing more ETH. If we wish to cash out all of our leveraged ETH, we could use the `emptyVault` feature to:
1. Take a flashloan to borrow some ETH.
2. Swap the borrowed ETH to repay the outstanding debt in the leveraged vault.
3. Withdraw the leveraged ETH and repay the flashloan.\
If the price has increased, we will have more ETH than we initially started with after repaying the flashloan! See the `emptyVault` section for more details on how `emptyVault` is implemented.
# Rebalancing
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
In addition to leveraging, SuperVaults also allow for rebalancing vaults to use another collateral without requiring any additional capital.
For example, let's assume that in our example from the previous section, our leveraged asset did not appreciate in the way we predicted, and ETH actually entered a bear market. To minimize our risk from our leveraged position, we could `rebalance` our SuperVault to use a less risky collateral, such as USDC. The `rebalance` call does the following:
1. Take a flashloan of the starting collateral - in this example, we are rebalancing ETH to USDC, so the starting collateral is ETH and the rebalanced collateral is USDC.
2. Use an aggregator to swap the borrowed starting collateral for the rebalanced collateral.
3. Deposit the rebalanced collateral into a new vault, and borrow PAR from the new vault
4. Use the borrowed PAR to pay back any outstanding debts on the starting collateral vault
5. Withdraw all starting collateral from the vault to repay back the loan
The amount of PAR we can borrow in step 3 is limited by the MCR of the rebalanced collateral. Thus, rebalancing is much more effective for moving to collaterals with lower MCRs as that will allow us to rebalance more collateral.
Note: Only vaults created by through the `MIMOProxy` can be rebalanced.
# EmptyVault
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
The `emptyVault` feature can be used to once we are done using a vault for a specific collateral and we wish to repay all debts for the collateral and withdraw our collateral balance without any additional capital.
Note: You should use `withdraw` instead if the vault you wish to close does not have any outstanding debt.
The `EmptyVault` call does the following:
1. Flash loan some collateral
2. Use an aggregator to swap loaned collateral for PAR
3. Use swapped PAR to repay any outstanding vault debt
4. Withdraw collateral from vault
Note: There will likely be some leftover PAR from repaying the vault debt since we don't know exactly how much PAR we will get from a swap. The vault will still technically exist after calling `emptyVault`; it will just have zero collateral balance and zero vault debt.
# Automated Rebalance
:::warning
You're reading the legacy **v2** documentation. For current Parallel features, see [v3](/products/parallel-v3).
:::
### Use Case Scenario
For our scenario, let's assume we want to open a vault with WETH as collateral. However, we want to be protected from liquidation in case of a price drop, similar to setting a stop loss on a centralized exchange. To achieve this, we can utilize the Automated Vaults feature in Super Vault.
This feature implements checks to reduce the risk of abuse, such as limiting the collateralization ratio that must be achieved before rebalancing, controlling the maximum change in vault value during rebalancing, and limiting the number of rebalances that can occur within a given time frame.
Users can set the fees they're willing to pay for rebalancing, including flat fees per rebalance and variable fees based on the rebalanced amount, to incentivize keepers and cover the gas costs of calling the rebalance function. This allows users to delegate the management of their vault to others while maintaining proper safeguards.
### Automated Rebalance Configuration
To open a vault up for automated rebalances, a user must must set the following automated rebalance parameters :
* The id of the vault to rebalance.
* The maximum allowed slippage on rebalancing swaps : each rebalance call will swap one collateral for another. This parameter impose maximum slippage amounts to ensure a vault collateral doesn't lose too much value in between rebalances. The variation is calculated as :