Support cbETH on Seamless

Summary
Proposal to add cbETH for lend and borrow markets on Seamless Protocol on Base.

References
Project - https://www.coinbase.com/price/coinbase-wrapped-staked-eth
Whitepaper - https://www.coinbase.com/cbeth/whitepaper
Documentation - cbETH Intro | Using cbETH | Sourcing cbETH on Coinbase
Github / source code - Source code | Github
Ethereum contracts - Coinbase Wrapped Staked ETH | Basescan
Chainlink oracle - cbETH / USD Chainlink Price Feed (Base)
Audit - Coinbase Liquid Staking Token Audit - OpenZeppelin blog
Twitter - https://twitter.com/coinbase
Support - https://help.coinbase.com/

Paragraph Summary
This is a proposal to add Coinbase Wrapped Staked ETH (cbETH) to Seamless protocol on Base mainnet. cbETH is an ERC-20 compliant token on Base (and Ethereum and other chains) that represents underlying staked ETH on the Coinbase platform.

Motivation
Since Seamless Protocol is the first (and only) native liquidity platform built on Base, it should consider expanding its shelf to include the native LST of Base: cbETH. Base is built by coinbase, who has also launched cbETH is a ETH LST, that is top 5 in terms of total market cap, and is the top ETH LST available in the Base ecosystem, where it is also used as foundational liquidity in other DeFi projects and platforms. As such, there should be a meaningful amount of demand for borrowing against liquid-staked ETH and cbETH in particular is the only and leading ETH LST option on Base.

Specifications

  1. What is the link between the author of the AIP and the Asset?
    Seamless Community Contributor

  2. Provide a brief high-level overview of the project and the token
    Coinbase is supporting liquid staking for its ETH stakers with Coinbase Wrapped Staked ETH (cbETH), where the staked asset is Ether (ETH), and the staking provider and token issuer is Coinbase. With cbETH, Coinbase aims to contribute to the broader crypto ecosystem by supporting high-utility wrapped tokens and open sourcing smart contracts.

cbETH follows the cToken model, which allows it to be ERC-20 compliant and easier to integrate with DeFi more broadly. cbETH can be unwrapped for staked ETH plus accrued rewards net of Coinbase staking fees and any network-imposed penalties. Rewards and penalties affecting Coinbase staked ETH change the conversion rate between cbETH and underlying staked ETH.

  1. Explain positioning of token in the Seamless ecosystem. Why would it be a good borrow or collateral asset?
    Discussed above, the largest LST on Base chain right now, with support of Base, should bring additional liquidity, lenders/borrowers to the platform. It is also the most likely LST to continue expanding in the Base ecosystem and has uses across various defi platforms at the moment.

  2. Provide a brief history of the project and the different components: DAO (is it live?), products (are the live?). Etc.
    Coinbase, Inc. (Parent company NASDAQ: COIN) is a prominent cryptocurrency trading platform in the United States and around the world. As of 6/30/2022, the company and its global affiliates had 103M+ verified users, $96B assets on platform, and offered services in 100+ countries [source 2]. Coinbase is allowing customers who stake ETH to wrap it for an ERC20 utility token called Coinbase Wrapped Staked ETH (“cbETH”), which is a liquid representation of their staked-ETH.

Coinbase’s mission is to increase economic freedom in the world. In pursuit of this mission, Coinbase builds products to improve access to economic freedom, cbETH being one of these projects.

  1. How is the asset currently used?
    cbETH allows users who have staked with Coinbase to sell or transfer the ownership of their staked ETH. cbETH is currently traded on Uniswap, Curve, and the Coinbase trading platform.

  2. Emission schedule
    There is no emissions schedule. Customers who have staked ETH with Coinbase can wrap their staked ETH to obtain the cbETH token.

  3. Token (& Protocol) permissions (minting) and upgradability. Is there a multisig? What can it do? Who are the signers?

Key roles of the cbETH contract:

  • oracle - updates the conversion rate for the token. Coinbase controls the oracle’s address and updates the ‘exchangeRate’ every 24 hours at 4pm UTC. This update cadence may be changed in the future.

  • master Minter - can assign minters and their limits

  • minter - can mint and burn tokens

  • pauser - can pause all transfers, mints, and burns for the contract

  • blacklister - can blacklist an address from transferring, minting, and burning

  • owner - can assign all roles except the admin’s

  • admin - can upgrade the contract, and re-assign itself

All privileged keys are controlled by Coinbase using best practices

  1. Market data (Market Cap, 24h Volume, Volatility, Exchanges, Maturity)
    ~$36.5M market cap on Base

~ $500k+ 24 hour volume on Base [Aerodrome, Uniswap v3, SwapBased, Alienbase, Baseswap, Curve]

Depth of markets and markets available are discussed in risk analysis section below.

Maturity discussed below in the contract date of deployment section.

  1. Social channels data (Size of communities, activity on Github)
    Twitter and github shared above

  2. Contracts date of deployments, number of transactions, number of holders for tokens

Technical Specifications
Deeper technical specs to be shared later, but a high level overview below:

Supply cap = 800 (cbETH)
Borrow cap = 121 (cbETH)
LTV = 65%
LT = 72%
LB = 7.5%

