# Compound protocol Review Compound protocol is an EVM compatible protocol that enables supplying of crypto assets as collateral in order to borrow the base asset. Accounts can also earn interest by supplying the base asset to the protocol. The initial deployment of Compound protocol is on Ethereum and the base asset is USDC. Compound protocol enables users to lend and borrow assets, as can be explained below. ## Lenders Lenders can make money at a variable annual interest rate by depositing or locking their cryptocurrency into Compound. Compound's advanced smart contracts are used to store each unique token in a liquidity pool of that same token. In the same token that they deposit in the pool, lenders get compound interest. As a result, your interest on ETH compounds if you lend it to Compound. In a same vein, you will receive your compound interest in USDT if you deposit USDT. ## Those who Borrow In the Compound system, borrowers are able to borrow money against their cryptocurrency balance. A bank will typically run a personal finance background check to evaluate your credit rating when you borrow money from them. Compound, on the other hand, is abiding by DeFi's assurance of confidentiality and never asks about personal finances. Thus, Compound exclusively provides over-collateralized loans in order to prevent debt and bankruptcy. The amount that a user can borrow is determined by the collateral factor and borrowing limit defined by the protocol. You must pay compound interest on the money you take out of the protocol. ## The COMP Token The COMP token is a powerful force that runs the Compound protocol. It is a governance token with which the token-holders can propose changes and vote on them. Token-holders play a significant role in deciding the future of the Compound protocol. When you supply assets to the Compound protocol, you receive cTokens in return. These are tokens that represent your supply balance in the Compound system and accrue interest over time. For example, if you supply ETH, you will receive cETH. COMP is also the rewards token for Compound’s liquidity mining. Whenever a lender adds cryptocurrencies to Compound’s liquidity pools or borrows from these pools, they get COMP tokens. COMP is distributed every 15 seconds (Ethereum mining period) in proportion to user’s interest. Everyday, 2,880 COMP tokens are rewarded to lenders and borrowers in a 50:50 ratio for maintaining Compound interest. ## Supply The supply function transfers an asset to the protocol and adds it to the account’s balance. This function can be used to supply collateral, supply the base asset, or repay an open borrow of the base asset. ``` function supply(address asset, uint amount) function supplyTo(address dst, address asset, uint amount) function supplyFrom(address from, address dst, address asset, uint amount) ``` ## Withdraw or Borrow The withdraw method is used to withdraw collateral that is not currently supporting an open borrow. Withdraw is also used to borrow the base asset from the protocol if the account has supplied sufficient collateral. To borrow, users need to supply collateral. The maximum amount that can be borrowed is determined by the collateral factor of the supplied asset. ``` function withdraw(address asset, uint amount) function withdrawTo(address to, address asset, uint amount) function withdrawFrom(address src, address to, address asset, uint amount) ```