Add renBTC as Collateral and Enable Native BTC Deposits/Withdrawals

Add renBTC as Collateral and Enable Native BTC Deposits/Withdrawals

Background

Overview

Currently, the only form of collateral supported is USDC. This proposal seeks 2 major enhancements to the protocol (It is important to note that Step 1 can be implemented irrespective of the decision to move forward with Step 2):

  1. Add renBTC as collateral or “Quote Token” against all market pairs (in addition to USDC)
  2. Enable native BTC deposits/withdrawals by integrating RenJS directly into the dApp (more on this below)

By implementing this proposal, it will open the floodgates to a ~$1 trillion liquidity market, allowing users to interact with the protocol without ever losing exposure to their BTC. Additionally, transaction fees can be paid in renBTC, enabling 2 key outcomes:

  1. There could be 2 insurance funds: a “growth” fund that is populated with renBTC, in addition to the existing USDC insurance fund
  2. PERP stakers can receive rewards in both USDC and cold, hard Bitcoin! (or renBTC to be precise)

Note: Regarding the insurance fund, I can see an argument for the protocol to convert the renBTC to USDC in bulk at the end of each epoch to maintain a single, stable, USDC insurance fund. Please provide your comments/thoughts on this below!

Lastly, for the sake of argument, WBTC will be ignored form this proposal and should not be considered a viable option for 2 primary reasons: 1) it is minted (and the underlying BTC is custodied) by a centralized financial institution, BitGo. They are based in the USA where trading perpetuals is more or less illegal, thus opening themselves up to regulatory scrutiny and could very possibly be shut down by the SEC 2) Minting WBTC requires KYC, so Step 2 (a native deposits/withdrawals) will not possible

Proposal

Step 1: RenBTC (for collateral)

renBTC is a tokenized representation of BTC on the Ethereum (also in BSC with others coming soon). It is implemented as a standard ERC-20 contract and backed 1:1 by native BTC locked in the RenVM. Individuals can acquire renBTC today by minting it from native BTC via the RenBridge or acquiring it through exchanges, and it can be redeemed for native BTC at any time.

Ren has been running smoothly since May 2020 with over $3.5 billion in BTC transacted to date. With ~$1 billion in already existing liquidity, RenBTC has firmly established itself as the primary provider of decentralized and permissionless BTC on Ethereum.
image
Source: https://mainnet.renproject.io/

Step 2: RenVM (for native deposits/withdrawals)

RenVM (REN Virtual Machine) is the underlying protocol which powers the network. In addition to BTC, it also supports cross-chain compatibility with DOGE, ZEC, FIL, BCH, DGB and many more to come.

RenVM already supports a BTC bridge to BSC and is currently working on bridges to/from Acala (Polkadot), Solona, Terra (Luna) Avalance, and more. In the future, you could not only deposit native BTC or renBTC from Ethereum, but you could also deposit renBTC directly from the other “host chains” just mentioned . For example, if a user has renBTC on Binance Smart Chain, this integration will eventually allow them to deposit that token directly into Perpetual Protocol as collateral!

RenVM is a byzantine fault-tolerant network that is able to securely in a decentralized manner do ECDSA threshold key generation and signing via sMPC, which allows RenVM to manage (ECDSA) private keys of the various assets mentioned above.

For detailed instructions on how to implement native BTC deposits/withdraws, check out their documentation (tl;dr it’s not that hard)

Try it out

To get a feel for what the user experience would be like, check out the RenBridge or Curve’s native integration.

Considerations

It is worth noting that renVM is currently semi-decentralized, and have recently announced their roadmap for the next phase towards full decentralization in the coming months. Established and reputable entities like Curve, Alameda Research, Polychain Capital have put faith in Ren and will a few of many to run nodes that are responsible for consensus and execution of RenVM.

The final consideration for this step is fees. To leverage native BTC deposits/withdrawals, users will need to pay a fee to the network’s node operators .25% to mint (or deposit) native BTC and .1% to burn (or withdraw) native BTC. However, users will have the option to bypass these fees is they already have renBTC prior to depositing collateral or wish to keep renBTC when withdrawing to Metamask (or similar wallet).

Additional REN Resources

Website | Docs | Telegram | Announcements | Twitter | Reddit | Github

7 Likes

I love this proposal - both Step 1 (use of renBTC as collateral) and Step 2 (native BTC withdrawals / deposits). Very well articulated, too! I would certainly support this.

3 Likes

I think this is an amazing proposal.

Not only will it help us tap into a huge tranche of liquidity through btc exposure, but presumably it could also help the protocol earn fees since we could take a cut of the minting fees should we also include the direct integration.

I think this would act as a great way to distinguish ourselves from competition, boost liquidity and potentially earn further fees. What’s not to like??

3 Likes

Very thorough proposal. Fully supportive of this!

Awesome proposal! It’s very well thought out. Definitely see a lot of potential in this.

Thanks for the article!

Two thoughts.

  1. The Perpetual Protocol smart contracts are on xDai. Does REN support xDai? Can users get their renBTC tokens on xDai without going through Ethereum?
  2. This will likely be implemented by users once private market creation comes online sometime later this year. At that time users will be able to create any market they want, like on Uniswap. We are confident pairs with BTC as the quote asset will be among the first markets to be created in this way.
2 Likes

Thank you for this wonderful proposal, which I fully support. I understand the flexibility with having a single collateral token (USDC), which can be used on all markets, but I think a lot of people just want to leverage their BTC in a decentralized way, and don’t want any exposure to USDC.

To create the perfect user experience I would add the following:

  • Should be possible to create an account on L2 with a hardware wallet (Trezor/Ledger) without paying any gas-fees and without any browser plugin. A lot of bitcoin users don’t know how to use metamask etc.

  • Ability to deposit BTC without paying gas-fees on the destination chain. The protocol should subsidize minting renBTC or add a fee for this service. Same for withdrawals.

  • When the account is created on L2, it should create a separate private key for trading, which is stored in the browser storage and protected by a password. Then you can do daily trading without the hardware wallet. For withdrawal of funds you would still need the hardware wallet. This has been implemented by dYdX.

  • Stop-loss which is already on the roadmap.

This would be the perfect perpetual DEX!

I believe ZK-Rollups are the future, so everything must be portable to zkSync or MatterLabs when they support EVM.

The UI should refer to these assets as USD and BTC instead of USDC and renBTC.

We need to attract more users to the platform, and “this is the way”.

3 Likes

I would also support a solution with WBTC as collateral and RenVM as the technology for deposits and withdrawals. Then we would need a Curve like AMM on the L2 chain.