Set Documentation

What is Set Protocol?

Set Protocol is an Ethereum-native DeFi primitive that leverages existing Open Finance protocols to allow for the bundling of crypto-assets into fully collateralised baskets, which are represented as ERC20 tokens on the Ethereum blockchain.
Set Protocols most exciting feature is that it allows for the creation of structured products that give users of all experiences access to the future of decentralised, on-chain asset management. From an everyday investor wanting to manage their portfolio and allow his friends to share his strategy, to institutional-grade asset managers wanting to create structured products for their clients in a transparent and trustless way. Today, some of the largest structured products by AUM (assets under management) have been built using the Set Protocol, including the DeFi Pulse Index ($DPI) and ETH 2x Flexible Leverage Index.

What is TokenSets?

TokenSets is the first application built on the Set Protocol, which allows users and asset managers to create and manage their tokenised strategies by interacting with the underlying smart contracts.

How is Set Labs Inc. related to Set Protocol?

Set Labs Inc. is the company building the Set Protocol smart contracts. Set Labs Inc. does not serve as managers for any Sets, act as a counter-party, or custody of anybody's funds on TokenSets.

What is a Set?

A Set is a digital asset (ERC-20 token) that represents a fully collateralized portfolio of assets that can enable people or entities to manage their wealth & the wealth of others within a customizable and trustless environment. Set empowers individuals or institutions to create, manage and invest in innovative on-chain investment vehicles.

Sets are ERC20 Compliant

Build applications that are interoperable out of the box. Each Set itself is an ERC20 token with additional properties.
    Listable on Exchanges
    Borderless Transactions
    Smart Contract Ready

Sets are Fully Collateralized

Holding a Set token guarantees you access to your underlying tokens. Redeem your underlying tokens by trading them back into the Set smart contract.

Sets are Trustless

Set is open, permissionless, and requires no middlemen or trusted counterparties. Set is designed so that no one can steal the collateral that backs the value of your Set.

What types of tokes do you support? (ERC-20, ERC-721, others)

Most standard ERC20. I say most because certain tokens (most prominently PAXG), have transfer fees and that sometimes breaks the internal accounting of SetToken smart contracts. Rebasing tokens also can cause issues if not wrapped - if you're unsure please contact us.

What restrictions apply for ERC-20 or ERC-721 tokens? (Interest bearing tokens like aDAI)

    ERC-20 Token
    Recognised on the CoinGecko Token List​
    Not a rebasing token​
    Not a token that enforces a transfer fee. This is where upon transaction, a portion of the sent amount of tokens is redirected to another wallet.
    Must have liquidity against WETH on a DEX such as Uniswap or Sushi

What is the maximum number of tokens per Set?

No restriction.

Can you "nest" Sets?

If there is liquidity to trade them, you can embed Sets within Sets, a common example would be the DeFi Pulse Index.

Do you support (receiving) airdrops? (yes / no)

Roadmap item, so not yet.

Do you support secondary use cases?

Governance, airdrop claiming, staking are all roadmap items, so not yet.

How do you set basket composition?

Upon creation, there is an intuitive UI on TokenSets that lets you set initial weightings by % of the total.

Can you modify asset allocation after issuance?

Post-creation, the UI is traded more akin to how you would swap on Uniswap so position sizes must be calculated beforehand and traded accordingly if rebalancing an Index. A more intuitive UI for rebalancing is road--mapped.

Can you add or remove assets from the basket?

Yes (via trading out of said asset to another).

Do you have mechanisms to control /mitigate slippage?

Currently, all trades are routed via 0x which is a market leader in intelligent routing and DEX aggregation capabilities.

How can you automate rebalancing?

Currently, that could be done by programmatically interacting with the underlying Set contract to make the appropriate rebalancing trades.

Can you stop/pause minting /redeeming? for how long?

No, users can redeem and mint at any point in time.

Can you make it public/private?

No, everything is public.

How can you read the basket composition?

A Set subgraph is road-mapped for programmatic reading. Currently, Zerion and TokenSets are the best front end interfaces currently for this with many more expected soon.

What types of fees can you assess as a portfolio manager?

Currently,, V2 Sets are monetised via streaming fees, other fee structures such as performance fees have previously been on the platform and are likely to return in the future.

How are these fees paid?

All fees are paid in the native Set token via a claiming interface on TokenSets or directly against the smart contract.

Can you modify the fee structure after issuance?

Yes, currently streaming fees can be changed.

Can you create and modify baskets using your front-end?

Yes, TokenSets has a complete management UI for this purpose.

What options are not available on the front-end?

TokenSets caters for all interactions with your Set as a manager.

Are there user roles?

Only the differentiation between Manager & Investor.

Is it possible to delegate functions to another account?

