Set

From CryptoWiki

Basics

  • Fka Set Protocol, now known as Set Labs.
  • Registered in the U.S., San Fransisco based.
  • Created in 11-2017, had their mainnet beta launch shortly after their $2M seed round in 3-2018 and a public release in 5-2019.
  • From their FAQ (8-5-2020):

"TokenSets is the first application built on the Set Protocol, which allows users to buy and sell tokenized portfolio management strategies easily. Set Protocol is a protocol that allows users to create, issue, redeem, and manage portfolios of ERC-20 tokens in a completely trustless way."

  • Set Protocol currently does not charge any fees for buying and selling new Robo Sets (9-2019)

"For those unfamiliar with asset management tools, platforms like Set Protocol can be used to construct and exchange complex financial instruments such as market indices, index funds, or ETFs.
As it relates to the average trader, think of Set Protocol as a tool to automate algorithmic trading strategies by buying a single ERC20 token."

  • From this blog (25-2-2020):

"Set Protocol is a DeFi project that allows anyone to leverage automated trading strategies simply by holding ERC20 tokens in their wallet. Whether its following a “robo-set” or an expert trader, Set Protocol allows anyone with a cryptocurrency wallet to leverage the power of automated trading.

The non-custodial design combined with transparent on-chain rebalancing of the sets mean Set Protocol’s social trading and robo-sets minimize counterparty risk for users. Compared to centralized competitors like eToro, Set also has very low fees."

History

  • From this blog (25-2-2020) where the CEO explains:

"Set Protocol was born at ETHWaterloo 2017. At the time I was working at a startup as a software engineer. That year, I had been participating in some ICOs, and the financial protocols like 0x and dydx really stood out to me. Reading about dydx blew my mind. It made me realize you could actually create sophisticated financial products using smart contracts.

I had originally been going to ETHWaterloo to hack on web3 and Typescript, but on the plane ride over I realized that no one was working on a fully decentralized index fund. I architected this concept on the flight and ended up being so compelled by this idea that I ended up ditching my original team and created the first version of Set during the hackathon.

I was able to present this idea to Joe Lubin, Will Warren of 0x, and Linda Xie of Scalar Capital at the event and even formally presented to Consensys at a later time. I was offered an EIR position there, but in the end I decided to start Set on my own instead."

Audits & Exploits

"All of the funds that are part of the Set Protocol system are stored in the Set Protocol Vault smart contract (which you can view here). Users are able to protect themselves from hacks against this smart contract that would result in loss of funds by taking out protection using the Nexus Mutual platform.

In saying that, the Set Labs team retains administrative control over the protocol as we have an admin key that is secured by a 2-of-3 multisig hardware wallet. This admin key allows us to upgrade our contracts at any time with no time-delay.

This key cannot currently be used to access funds that are stored in the Set Protocol Vault nor can it be used to confiscate or freeze user funds (Sets). Though, because this key allows us to upgrade/change the Set Protocol system at any time, anyone with access to this key could, in theory, push a change that adversely affected the protocol.

We do plan to further decentralize the protocol over time and reduce admin key risk (by implementing in a time-delay function), but as it currently stands we are still building out a lot of the core functionality for Set Protocol which requires us to maintain some level of control.

It’s worth noting that to this day, no Set has had a failed rebalance and most rebalances have settled at between 0.5% to 1% slippage."

"There is full coverage of deployed contracts by software function documentation. There is non-explicit traceability between software documentation and implemented code. For every 1 line of deployed code, this protocol has documented testing of 330 lines. This is mind-bogglingly large and is unquestionably the highest I have ever seen in my time as a reviewer. Set should be congratulated for the extensive nature of such testing. No test report was identified, but there is a code coverage report. This protocol has not undergone formal verification."

With the comment:

"Set protocol's two pre-release audits, clear oracle information and strong documentation give a good passing grade. This is especially important when considering the nature of this protocol. To increase their score, this protocol might consider clarifying how their pause control operates as well as elaborating on timelock functionalities. Nevertheless, this protocol does well to get 76%."

  • Set v2 Scored a 84% (11-2020); "​There are two audits that have been preformed by OpenZeppelin, and ABDK. There is no public report available for the ABDK audit." With as a comment: "Code, team and audits bang on, Docs and tests good with room to grow." 

Bugs & Exploits

Governance

Admin Keys

