VISP

VISP is a web3 asset management platform by Vingt.io that provides financial infrastructure tooling for BNB Chain.

VISP protocol acts as a platform for entrepreneurs to create their own Indices and Trackers in a decentralized permission less manner. These customizable Token Sets of fully collateralized crypto-assets, represent on-chain tokens on BNB-Chain. These Token Sets engage with different categories of protocols and follows the manager's specific strategy, allowing investors to replicate an identical strategy easily by minting or purchasing the Set.

The underlying VISP protocol consists of multiple smart contract suite, supporting external integrations with decentralized exchanges, platforms, automated market makers and asset protocols. More advanced strategies, such as yield farming, perpetual swaps, and margin trading, will be supported at a later stage.

VINGT about image

VISP – Vingt.io Index and Strategy Protocol

Binance Coin (BNB)
Ethereum (ETH)
PancakeSwap (CAKE)
Uniswap (UNI)
Chainlink (LINK)
Tether USD (USDT)
Binance USD (BUSD)
USD Coin (USDC)
Dai (DAI)
BSK Structure

User Roles

Investors

Investors allocate capital and receive the Set tokens that represent their share of the structured product. Investors retain full custody of assets because funds are secured by the Set Token contract, and are inaccessible to asset managers.

Managers

Managers maintain and rebalance structured products to satisfy their asset management strategies. Managers can offer their products to many different customer profiles: whether they curate products as investment opportunities for individual or institutional investors, or they curate products to service DAO treasuries. Managers can use streaming fees or performance fees to monetize their products to achieve profitability as their products grow.

Developers

Developers build the next generation of applications using Set Protocol as their base layer to achieve their financial objectives faster. Whether you are looking to develop an algorithmically rebalanced cryptocurrency index or a delta-neutral investment portfolio that caters to a narrow customer base.

VISP would allow developers to create the next generation of financial products in DeFi on BNB Chain. These developers would create their own community and contribute to VISP and Vingt.io ecosystem.

VISP would be using the following System Architecture of Set Protocol V2.

TokenSets

TokenSets is a UI that enables interactions with the Set Protocol system via Web3. With it, anyone can get started creating Set strategies and interacting with their Sets. There are also consumer flows for your strategy customers to issue your Strategy. As features are developed, audited and deployed, the team will be adding them to TokenSets.

Capabilities

CapabilityVISPTokenSetsNetwork
Capability
Creating a Set
VISP
Yes
TokenSets
Yes
Network
BNB Chain
Capability
Issuing a Set
VISP
Yes
TokenSets
Yes
Network
BNB Chain
Capability
Redeeming a Set
VISP
Yes
TokenSets
Yes
Network
BNB Chain
Capability
TokenSets Issuance
VISP
Yes
TokenSets
Yes
Network
BNB Chain
Capability
Trading within a Set
VISP
Yes
TokenSets
Yes
Network
BNB Chain
Capability
Redeem Fees
VISP
Yes
TokenSets
Yes
Network
BNB Chain
Capability
Change Streaming Fees
VISP
Yes
TokenSets
Yes (Using Delegated Manager *)
Network
BNB Chain
Capability
Change Fee Recipient
VISP
Yes
TokenSets
Yes (Using Delegated Manager *)
Network
BNB Chain
Capability
Change Set Manager
VISP
Yes
TokenSets
Yes (Using Delegated Manager *)
Network
BNB Chain
Capability
Change Set Trader/Operator
VISP
Yes
TokenSets
Yes (Using Delegated Manager *)
Network
BNB Chain

*VISP is currently not using delegated manager and would be using EOA wallets instead. As demand to create externally managed token sets would increase Vingt.io would add this feature to VISP.


VISP on BNB Chain is very similar to our other integrations by Set Protocol V2 and would operate similar to Set Protocol V2's integration on Avalanche, Polygon, Optimism and Ethereum. With the high on-chain liquidity of BNB Chain VISP expects to stand out from all other chains in terms of adaptability. VISP would be compatible with BEP20 tokens such as WBNB WETH WBTC and CAKE on BNB Chain.

Deployed Contracts on BNB Chain:

Core Contracts:

Contracts
Address
SetTokenCreator
Controller
 
IntegrationRegistry
 

Modules

Contracts
Address
BasicIssuanceModule
StreamingFeeModule
 
TradeModule
 

Similar other networks using SetProtocol, VISP is also compatible with several other modules that would be added later when the network grows.


Adapter Contracts

Adapters interface with external protocols and are used in modules to gather and validate transaction parameters.


Contracts
Module
Address
ZeroExApiAdaptorV5
Trade
 