You can transfer management ownership to another Ethereum address but not delegate the responsibility.

Who custodies the Set and its collateral?

    Set Tokens Sets that you obtain through TokenSets or third party exchanges are held in your own ERC-20 compatible wallet. Since Sets are ERC-20 tokens, you can move them to any other wallet that also supports ERC-20 tokens, such as if you want to hold them in an Ethereum address you use for cold storage. All transactions that move your funds must be confirmed by your account and are verifiable on the Ethereum blockchain.
    Underlying Collateral Tokens The underlying collateral tokens that back each Set are held inside the specific Set Smart Contract itself. The manager of a set cannot withdraw these tokens that collateralise the Set, instead, the contract enables the manager to transact the assets between one another to enable their strategy. For example, the DeFi Pulse Index's underlying collateral can be seen here on Etherscan.

What are the fees involved in the protocol?

We have not and do not take fees on Tokensets. The fees incorporated into the transacting process are strictly network fees that are paid to Ethereum.

How do I access my private key for my Fortmatic wallet?

This special link provided to us by magic does this for you:

How do I value a Set?

A Set is 100% collateralised by its underlying components, which means its 'Net Asset Value' (NAV) can be calculated by adding up the value of all the underlying component tokens inside of the Set. Prices displayed on TokenSets are sourced from CoinGecko to show the fair market value of a Set across multiple exchanges, on-chain prices used by our smart contracts are sourced from Chainlink oracles, and prices for buying and selling are sourced from DEXs that provide liquidity to Set Protocol.

What are the tax implications of trading Sets?

Taxes vary greatly by jurisdiction. For any financial, tax, or legal matters, we recommend consulting your own professionals. While we cannot provide you with specific tax guidance, users should be aware that any exchange of crypto (e.g. ETH to WBTC) may be a taxable transaction in their jurisdiction. In certain jurisdictions, users may be able to recognise short or long term capital gains or losses when selling Sets they’ve acquired rather than after each rebalance. Because of the variety of outcomes based on jurisdictions, we are unable to provide a definitive answer to the tax treatment of TokenSets.

How secure is Set Protocol?

The security of our system is of the utmost importance to us. We recognise the complexity of the protocol, the difficulties in deploying issue-free software, and the responsibility of maintaining a value-bearing protocol. Therefore, we’ve made a considerable effort to ensure the system has been reviewed by top security firms such as ABDK, iosiro and PeckSheild and heavily scrutinised line by line internally. We reached out to PeckShield for our audit, which you can see here:
Our Set Protocol contracts repository has 100% line and branch coverage over the span of over 840+ unit, integration and simulation tests. But you don’t need to take our word for it, every line of smart contract code for Set Protocol is open source, and we encourage technical community members to review and verify our code

What are the risks of Set Protocol?

Smart Contract Risk

We take smart contract security extremely seriously at Set. All of our contracts that have been deployed to the Ethereum main-net have been audited by reputable security firms. Additionally, we have 100% test coverage, run integration/scenario/blackbox tests, do internal smart contract audits, and run modelling to look for adverse cases.
It’s important to note that even though our code has been audited and tested many times, there is still a risk that some edge case or bug exists which could result in user funds being lost.

Asset Risks

Currently, Sets can be collateralized with an extremely vast array of assets. Please consider the individual, external asset risks when using the protocol. Some examples, albeit unlikely, of assets that inherently have a risk profile, are as follows.
    WBTC β€” Counterparty Risk
    ​WBTC, or β€˜Wrapped Bitcoin’, is similar to WETH but with one key difference β€” it is 100% custodial and centralized. The WBTC initiative is led by Kyber Network in partnership with BitGo. The short of it is that every 1 WBTC that is minted on the Ethereum network is backed by 1 BTC in a vault controlled by BitGo. The WBTC smart contract also has a pause function which allows its central operator to freeze WBTC assets at any time.
    If this function was called to freeze WBTC deposited into Sets as collateral, or if the vault housing the BTC that backs WBTC is hacked, the expectation is that any Sets collateralized by WBTC would become worthless.
    USDC β€” Counterparty Risk
    USDC is a stablecoin tied to the US dollar created by Circle and Coinbase. It is 100% centralized and, like WBTC, has a pause function built right into its smart contract that would allow Circle or Coinbase to freeze anyone's USDC assets at any time.
    If this function was called to freeze USDC deposited into Sets as collateral, the expectation is that any Sets collateralized by USDC would potentially become worthless (depending on if the assets were unfrozen at a later date).

Performance Risks

One risk to consider when carefully allocating your capital is the strategy of the Set token and the individual/entity behind it. Once you are invested in a Set, the manager then dictates the performance of the Set with the strategy he has adopted which has no guarantees of performance.
Last modified 9d ago