# 721J Concepts

## 721J Intro

We are entering a new era where verifying authenticity is more important than ever. The 721J token/contract is a modified ERC-721 with a focus on the needs of musicians and other artists in this evolving landscape.

## Features

A quick list of the main 721J features:

* ERC-721 tokens with on chain rarity.
* New tracks are minted as 1/1 originals.
* Copies minted from the original. Minting a copy requires the minter to own a copy, or for the token to be staked, enabling public minting on that token while earning referral points.
* Rarity affected by generation of copy.
* Promo system. Allowing whitelist, discounts, free mints and more.
* Mint price can be set in ETH and any ERC-20 token.
* Recycle to burn 2 songs to mint 1 (optional).
* Support for IERC-2981 royalties, and split contracts.
* 4 interfaces to represent the different functions in the 721J. IERC721J for the main parts, IERC721JFull for the full essentials, IERC721JPromo for the promo system, IERC721JEnumerable for the indexes

## Why bother with this over a regular ERC-721 token?

You will find the 721J particularly useful if you want to:

* Mint a 1/1 original for you, and create copies from the original for others.
* Have an easy and versatile promotion system that works on chain
* Create a smart contract without learning coding
* Build an artist wallet full of your art
* Put difference licenses on different rarities

Artist held originals are the reason for starting this project.  The artist's wallet could be their digital discography which contains the original tokens of every song.  The wallet and contracts from the artist are an important thing in verifying whether or not you're looking at the genuine collection.

By using the 721J, the artist can create their 1/1 original and at any point they can mint copies from the original that have a different rarity on chain.  A copy is always the next generation of its parent.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://contract-wizard.gitbook.io/contract-wizard/create/smart-contracts/721j-concepts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