PancakeswapV2ExchangeAdapter
Trade
 

VISP will add more adaptors to the protocol when needed.

Oracle Adapter Contracts

Oracle adapter contracts return prices for derivative assets. Even though BNB Chain is compatible with Chainlink price oracles, VISP currently doesn't use oracle adapter contracts and would be added them at a later stage.

Periphery Periphery contracts are built on top and used in conjunction with system contracts. This includes permission less manager contracts, hook contracts that perform additional validations (e.g. allow list). These will be added at a later stage when required (such as when more reliable DEXs appear on BNB Chain for AMMSplitter to trade optimally).

Relevant Smart Contracts for VISP

Core Contracts

SetToken:

BEP20 Token contract that allows privileged modules to make modifications to its positions and invoke function calls from the SetToken.

SetTokenCreator:

SetTokenCreator is a smart contract used to deploy new SetToken contracts. The SetTokenCreator is a Factory contract that is enabled by the controller to create and register new SetTokens.

Controller:

Contract that registers system contracts such as added Sets, modules, factories, resources (like price oracles), and protocol fee configurations.

IntegrationRegistry:

The IntegrationRegistry holds state relating to the Modules and the integrations they are connected with. The state is combined into a single Registry to allow governance updates to be aggregated to one contract.

PriceOracle:

Contract that returns the price for any given asset pair. Price is retrieved either directly from an oracle, calculated using common asset pairs, or uses external data to calculate price. Note: Prices are returned in precise units (i.e. 18 decimals of precision).

SetValuer:

The SetValuer is a contract that returns the valuation of SetTokens using price oracle data used in contracts that are external to the system.

Modules

BasicIssuanceModule:

The Basic Issuance Module is a module enables issuance and redemption functionality on a SetToken for default-only positions.

DebtIssuanceModuleV2:

The DebtIssuanceModuleV2 is a module that enables users to issue and redeem SetTokens that contain default and all external positions, including debt positions. Module hooks are added to allow for syncing of positions, and component level hooks are added to ensure positions are replicated correctly. The manager can define arbitrary issuance logic in the manager hook, as well as specify issue and redeem fees.

TradeModule:

The Trade Module is a module that enables SetTokens to perform atomic trades using DEXs such as Pancakeswap. Integrations mappings are stored on the IntegrationRegistry contract.

StreaingFeesModule:

StreamingFeeModule Smart contract that accrues streaming fees for Set managers. Streaming fees are denominated as percent per year and realized as Set inflation rewarded to the manager.

DelegatedManager System

Delegating the Functionality of a Set Token Manager

VISP requires a DelegatedManager instead of EOA when multiple stakeholders are required to manage an index as a team, instead of an individual solely operating the protocol. This allows division of roles within the DelegatedManager, further decentralizing the operations of an Index such as trading the underlying assets during the rebalacing phase.

Through the DelegatedManager VISP would be adding various strategies and creating a new U/I for developers. These tools would help easier management of tokensets. The Architecture of DelegatedManager is shown below

The DelegatedManager automates the deployment of manager contract enabled SetTokens which are pre-configured to use a set of audited extension contracts that facilitate trading and management fee splitting.

The System:

  • Gives all SetProtocol users access to more sophisticated RBAC management features. For example, managers now can define unique roles for SetToken stakeholders (who can trade, who can update parameters, who receives fees, etc.) and adds the ability for SetToken managers to restrict their products to an allow-listed group of assets
  • Allows SetProtocol users to update Manager-only fields directly from the UI using the Management interface
  • Is an open platform: Now anyone can write a global extension to help SetToken managers!

DelegatedManager

Smart contract manager that contains permissions and admin functionality. Paired with extensions that enable permissionless and automated functionality on the SetToken (ex: leverage tokens)

DelegatedManagerFactory

Factory smart contract which provides asset managers the ability to create a SetToken with a DelegatedManager manager, create a DelegatedManager manager for an existing SetToken to migrate to, and initialize extensions and modules.

GlobalExtensions

The DelegatedManager system comes with a set of default extensions which define fee management logics for Streaming and Issuance fees, as well as a trading interface which can be used for executing SetToken component rebalances and re-allocations.

TradeExtension

Globalextension which provides privileged operator(s) the ability to trade on a DEX and the owner the ability to restrict operator(s) permissions with an asset whitelist.

IssuanceExtension

Globalextension which provides the owner and methodologist the ability to accrue and split issuance and redemption fees. owner may configure the fee split percentages.

Globalextension

which provides the owner and methodologist the ability to accrue and split streaming fees. owner may configure the fee split percentages. These extensions should all be added and initialized as part of the DelegatedManager factory deployment flow.