"Although Set Protocol's documentation does not clearly state what is immutable or upgradeable, the SetToken contract has upgradeable parameters that can be interacted with via their Controller and BaseManager contracts, making it implicitly upgradeable. However, the BaseManager contract that controls admin functionality indicates the upgradeable parameters of its various contracts, which are also stated in the individual contracts' pages in the Set Protocol documentation. This protocol's pause control is documented but not explained in this location. This protocol has non-specific timelock documentation which can be found at this location. The timelock is of an unknown length."

"Token Sets' protocol is upgradeable via a 2-of-3 multisig contract with no timelock. Token Sets claims to use Ledger hardware wallets to secure the signing keys."

Admin Key OpSec Risk Assessment

"Current Admin Key Config- Time Lock: No

Current Admin Key Config- Multisig: 2-of-3

Claimed Admin Key OpSec: "Ledger hw wallets"

Verified Admin Key OpSec: Unverifiable

Is security of deposited funds dependent on opsec of admin key?: Yes

Admin Key Address: Link

Documentation on Admin Key Powers: Whitepaper (Section 10)

Additional Info (if any)? Trail of Bits Audit Report (page 32)"

No Token

"Set Protocol does not currently utilize an overarching token for work on the network. Instead, each trading strategy is represented as unique ERC20 tokens (called Sets) that are fully collateralized by the underlying assets of a particular portfolio. Each Set is weighed with respect to the percentages coded in the creation of the smart contract.
As it stands today, most TokenSets support a handful of digital assets including Ether (in the form of wrapped ether or WETH), US Dollar Coin (USDC), Dai (DAI), and wrapped Bitcoin (WBTC). We can expect that as the protocol continues to mature, the core team will support other digital assets in the near future."

  • From this interview (17-12-2018):

"In our original business plan we did not have a token — and this is not what we’re doing anymore — but originally we were planning to build a decentralized brokerage actually in which we would run a trading bot on the back end and we would make a spread on that. In that model, any revenue ended up going back to the company, just like just like any other traditional equity company. So given that that was our near term monetization model, we had more questions around those mechanics and regulatory issues than questions around a token."

Sets

  • From their FAQ (8-5-2020):

"A Set is a digital asset (ERC-20) that represents a fully collateralized portfolio of other assets including Bitcoin (WBTC), Ethereum (WETH), and fiat-pegged coins (DAI). Sets automatically rebalance to make executing any portfolio strategy (e.g. range bound trading) simple by holding a single asset. Using Sets removes the need to manually manage multiple assets and rebalance your portfolio."

Tech

"At 261 commits, Set has a strong development history."

How it works

Who custodies the Sets and their collateral?

"Set Tokens - Your Wallet
Sets that you obtain through TokenSets are held in your own wallet. Since Sets are ERC-20 tokens, you can move them to any other wallet that 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 Vault Smart Contract
The underlying collateral tokens that back each Set are held inside of the Set Protocol vault contract. The Set team does not have access to your funds when it is inside of the vault contract. Only you have access to your funds in the Set Protocol through your your Ethereum wallet."

Implementations

How it works

Fees

Upgrades

  • The major features that are coming as part of Set v2 are:
  1. Multi-asset support
  2. Index Sets
  3. Yield Farming
  4. Flexible trade execution
  5. Significantly reduced gas costs
  • Will have V2 with a wide range of new upgrades (5-8-2020):

"Set will deploy yield farming strategies designed by Set Labs team and by the community. These strategies can take many steps to execute and skyrocketing Ethereum gas costs make it prohibitively expensive for those investing smaller amounts. While TokenSets had previously supported Compound’s interest-earning cTokens in V1, users can now benefit from yield farming by earning and distributing governance tokens like COMP, BAL, CRV and more from various strategies which use underlying DeFi protocols.

Set Protocol’s V2 will also include support for a larger array of ERC20 tokens. Only ETH, WBTC, LINK and a couple stablecoins were supported in V1. Set is also pledging to “significantly” reduce gas costs. To provide some context, V1 averaged anywhere from $15-50 to buy and sell a Set in the current gas climate.

V2 also aims to increase flexibility for Set managers to create portfolios, and includes more sophisticated investment features like margin trading, limit orders and DEX trading. Set Protocol will also be integrating popular primitives and assets offered by Aave, Balancer, Curve, and Synthetix on top of their underlying liquidity mining opportunities."

"Sets built on v1 of the Set Protocol system are being deprecated so that if you hold any of these legacy Sets you are encouraged to either sell or redeem them."

Staking

Validator Stats

Liquidity Mining

Scaling

Interoperability

Other Details 

  • From DeFi Weekly (11-3-2020). Set uses Typescript (which provides integration guarantees) instead of JSON ABI files (which need to be updated).

