Refundable NFTs are those which can be returned to the marketplace and reclaim the money that was used to buy them. Typically, funds are held in an escrow account and only after a certain time, they can be sent to the seller of the NFTs. In the mean time, the buyers can claim back their funds.
Such NFTs are made using an Ethereum standard called ERC-5507 and can only be applied to NFTs in the Ethereum ecosystem.
Table of Contents
Details of the ERC-5507 Standard
ERC stands for Ethereum Resource for Comments which is a prefix that is added to those Ethereum improvement proposals(EIPs) that are passed by the community.
The ERC-5507 Tokens were developed from a point of view to increase the accountability in the world of NFTs. This token standard also helps in complying with the return period policy in several nations. For example in EU, there is a mandatory 14-day refund policy.
To add the refundable functionality for any NFT, users simply need to add some extra functions to their to their NFT code.
How to Convert a ERC-721 NFT into a Refundable NFT?
A sample code obtained from Ethereum’s official site for converting a simple ERC-721 NFT into a refundable NFT is shown below. This code is an extension.
// SPDX-License-Identifier: CC0-1.0
pragma solidity ^0.8.17;
import "ERC721.sol";
import "ERC165.sol";
/// @notice Refundable ERC-721 tokens
/// @dev The ERC-165 identifier of this interface is `0xe97f3c83`
interface ERC721Refund is ERC721 /* , ERC165 */ {
/// @notice Emitted when a token is refunded
/// @dev Emitted by `refund`
/// @param _from The account whose assets are refunded
/// @param _tokenId The `tokenId` that was refunded
event Refund(
address indexed _from,
uint256 indexed _tokenId
);
/// @notice Emitted when a token is refunded
/// @dev Emitted by `refundFrom`
/// @param _sender The account that sent the refund
/// @param _from The account whose assets are refunded
/// @param _tokenId The `tokenId` that was refunded
event RefundFrom(
address indexed _sender,
address indexed _from,
uint256 indexed _tokenId
);
/// @notice As long as the refund is active for the given `tokenId`, refunds the user
/// @dev Make sure to check that the user has the token, and be aware of potential re-entrancy vectors
/// @param tokenId The `tokenId` to refund
function refund(uint256 tokenId) external;
/// @notice As long as the refund is active and the sender has sufficient approval, refund the token and send the ether to the sender
/// @dev Make sure to check that the user has the token, and be aware of potential re-entrancy vectors
/// The ether goes to msg.sender.
/// @param from The user from which to refund the token
/// @param tokenId The `tokenId` to refund
function refundFrom(address from, uint256 tokenId) external;
/// @notice Gets the refund price of the specific `tokenId`
/// @param tokenId The `tokenId` to query
/// @return _wei The amount of ether (in wei) that would be refunded
function refundOf(uint256 tokenId) external view returns (uint256 _wei);
/// @notice Gets the first block for which the refund is not active for a given `tokenId`
/// @param tokenId The `tokenId` to query
/// @return block The first block where token cannot be refunded
function refundDeadlineOf(uint256 tokenId) external view returns (uint256 block);
}
Further, refundable NFTs can generate greater sales through psychological incentives which we will discuss later in this article.
Addresses EU Regulatory Concerns
Refundable NFTs, created with the ERC-5507, align with EU laws by incorporating features that adhere to consumer protection principles. Here’s a brief overview of how they comply with two key EU directives:
- Consumer Rights Directive (2011/83/EU)
- Digital Content and Services Directive (EU) 2019/770
Use Cases of ERC-5507 Refundable NFTs?
The ERC-5507 is not widely used as of now. However, with time we are hopeful for its adoption in the future of NFTs. This is because the token standard not only complies with regulations of purchase around the world but also instills confidence among buyers.
1. Crowdfunding and Initial Coin Offerings (ICOs)
Traditional NFTs and NFT related projects pose significant risks to investors due to the lack of guarantees on several matters of high value such as project launch. Investors often have no recourse if a project fails to deliver on its promises or significantly deviates from its roadmap.
In such cases, if a project fails to materialize, investors could get a refund on their crypto.
A special case comes to mind was the Logal Paul’s CryptoZoo NFT game where he collected $2.3 million but the project eventually failed. It took several efforts by the users to finally make him return the funds. Still the refunds were only partial.
ERC-5507 tokens can be used in such projects to offer investors a refund option within a specific timeframe. This feature can increase investor confidence, as they have the safety net of getting their investment back if they are dissatisfied with the project’s progress or if the project fails to meet certain milestones. It also incentivizes project teams to adhere to their roadmaps and deliver on promises to avoid mass refunds.
2. Digital Content and Subscription Services
In the digital content and subscription-based models, customers often hesitate to purchase due to concerns about content quality or relevance. Once bought, they have little to no options for recourse if the content does not meet their expectations.
Content providers can issue ERC-5507-enabled NFTs to represent tickets to content or subscription services, offering a refund option within a certain period after purchase. This approach can enhance customer satisfaction by reducing the perceived risk of purchasing digital content and services. It also encourages content providers to maintain high-quality standards.
Since the payments and returns are automated, it would ensure a better sense of security for the viewers.
3. E-commerce and Retail
Online shopping sometimes leads to dissatisfaction due to product quality issues, delivery problems, or misalignment with customer expectations. The traditional return process can be cumbersome and does not always guarantee a monetary return.
E-commerce platforms can leverage ERC-5507 enabled NFTs as forms of payment that includes a refundable NFT for a set period post-purchase. This setup can streamline the return and refund process, making it more efficient and user-friendly. It enhances buyer confidence and can lead to higher sales volumes, as customers know they have the option to get a refund directly through the blockchain if the product does not meet their expectations.
4. Real Estate and Asset Rentals
In real estate and asset rentals, deposits and upfront payments represent a significant commitment from renters, with limited protection against unsatisfactory conditions or disputes with landlords.
ERC-5507 tokens can be used to handle deposits and upfront payments in rental agreements. Renters can be refunded their tokens if the property does not meet the agreed-upon standards or if specific conditions are met. This mechanism provides a transparent and secure way to manage financial transactions in rental agreements, offering protection and peace of mind for both renters and landlords.
This way, asset tokenization can be accelerated.
5. Escrow Services
Escrow services could benefit the most from this technology. They could use refundable NFTs to ensure the delivery of conditions.
Traditional escrow services often involve third parties, which can increase costs and complicate transactions. Trust issues may also arise between transacting parties due to the lack of a transparent mechanism to ensure fairness.
ERC-5507 can facilitate escrow services for various transactions, allowing funds to be held in a refundable state until certain conditions are met. This use case can apply to freelance contracts, goods transactions, and services, providing a decentralized and trustless escrow mechanism. It reduces the need for intermediaries, lowering costs and increasing efficiency and trust among parties.
Some Challenges to Implement ERC-5507
1. Could Impact Market Volumes
The introduction of refundable NFTs could significantly impact market dynamics in the following ways. The ability to request a refund might encourage a less cautious buying behavior which could potentially reduce speculative trading and the overall volume of transactions.
2. Difficult in Implementation
For developers, creating a smart contract that accurately and securely handles the refund process requires careful planning to avoid loopholes that could be exploited.
These challenges not only increase the development and maintenance costs but also require ongoing monitoring.
Applications of Refundable NFTs
In 2013, Spielworks, a blockchain based game created refundable in-game assets that were sold as NFTs through this technology. User who acquired NFTs called reverties were entitled to a full refund through USDC.
Does Cyan offer Refundable NFTs?
As of now, Cyan does not offer refundable NFTs. However, we can if there is a considerable demand from the markets.