eip: 5252
title: Account-bound Finance
description: An EIP-5114 extension to remove insolvency and arbitrary loss of funds
author: Hyungsuk Kang (@hskang9)
status: Draft
type: Standards Track
category: ERC
created: 2022-06-29
requires: 721, 1155, 5114
Abstract
This EIP proposes a form of smart contract design pattern and a new type of account abstraction on how one’s finance should be managed in web3.0, ensuring transparency of managing investments and protection with self-sovereignty even from its financial operators.
This EIP also extends EIP-5114, but the difference is that it can be transferred to other accounts for mobility between managing multiple wallets.
Motivation
Finance in the crypto ecosystem is facing a huge trust issue. Smart contracts are often proxies, with the actual logic of the contract hidden away in a separate logic contract. Many projects include a multi-signature “wallet” with unnecessarily-powerful permissions. And it is not possible to independently verify that stablecoins have enough real-world assets to continue maintaining their peg, creating a large loss of funds (such as happened in the official bankruptcy announcement of Celsius and UST de-pegging and anchor protocol failure). One should not trust exchanges or other third parties with one’s own investments.
The pattern empowers more self-sovereignty and gives more credentials(obviously with an Account-bound token) than locking financial data in the operating team’s contract.
Segregation between investor’s fund and operation fee is clearly specified in the smart contract, so investors can ensure safety from arbitrary loss of funds by the operating team’s control.
Specification
The pattern consists of 5 components, manager, factory, finance, account-bound token, and extension.
Diagram
Manager
: Manager
contract acts as an entry point to interact with the investor. The contract also stores parameters for Finance
contract.
Factory
: Factory
contract manages contract bytecode to create for managing investor’s fund and clones Finance
contract on Manager
contract’s approval. It also mints account-bound tokens to interact with the Finance
contract.
Finance
: Finance
contract specifies all rules on managing an investor’s fund. The contract is only accessible with an account that has an Account-bound token. When an investor deposits a fund to Manager
contract, the contract sends the fund to Finance
contract account after separating fees for operation.
Account-bound token
: Account-bound token
contract in this EIP can bring the Finance
contract’s data and add metadata. For example, if there is a money market lending Finance
contract, its Account-bound token
can show how much balance is in agreement using SVG.
Extension
: Extension
contract is another contract that can utilize locked funds in Finance
contract. The contract can access with Finance
contract on operator’s approval managed in Manager
contract.
Backwards Compatibility
This EIP has no known backward compatibility issues.
Reference Implementation
Reference implementation is a CDP-lending stablecoin project here.
Copyright
Copyright and related rights waived via CC0.