Rebalancing

"For a Set to rebalance, there must be price changes in the Set’s token components as well as the passing of a predefined window of time. When the Set rebalances, a modified dutch auction begins where traders can submit bids to swap new components for old components. The price becomes more favorable for traders as the auction goes on, ensuring that the rebalancing reaches completion. Dutch auctions minimize the amount of slippage occurred during rebalances, especially during high volume transactions where order books are thin on decentralized exchanges (DEXs), such as Kyber."

Their Other Projects

The Index Coop

"A global community that will launch and maintain the world’s best crypto index vehicles on Ethereum. The Index Coop is the first community-led initiative focused on enabling the creation and adoption of crypto index primitives. With community leadership, the Index Coop has the opportunity to develop into one of the largest crypto capital allocators in the world."

Oracle Method

"The protocol's oracle source is well documented at this location. The contracts dependent are well identified. There is relevant software function documentation. This protocol documents no front running mitigation techniques. This protocol documents no flashloan countermeasure consideration."

  • From their blog about security risks (21-5-2020):

"We utilize both third party oracles and our own for each of the asset pairs on TokenSets (such as ETH/USD, LINK/USD etc) and we also use these price oracles to calculate the indicators that are used to trigger rebalances (such as the ETH 26 EMA, ETH/BTC RSI etc). Before a rebalance is initiated, a function call needs to be made to the rebalancing contract that “initiates” the rebalance. Currently, our team has an automated bot that monitors for rebalances and calls this function. In the event of an oracle attack, we could disable this bot and not call the function on the smart contract. Though, of course, anyone else could still call this function to trigger a rebalance which would thwart our attempt to stop this attack.

Additionally, we currently act as a light node for Maker’s oracles which means we can push updates as needed and we also have monitoring in place to keep track of the oracles which would alert our team if anything unexpected was to happen."

"Oracle Method

On-chain prices used by their smart contracts are sourced from MakerDAO's oracles (BTC and ETH), and prices for buying and selling are sourced from DEXs that provide liquidity to Set Protocol. They use Chainlink's LINK/USD oracle to power the LINK sets and also have their own on-chain moving average and RSI oracles.

Each Smart Contract Managed Rebalancing Set system is made of three distinct parts: 1) Manager Contract that generates rebalancing proposals based off on-chain data, 2) Oracles that are used to provide data to the Manager Contract and, 3) the Rebalancing Set Token that stores state (balances, allocations, etc.) regarding the strategy.

Currently, HistoricalPriceFeeds use data from Maker’s oracles to build a price history for the underlying asset, but any oracle adhering to Maker's interface could be used. The HistoricalPriceFeed is intended to represent the historical prices of one asset at consistent time intervals. Additionally, there is a defined upper limit to the amount of historical data, after which old data is overwritten.

The MovingAverageOracle leverages data available from the HistoricalPriceFeed to calculate a simple moving average of a desired amount of data points.

Contract Addresses

  • HistoricalPriceFeed: 0x7956cE4fbA992987A11bd44ff0Ddb62504711Be8
  • HistoricalPriceFeed medianizerAddress: 0x729D19f657BD0614b4985Cf1D82531c67569197B
  • MovingAverageOracle: 0x90b242eDd278E636E02C2054C861Fd46A7B96271
  • HistoricalPriceFeed priceFeedAddress: 0x7956cE4fbA992987A11bd44ff0Ddb62504711Be8

Source

Roadmap

  • Can be found [Insert link here].
  • From their AMA (3-7-2020):

"We’re currently working on better trade execution, finding the best traders, and unlocking more complex strategies/baskets possibly through margin and multi-asset Sets."

  • A roadmap for the three phased rollout of V2 can be found here (4-9-2020). Index Sets come first, then Yield Farming and the other new features are scheduled for phase 3, by the end of 2020.

Usage

"The Set Protocol Vault exploded in growth and passed it’s all time high in January growing from $1.6 million to $3.4 million thanks to more favorable market conditions and the launch of Set Social Trading.

Set Protocol’s unique addresses had an explosive period of growth in January increasing from 1580 to 2418 addresses thanks to increased coverage of TokenSets in the media and the launch of Set Social Trading."

"The Set Protocol Vault has grown from $4.3 million on April 1st to $17.5m at the time of writing which places Set Protocol at #8 on DeFi Pulse. As for where this value is allocated: $3m is currently positioned in the Social Sets with $14.5m positioned in the Robo Sets."

  • From Our Network #22 (22-5-2020):

