ERC-5604: NFT Lien

Extend ERC-721 to support putting liens on NFT


Metadata
Status: DraftStandards Track: ERCCreated: 2022-09-05
Authors
Zainan Victor Zhou (@xinbenlv), Allen Zhou (allen@ubiloan.io), Alex Qin (alex@ubiloan.io)
Requires

Abstract


This ERC introduces NFT liens, a form of security interest over an item of property to secure the recovery of liability or performance of some other obligation. It introduces an interface to place and removes a lien, plus an event.

Motivation


Liens are widely used for finance use cases, such as car and property liens. An example use case for an NFT lien is for a deed. This ERC provides an interface to implement an interface that performs the lien holding relationships.

Specification


The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119.

  1. Any compliant contract MUST implement ERC-721, and ERC-165.

  2. Any compliant contract MUST implement the following interface:


Rationale


  1. We only support ERC-721 NFTs for simplicity and gas efficiency. We have not considered other ERCs, which can be left for future extensions. For example, ERC-20 and ERC-1155 were not considered.

  2. We choose separate "addLienHolder" and "removeLienHolder" instead of use a single changeLienholder with amount because we believe the add or remove action are significantly different and usually require different Access Control, for example, the token holder shall be able to add someone else as a lien holder but the lien holder of that token.

  3. We have not specified the "amount of debt" in this interface. We believe this is complex enough and worthy of an individual ERC by itself.

  4. We have not specified how endorsement can be applied to allow holder to signal their approval for transfer or swapping. We believe this is complex enough and worthy of an individual ERC by itself.

Backwards Compatibility


The ERC is designed as an extension of ERC-721 and therefore compliant contracts need to fully comply with ERC-721.

Security Considerations


Needs discussion.

Copyright


Copyright and related rights waived via CC0.