Volatile interest rate strategy
Optimal Utilization = 45%
U1 = 7%
U2 = 300%

Security Considerations

  • Upgradeable by coinbase (or centre or Circle)
  • Received a security audit from leading provider, OpenZeppelin, built on top of centre-tokens (which is battle tested and used for USDC).
  • Is already integrated on AAVE v3 on Base as well as used for collateral on Compound v3 on Base.
  • Has proper oracles setup which are mature/used by other platforms as well.

Risk Analysis

As of a week ago:

  • Market cap is ~$2.1Bn, with $323M circulating, and $36.5M on Base.
  • It is available across Uni v3, Aero, Curve, and more (just to name a few).
  • Specifically for Uni v3 liquidity:
    • cbETH <> ETH +/- 2% = $242k / $105k
    • cbETH <> USDbC +/- 2% = $131k / $96k
  • Has high “whale” concentration on Base (>90% of cbETH in whale wallets)

While the counterparty risk is low with Coinbase as the issuing entity, cbETH is a newer asset, with limited liquidity on Base, as well as a centralized token. As such, it would be prudent to do deeper risk analysis and monitoring before considering more aggressive parameters.

To begin, the proposal is to not enable e-mode borrowing yet, and to start with relatively more conservative LTV and LT thresholds as outlined in the technical specs above, with supply caps and borrowing caps instituted to also account for available Base liquidity.

The belief is that cbETH can begin outside of isolation mode as the only assets currently available on the Seamless Protocol are USDbC and ETH which are more robust and liquid assets, making cbETH the “least common denominator”.

4 Likes

To expand on technical specifications, the proposed cbETH reserve listing will have the following parameters:

  • Supply cap: 800 (cbETH)
  • Borrow cap: 121 (cbETH)
  • Loan-to-value: 65%
  • Liquidation threshold: 72%
  • Liquidation bonus 7.5%
  • Reserve factor: 0%
  • Liquidation fee: 0%
  • Flash loans: Disabled
  • E-mode: Disabled

The cbETH reserve will point to a interest rate strategy with parameters:

  • Optimal utilization: 45%
  • Slope 1: 7%
  • Slope 2: 300%
  • Variable rate: Enabled
  • Stable rate: Disabled

Specifically, run deploy-interest-rate-strategy.ts as follows:

HARDHAT_NETWORK=base-tenderly npx hardhat deploy-interest-rate-strategy \
  --name cbethInterestRateStrategy \
  --optimalusageratio 0.45 \
  --basevariableborrowrate 0 \
  --variablerateslope1 0.07 \
  --variablerateslope2 3.0 \
  --stablerateslope1 0.07 \
  --stablerateslope2 3.0 \
  --basestablerateoffset 0.02 \
  --stablerateexcessoffset 0.05 \
  --optimalstabletototaldebtratio 0.02

Then initializing cbETH reserve:

PoolConfigurator.initReserves([
  aTokenImpl: 0x27076A995387458da63b23d9AFe3df851727A8dB,
  stableDebtTokenImpl: 0xb4D5e163738682A955404737f88FDCF15C1391bF,
  variableDebtTokenImpl: 0x3800DA378e17A5B8D07D0144c321163591475977,
  underlyingAssetDecimals: 18,
  interestRateStrategyAddress: <cbethInterestRateStrategyAddress>,
  underlyingAsset: 0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22,
  treasury: 0x982F3A0e3183896f9970b8A9Ea6B69Cd53AF1089,
  incentivesController: 0x91Ac2FfF8CBeF5859eAA6DdA661feBd533cD3780,
  aTokenName: “Seamless cbETH”,
  aTokenSymbol: “scbETH”,
  variableDebtTokenName: “Seamless Variable Debt cbETH”,
  variableDebtTokenSymbol: “variableDebtSeamcbETH”,
  stableDebtTokenName: “Seamless Stable Debt cbETH”,
  stableDebtTokenSymbol: “stableDebtSeamcbETH”,
  params: 0x10
])
PoolConfigurator.configureReserveAsCollateral(
  asset: 0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22,
  ltv: 65_00,
  liquidationThreshold: 72_00,
  liquidationBonus: 107_50 
)
PoolConfigurator.setReserveBorrowing(
  asset: 0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22,
  enabled: true
)
PoolConfigurator.setBorrowCap(
  asset: 0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22,
  newBorrowCap: 121
)
PoolConfigurator.setSupplyCap(
  asset: 0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22,
  newSupplyCap: 800
)
PoolConfigurator.setReserveStableRateBorrowing(
  asset: 0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22,
  enabled: false
)
PoolConfigurator.setReserveFlashLoaning(
  asset: 0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22,
  enabled: false
)
PoolConfigurator.setReserveFactor(
  asset: 0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22,
  newReserveFactor: 0
)
PoolConfigurator.setLiquidationProtocolFee(
  asset: 0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22,
  newFee: 0
)
AaveOracle.setAssetSources(
  assets: [0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22],
  sources: [0xd7818272b9e248357d13057aab0b417af31e817d]
)
2 Likes

Strongly support listing of cbETH

Having cbETH on the Base based protocol seems quite logical, fully support

1 Like

Also in support of listing cbETH. Makes sense and the parameters look good