Last year, we have forked the perpetual contracts implementation of UMA and proposed the UMIP-34 to integrate it within the DVM. We called this contract PerpetualPoolParty. This fork allows our synthetic assets to be multi-collateralized (multiple collateral linked to multiple Derivatives contract can back the same synthetic asset), perpetual (but without stability fee, funding rate etc.), and permissioned (only our whitelisted Smart Contracts can mint them).
The UMA’s governance approved this fork earlier this year, allowing us to launch our mainnet.
The PerpetualPoolParty was a “broker contract” allowing the end-users to trade against a smart contract (the broker’s liquidity pool) which is the sole Token Sponsor: when a user wants to buy a synthetic asset, it triggers a mint transaction where the liquidity pool self-mints a synthetic fiat with a collateral in USDC deposited by liquidity providers, and sell this synthetic fiat for USDC to the end-user, at the Chainlink price, within the same transaction.
Now we are about to launch our “bank contract” which allows anyone to be a Token Sponsor, pretty much like the EMP. Yet, we could not use the EMP due to some specification of our protocols (multi-collateral synthetic assets, perpetual, set minting limits, etc.). So we forked PerpetualPoolParty.