Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add EIP-5083: NFT Token Acceptance Standard #5083

Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions EIPS/eip-5083.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
eip: 5083
title: NFT Token Acceptance
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reading the title and description I feel the "token acceptance" is a bit ambiguous. Can you reduce the ambiguity in the title to match the description?

description: Retrieve the types of EIP-20 tokens that are accepted by a particular NFT collection for buying and selling in a NFT Marketplace
discussions-to: <URL>
author: Mihir Wadekar (@mw2000)
status: Draft
type: Standards Track
category: ERC
created: 2022-05-05
requires: 20, 165, 721, 1155
---

## Abstract

This standard allows contracts, such as NFTs that support [EIP-721](./eip-721.md) and [EIP-1155](./eip-1155.md) interfaces, to specify the permitted [EIP-20](./eip-20.md) tokens that can be used in a NFT marketplace to buy and sell the NFT from this collection. This would allow NFT creators to setup a wider economy by adding more use-cases to their own, or other EIP-20 tokens. The interface would be similar to the [EIP-2981](./eip-2981.md) standard such that it will be completely voluntary for NFT marketplaces to implement this standard in their products.

## Motivation
Buy/Sell transactions for NFTs on marketplaces often happen in a standard currency like ETH. Certain NFT Collections may want to enable payments in specific EIP-20 tokens only, howwever specifying this on each and every NFT Marketplace is cumbersome and creates friction. Instead, this EIP proposes the creation of a standard interface to allow NFT marketplaces to easily obtain this information from the smart contract itself.

By allowing for only specific tokens to trade NFTs, an atomic use-case and economy can be created for the token.

A good example for this is ApeCoin and Otherside. If Otherdeeds were only tradeable in ApeCoin, it would add much more of a use-case to the token allowing the future Otherside game to run entirely on ApeCoin, along with trading. This is also similar to Roblox and trading items exclusively in Robux, and Fortnite and trading items exclusively in V-Bucks.

## 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.

**EIP-721 and EIP-1155 compliant contracts MAY implement this EIP for specifying which tokens they would want the NFTs to be transacted in.**

## Rationale

### Create economy for token

TODO

### Allow creators to determine what tokens they receive royalties in

TODO

## Backwards Compatibility

This standard is compatible with EIP-721 and EIP-1155.

## Reference Implementation


### Deploying an EIP-721 and signaling support for this EIP

TODO

### Checking if the NFT being sold on your marketplace implemented this standard

TODO

## Security Considerations

There are no security considerations related directly to the implementation of this standard.

## Copyright

Copyright and related rights waived via [CC0](../LICENSE.md).