The amazing L2 funding machine

Omni-chain architecture for Sweep Protocol

Andy Singleton
Sweepr

--

Sweep is designed from the ground up for the era of L2s. Each chain has an equal deployment. They coordinate and move money through arbitrage between AMMs.

  • Blockchains can attract dollars and TVL. They can attract dollars for reward-boosted launches, deploy an RWA line of business, and grow real world and securities assets.
  • Savers get one simple dollar asset with an expanding set of uses on 11 blockchains as a store of value or yield-bearing collateral.
  • Investors and asset providers get margin money on their favorite blockchain.
Prometheus lifting chains, by Playgroundai.com

We started out with some goals: A single savings asset that can be widely accepted as a store of value or collateral; access on your favorite EVM chain; purchase and redemption through standard AMMs; and a full deployment for every participating chain to support local savings and investment.

We could move money through a central controller that operates a bunch of accounts on different blockchains. However, that would add a central point of failure and limit community innovation. Instead, Sweep works with decentralized actors.

Sweep uses new “omnichain” capabilities from LayerZero.

  • “Omnichain fungible tokens” for portable SWEEP tokens
  • “Omnichain governance” for sending transactions from the DAO governor to remote chains
  • Messaging for synchronizing price and rate parameters

Moving money between chains

Every participating chain has an AMM where savers can buy and sell SWEEP. If there are enough buyers, then the price goes above the target. When the price is above target, authorized borrowers can mint new SWEEP, sell it to the AMM for redeemable dollars, and invest.

If there are a lot of savers on Savers Chain, the price of their SWEEP will increase. If there are good assets on Borrowers Chain, the price of their SWEEP will fall as borrowers mint and invest. This creates a pressure to buy SWEEP on Borrowers Chain, move it, and sell it on Savers Chain.

As L2 chains boot up their DeFi and RWA economies, we need to move money. When we say “savers”, we really mean “people, wallets, and protocols that are holding zero-interest stablecoins.” Most of those zero-interest stablecoins are on Ethereum.

SWEEP coins are LayerZero “Omnichain Fungible Tokens”. You can move them through our dashboard UI or through a smart contract that burns them on the source chain, and mints them on the destination. This reduces risk, because we don’t hold them in bridge pools that attract hackers. The LayerZero implementation also allows us to mint (and lend and invest) on any participating chain.

Omnichain Governance

We can deploy a full and equal copy of Sweep protocol on many EVM blockchains. There is one special chain where we run governance votes. Currently, the governance chain is Arbitrum. We create an executable transaction on Arbitrum, vote on it, and use “Omnichain governance” to deliver it to the destination chain.

Price and Rate Synchronization

Sweep needs to make sure that the interest rate (and the resulting target price changes) are exactly the same on each blockchain. It sends messages about interest rate changes. These messages give every blockchain the same future interest rate, target price change, and time to switch.

Design for expansion

We made design decisions to increase portability.

One savings token

We want a single savings asset — SWEEP — across all networks. Network scale is a powerful feature, and buyers want it.

That goes up in value

There are three typical ways to pass through stablecoin returns. We use “price increase.”

Rebasing: You hold a stablecoin that is pegged to $1, and you get more of them as you earn returns. This is a nice user interface. However, does not work well if you have to coordinate it on more than one blockchain.

Staking: You deposit a stablecoin somewhere. When you go to get it back, you get something extra. Sometimes, it’s extra governance tokens that don’t match the staked tokens. Staking is a tunable toolkit for rewarding holders, or getting liquidity. It is difficult to offer consistently on more than one blockchain — which is often the point! Protocols like Frax use this tactic to do price discrimination, and offer returns only to people that are willing to play games that move around. The complexity of the games makes the asset poorly suited to long-term embedding.

Price increase: The coin is not a stablecoin. It goes up in value as it earns returns. This type of coin is easy to embed, and easy to bridge.

Available in an AMM

There are also three typical ways to sell and redeem deposits. We use an AMM.

Vault or PSM: A smart contract pool offers to redeem your tokens for a known amount of dollars, with no slippage and no price changes. That deal is great for buyers. However, it can motivate runs, where people race to get money out before the pool runs out of free cash. There is no price signal to push back on runs. You can prevent runs by having a lot of uninvested cash. This drags down your returns. You can manage cash by putting in a delay, such as a delay of several days to sell and settle the underlying assets.

Compound-style lending pool: Depositors put money into a pool, and borrowers take it out. The pool adjusts the interest rate according to the “utilization,” the percentage that is borrowed. When utilization gets high (often because depositors are taking money back faster than borrowers can repay), the interest rate starts to go up a lot, which motivates faster repayment. This system is simple, reliable, and popular.

However, it is primitive in its use of cash. It typically keeps at least 20% unutilized cash, which brings down returns at least 20%. It tends to run out of cash when redemptions demand is high.

Compound-style pools deliver a weak price signal. The price signal is in the form of an interest rate change. This could take days or weeks to add up to enough interest to motivate someone to move money between blockchains.

In my opinion, the big problem is that they deliver a price signal to the wrong person. The depositor who is withdrawing money does not pay anything for their “liquidity preference”. Instead, they pass this cost on to the borrowers. The borrowers are not there to respond. They are probably asleep.

AMM: In an AMM system, a depositor who is withdrawing money pays in the form of a discount. AMM pricing can be different from the target or NAV price. This can be annoying. However, it provides important capabilities to Sweep.

  • It pushes back in real-time on big buyers and sellers. This provides time for borrowers to respond, and reduces the probability that the pool will run out of cash — even if high percentages of the cash are invested to earn returns.
  • It helps Sweep provide liquidity and maturity transformation. Sweep is tuned to allow savers to buy and sell in real time, while offering securities vendors and users up to seven days to settle a trade.
  • It creates a simple mechanism cross-chain distribution and investment. Anyone can move SWEEP to an AMM on a chain where it is in demand.

Open to new assets

Sweep accepts applications from new borrowers and asset providers on any participating platform. This helps Sweep keep up with business cycle changes and grow the on-chain economy.

Try the Sweep warmup release.

Collaborate to grow the on-chain economy

Sweep Protocol has a mission to grow the on-chain economy. Please stay in touch through Discord or Twitter.

--

--

Andy Singleton
Sweepr

Software entrepreneur/engineer. Building DeFi banking at Maxos — https://maxos.finance . Previously started Assembla, PowerSteering Software, SNL Financial.