# Smart Contract

ELYFI has various contract interactions centered on the Money Pool Contract. Several tokens are issued or destroyed to indicate the status of participants, and all issuance and burn processes are carried out through the Money Pool Contract.

### MoneyPool&#x20;

This is the main contract that interacts with the protocol. Most of the financial activities take place based on this contract.

* borrowRealAssetCollateralized()
* borrowCryptocurrencyCollateralized()
* repayRealAssetCollateralizedBorrow()
* repayCryptocurrencyCollateralizedBorrow()
* supplyReserve()
* withdrawReserve()
* liquidateRealAssetCollateral
* liquidateCryptocurrencyCollateral
* ...

### ABToken

A type of token that records information about real asset-backed bonds and acts as bonds on-chain. It complies with the NFT standard, and this token can be deposited in the Money Pool to execute a loan contract.

* ERC721 Interfaces
* purchaseSecuritizedABToken()
* refundSecuritizedABToken()
* claimInterest()
* ...

### AToken

This is issued when an investment is made in a single asset (bond). It is a means to indicate that one has invested in securitized ABTokens. It follows the ERC20 standard.

* ERC20 Interfaces

### LToken

When funds are deposited in the Money Pool, they are issued as a means to indicate that one has deposited the funds in the Money Pool. It complies with the ERC20 standard. The balance total automatically increases as interest accrues.

* ERC20 Interfaces
* implicitBalance()

### DToken

When borrowing cryptoassets from the Money Pool as collateral against assets, this token is used as a means to express this. It is similar to the ERC20 token standard, but does not provide any function related to the transmission of tokens.



Check out https://github.com/elysia-dev/elyfi/tree/master/docs for more information.\