"Set Protocol rebalances hit an all time high in May with ~$47 million worth of crypto traded entirely on-chain. This was by far the largest monthly rebalance volume the protocol has ever seen. The largest Set by marketcap, the ETHRSIAPY, rebalanced twice in May which were both >$5mil on-chain trades (the biggest on Ethereum that we know of). Rebalance slippage has also tightened significantly for $1mil-$1.5mil trades and typically settle at around 0.3-0.5%."

  • From Our Network #40 (25-9-2020):

"Cumulative Set purchase and sell volume reached over $100 million this month which marks a big milestone for the protocol. This is $100 million that has passed through multiple versions of Set Protocol’s smart contracts to buy and sell various Sets over the last ~18 months (Robo & Social Sets and our original range-bound and buy & hold Sets). (Source: Scout)"

Social Trading

"[Set] launched their new social trading and managed to secure over $700k on launch."

  • From their blog about security risks (21-5-2020):

"While each Robo Set on TokenSets is controlled entirely by smart contracts, each Social Trading Set is controlled by their respective traders. While the trader cannot access user funds, they have the ability to:

  1. Change the Sets fees at any time (with a 5-day delay)
  2. Stop rebalancing their Sets and/or leave the platform without notice
  3. Trigger erratic rebalances or “go rogue” (though there is a 30 minute window after a rebalance is initiated where users can withdraw funds)"

Competition

  • From their AMA (3-7-2020), on the difference between Set and Melon:

"Honestly not terribly familiar with Melon’s smart contract architecture or what they’re working on. I’d say at this point we seem to have the ability to handle larger trade volumes as well as a more approachable product. I think one main difference we’ve tried to emphasize is being able to build mechanisms (like our auctions) that are able to relatively trustlessly handle large scale rebalances."

Coin Distribution 

"The distribution of Set holders by dollar values continues to remain healthy with most Set holders holding between $0 and $10,000 worth of Sets. Around ~200 addresses hold between $10,000 and $100,000+ worth of Sets. (Source: Scout)"

Pros and Cons

Pros

Cons

Team, investors, Partners

Team

  • From their FAQ (8-5-2020):

"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 counterparty, or custody anyone’s funds on TokenSets. Set Labs Inc. may participate in each open auction as a participant along with any other liquidity providers."

Funding

"In March of 2018, Set Labs raised a $2M seed round led by David Sacks’ Craft Ventures with participation from Vy CapitalDFJKindred VenturesHaystack Ventures and Social Capital amongst other venture capital firms and angel investors."

"Currently, we are sustained by VC funding (in which we expect to do so for the next few years). In the longer-run, we imagine some sort of fee based on the volume that flows through the system."

  • From this interview (17-12-2018):

"Back in 2017 I was actually also doing a lot investing myself in pre-ICO projects and equity deals. I was helping to run this angel syndicate called Turing Capital. It had about 30 people working on it. We were doing a lot of deals back then and that gave me a lot of kind of general context on how fundraising in the space worked. The founder was Michael Karnjanaprakorn who was the the founder of Skillshare and had raised a lot of money from some of the best VC funds on earth for Skillshare. And he’s been a really invaluable advisor for us in terms of helping with the fundraise. Paul and I did a lot of investments together in 2017 and so we’ve built this really great relationship and he’s also an advisor for us. He’s seen so many deals and so has been really helpful for us when we went through process. Over the course of our fundraise, Steve Jang at Kindred Ventures has helped refine our business strategy, pitch, and connect us to the right folks. He took a pro-active role in helping us review and negotiate term sheets as well.

So our earliest commit was Cindy at Vy Capital. I had met her back in October even before I had a white paper and we kept in touch. She ended up getting enough conviction that she was our first commitment for us before we were even ready to accept money, and over the period of our fund raise she continuously made introductions for us, including people like Kartik at SV Angel.

Most of our investors are SF based — we do have some investors like Scott Belsky who are NY based, but now that I think about it most of our investors are in SF."

  • From their blog (29-5-2021):

"Raised a $14M Series A round led by 1kx and Hashed! We welcome new and existing supporters including Mechanism Capital, Defiance, Spartan, ParaFi, Coinbase Ventures, Craft, Threshold Ventures, and long-term Set community members."

Partners

(:

Knowledge empowers all and will help us get closer to the decentralized world we all want to live in!

Making these free wiki pages is fun but takes a lot of effort and time.

If you have enjoyed reading, tips are appreciated :) This will help us to keep expanding this archive of information.

ETH tip address: 0x83460bE5F218b1520B69D702cE60A1DE37dD8E31