A Smart Contract Bank
Today we’re excited to announce Marble, an open-source bank on the Ethereum blockchain. The Marble smart contract owns Ether and tokens and makes its funds available to provably fair, low-risk protocols that require a lender.
The first of these integrations, a concept we’re calling flash lending, is deployed to the Ethereum mainnet in public beta.
Flash lending lets anyone borrow Ether and ERC20 tokens to take advantage of arbitrage opportunities on Ethereum. A smart contract can execute any arbitrary code after borrowing as long as the funds are returned to the bank within the scope of the same transaction. While simple in design, this allows developers to easily profit from inefficiencies in the prices of Ethereum assets without using their own capital.
For example, it’s possible to use flash lending to make arbitrage trades on decentralized exchanges. There are now several DEXs on Ethereum such as 0x, Bancor, and Kyber, which often have small price differences. With flash lending, a trader can borrow from the Marble bank, buy a token on one DEX, sell the token on another DEX for a higher price, repay the bank, and pocket the arbitrage profit all in a single atomic transaction.
Decentralized exchanges still account for only a very small percentage of overall trading volume of cryptoassets. Arbitrage trading creates liquidity and improves price discovery, which is an important step towards making decentralized exchanges more usable. Flash lending makes arbitrage trading more accessible by empowering traders to earn arbitrage profits without risking their own capital.
The smart contracts are deployed to the Ethereum mainnet in public beta. Visit our repo for a technical overview of our implementation. The bank currently has a balance of 2 Ether, which serves as a bug bounty. We’re excited to support a developer ecosystem, so if you are building a project that can leverage flash lending, please let us know! This might include an arbitrage bot, support for a new exchange (or for auctions, token sets, etc.), or something we haven’t even thought of yet.
We’re building Marble in a modular way, so that it can act as a generic on-chain lender in diverse use cases, such as margin trading and collateralized loans. If you’re building a protocol that could use an on-chain lender, let’s talk.
If you’re excited about what we’re building, please get in touch!