Since joining Synthetix as a core contributor, I’ve been asked to explain the protocol many times by people with varying understandings of finance, software engineering, crypto, and DeFi. Synthetix is addressing a fairly specific challenge: the creation of derivative financial assets on Ethereum (and compatible blockchains). This is my best attempt to outline some of the protocol’s history, current challenges, and long-term goals without assuming the reader has any context. It’s not comprehensive and things are rapidly evolving, so I’d recommend doing your own research if you find any of this interesting.
The story of cryptocurrency typically starts with Bitcoin, a decentralized blockchain which tracks a ledger of bitcoin balances. (This is an alternative to a centralized server owned by an entity with the power to manipulate it.) Ethereum is similar to Bitcoin, but rather than only tracking a ledger, it tracks the state of an entire computer. This computer can store and run code called smart contracts. Smart contracts can implement tokens, exchanges, lending agreements, and more. Suites of smart contracts that perform financial tasks are referred to as Decentralized Finance (or “DeFi”) Protocols. Find statistics for popular DeFi protocols on Defi Llama and example code in the DeFi section of Solidity By Example.
Put simply, Synthetix is a DeFi protocol for derivatives. A main function of the protocol is to create tokens that track the value of price feeds. This is exciting, as this provides all of the benefits of crypto (transparency, trustlessness, composability, permissionlessness, self-custody, etc.) to any financial asset, not just crypto-native assets. Similar to how the internet democratized access to information and publishing, DeFi—with a robust derivatives protocol—could do the same for the financial system.
To understand how Synthetix works, you can start by understanding Liquity, a protocol similar to the more popular MakerDAO. Anyone can use this protocol by providing ETH as collateral for a loan of LUSD stablecoins (i.e. tokens that represent one dollar of value). For example, you might deposit $150 worth of ETH into Liquity and receive 100 LUSD. If the value of the ETH you deposited drops below $110, your ETH is seized (i.e. liquidated) and you keep the LUSD. Otherwise, you can return 100 LUSD to the smart contract and withdraw the ETH that you deposited.
At this point, it might seem like a minor update to allow these tokens to be traded into denominations other than a dollar. You could just add an exchange function that trades the stablecoin into another token (e.g. synthetic euros) at an exchange rate determined by a price feed reported by an oracle service like Chainlink. If only it were that simple!
The first main challenge that faces the protocol is front-running. With multi-second block times on Ethereum, it’s possible for bots to anticipate upcoming price changes before they’re reported on chain and trade accordingly. This effectively generates risk-free yield at the expense of stakers. (Stakers are users who provide collateral to the system and earn fees when synths are exchanged.)
The first major, successful solution to this was fee reclamation. This is a system where a user can execute a trade, but they must settle the trade minutes later, at which point a fee or rebate is applied. Though this solves the issue, it breaks composability. In other words, with fee reclamation, a smart contract cannot execute an exchange and then immediately move the received assets elsewhere (as a transfer, deposit, sale, etc.).
Another solution for front-running is a dynamic exchange fee. This adds a fee that increases during times of high market volatility. With dynamic exchange fees, the yield opportunity for front-runners is drastically decreased as a significant percentage of their profit is lost to this fee (which is paid out to stakers). A drawback to this solution is that traders who are not front-running are also exposed to the fee during moments of high volatility.
Exchanges without fee reclamation (referred to as atomic swaps) were introduced and later improved to take into account the exchange rate of like-assets on Uniswap when possible and otherwise ensure a large enough base fee is set for assets with relatively low volatility, like foreign currencies.
Thanks to atomic swaps, Synthetix was able to regain composability. It has since been integrated into order routers, like 1inch, which find the cheapest path for executing trades. Because Synthetix can fill orders without slippage (unlike Uniswap and similar exchanges), the routers often select Synthetix for large orders where slippage would otherwise be very large. For instance, a large trade of ETH to USDC may be routed first from ETH to sETH via Curve (an exchange similar to Uniswap, but optimized for like-assets), then exchanged from sETH to sUSD on Synthetix, and finally exchanged from sUSD to USDC on Curve. Recently, stakers have been earning hundreds of thousands of dollars in daily fees largely due trades like these, referred to as cross-asset swaps.
It is crucial for the protocol that synthetic assets continue to trade 1:1 with like-assets. For example, 1 sUSD should always be tradable for 1 USDC, 1 ETH should always be tradable for 1 sETH, etc. This is called maintaining the peg.
This is typically solved with arbitrage. For example, if sUSD were trading below the peg (meaning that 0.97 sUSD were trading for 1 USDC), an arbitrageur could use USDC to buy the discounted sUSD, and then use this sUSD to exchange for other synthetic assets because the Synthetix protocol always treats sUSD as worth $1. This increases demand for sUSD relative to USDC, which restores the peg, and the arbitrageur was incentivized with profit.
If sUSD trades above the peg, that means there’s essentially a shortage of sUSD. This would incentivize users to stake additional collateral into the system to mint sUSD and sell it for USDC. In practice, this isn’t always sufficient, as providing the collateral to properly back the newly minted sUSD may not be worth the arbitrage opportunity.
To improve the situation, Synthetix introduced wrappers for ETH and ERC-20 tokens. This allows users to provide the protocol with like-assets to back and mint an equivalent amount of a synthetic version of those assets. For example, you can “wrap” 1 ETH for 1 sETH directly. This has helped prevent synthetic assets from drifting over the peg, but complicated the process for stakers to hedge their position.
When stakers provide collateral to Synthetix, they assume shares of the total network’s debt. In other words, they are responsible for backing the value of a percentage of all the synths that have been issued, not just those they mint or exchange. If the value of all the issued synths increases, stakers’ collateralization ratios (i.e. “c-ratios”) decrease and they may risk liquidation. To hedge against this, stakers can hold assets that mirror the composition of all the issued synths. In the past, the ETH wrapper has skewed the debt pool such that hedging would require taking a short position on ETH. Managing this can be difficult, so some stakers now use the dHEDGE Debt Mirror Index Token to automate hedging. But even still, there are concerns around capital efficiency, as hedging increases the amount of capital required to provide the same amount of liquidity to the protocol, effectively decreasing the rate of return earned from exchange fees.
Ideally, there would be a way to create an on-chain derivative that is market neutral for stakers. (In other words, stakers could earn yield and hedging would be unnecessary.) Not only can perpetual futures achieve this, but they also allow traders to take long and short positions with leverage.
In a perpetual futures market, the aggregate amount of long and short positions are referred to as open interest. This open interest skews long or short relative to price reported by the oracle. A funding rate is applied, where the “heavier” side of the market pays a fee to the other. For example, if the market is skewed long, traders in a long position have to pay a fee to those in a short position. This creates an arbitrage opportunity that reduces the skew, meaning the stakers can become market neutral.
Synthetix successfully launched a beta of perpetual futures markets with Kwenta which has since seen millions of dollars in average daily trading volume. An improved version of perpetual futures is already in development.
One downside to perpetual futures is that the positions are non-fungible, as there is a margin associated with each position and the funding rate must be applied to them. They can still be composable when represented as NFTs (ERC-721 tokens), but many protocols are only compatible with fungible (ERC-20) tokens. It might be possible to build an ERC-20 token that represents a share of a fund that holds 1x long positions on a given perpetual futures market. The futures market may provide a special case for this, or it may be built as rebase token that effectively absorbs the funding rate. (Balances for all token holders would automatically grow when the market is skewed short and shrink when the market is skewed long.) With code optimizations, faster block times, and more liquidity, it is possible to decrease the funding rate (which could ideally make the adjustments to balances negligible).
Meanwhile, the Ethereum ecosystem has made great progress with layer two scaling solutions (L2s), which allow for significantly faster block times and cheaper transactions while still relying on Ethereum’s base layer for security. (Ultimately, the plan for the Ethereum ecosystem is for all users to interact with L2s and have the L2s settle on L1.) For Synthetix, this means a reduced risk of front-running and the ability to build more elaborate financial instruments, like perpetual futures.
Synthetix was one of the first protocols to deploy on Optimism, an L2. A major challenge for DeFi protocols on new chains is limited liquidity. This is because the amount of staked collateral limits the amount of synthetic assets that can be created. To solve this, Synthetix implemented the debt pool synthesis. This allows collateral on L1 to back synths on L2 (and collateral on L2 to back synths on L1) by relying on a custom oracle provided by Chainlink.
With the debt pool synthesized and a cross-chain messaging solution, such as Chainlink’s forthcoming Cross-Chain Interoperability Protocol (CCIP), Synthetix will be able to implement synth teleporters. This will allow users to quickly transfer synths between any two chains that have a Synthetix deployment. Because sUSD, for example, is backed by the collateral collectively across all chains, the protocol could destroy the sUSD on the source chain, send a cross-chain message with CCIP, and create an equivalent amount of sUSD on the destination chain. Because the protocol is already dependent on Chainlink’s oracle network, this would allow for fast bridging of digital assets across chains with no additional trust assumptions.
Synthetix is currently working on a rewrite of the protocol for a new major version release. Given that Synthetix was founded in 2017 (long before “DeFi summer”), there’s a big opportunity for the protocol to be rebuilt with new abstractions on an ultra-modern tech stack. This will entail improved sub-systems for managing different types of collateral, parsing price feeds, fine-grained control over the delegation of credit provided by stakers, and more. This means greater composability, more robust cross-chain support, and the ability to more easily deploy new synthetic assets.
Also, Synthetix is a much more complex protocol than other “DeFi primitives” (at minimum, due to having critical off-chain dependencies) and it operates in a highly adversarial environment (given the strong incentives to develop bots and find exploits). Accordingly, Synthetix has relied on upgradeability proxies to strengthen the protocol over time. A large part of the V3 effort has involved building best-in-class tooling for managing upgrades and systems for governance to better control these upgrades.
Ultimately, Synthetix should be deployable on any EVM-compatible chain that has sufficient security and decentralization, as determined by governance. Market contracts could be deployed on these chains based on oracle availability, generating synthetic assets backed by collateral held across all Synthetix deployments. And, with the ability to teleport assets across chains, these synthetic assets would become fungible regardless of the chain being used. This will make Synthetix the backbone of DeFi across the entire Ethereum ecosystem.
Synthetix is already a crucial primitive in DeFi, serving as a back-end for trading platforms and as critical infrastructure that powers other protocols:
While Synthetix is the largest derivatives protocol of its kind in the Ethereum ecosystem, there are many others working in this space:
Synthetix operates as a decentralized autonomous organization (i.e. DAO) with no legal entity which builds open source software to address the challenges outlined above.
The Spartan Council is elected by stakers of the SNX token. Spartan Council members vote on changes to the protocol, Synthetix Improvement Proposals (SIPs) and Synthetix Configuration Change Proposals (SCCPs). Core Contributors elect the Core Contributor Committee, which receives funding from the Treasury Council and oversees development of the protocol. Learn more about these organizations and Synthetix’s other governing bodies on Synthetix’s website.
Synthetix is also supported by a very vibrant community of stakers, traders, software engineers, designers, DeFi researchers, risk analysts, and more. Governance meetings are held publicly on Discord and anyone can propose a SIP or SCCP.
If you’d like to contribute to Synthetix (or just find this interesting), join the Synthetix Discord server. Thanks to dbeal.eth, 0xAfif, and others for reviewing earlier drafts of this post.