Avime

Fused Avimes
  • 10,000 entirely customizable anime-inspired NFT avatars.
  • Fully encoded on the Ethereum blockchain.
  • No IPFS, baka!

Enter Your Wardrobe

Connect your wallet to mint and view Trait Cards.

Mint Price
0.09 ETH
Packs Minted
0/10k
Avime Fused
0/10k

What is Avime???

Avime is the first fully on-chain customizable NFT project, featuring artwork heavily inspired by anime. Our custom built contract, on-chain provenance, and customization mechanics make Avime truly stand out in the world of NFTs. With a plethora of customization options, the ability to choose between two body types, and more options planned for release in future updates, Avime gives you the ability to create an avatar that you truly resonate with.

Each Avime mint will give you 6 different Avime Trait Cards of varying rarities, one from each of these categories:

Avime Trait Cards are ERC721 NFTs that can be traded on secondary markets, and can be combined in the Wardrobe to create a completed Avime. All Trait Cards combined will be burned upon fusion, meaning the total circulating supply of traits will reduce over time.

You will need one trait for EACH category in order to create an Avime.

There will only ever be enough Trait Cards to create 10k total Avime. Future expansion packs are planned to add more options to customization, but an exchange of already existing Avime Trait Cards will be required to redeem newly introduced ones.

Avime Roadmap Season 1

20% Minted

Airdrop individual traits to 30 lucky holders.

40% Minted

Auction off a custom 1/1 Avime for charity.

60% Minted

Begin development on Avime Season 2!

80% Minted

Use a percentage of secondary sales to create a liquidity pool on NFTX or NFT20.

100% Minted

Verify contract code. Begin development of 2D sprite sheets of Avime for use in a metaverse.

Frequently Asked Questions

Why On-Chain?

Avime will outlive its creators on the ethereum blockchain. Putting all of the NFT data on-chain costs quite a bit more in contract deployment, and requires an investment in development that most projects are not willing to undertake. We want Avime to be one of the early adopters in completely on-chain NFTs, and pave the way for the next wave of incredible NFT projects.

The token information can be accessed just like any other NFT by calling tokenURI(tokenId) and receiving the token information as JSON from our server, but that will only last as long as we continue to pay the bills. That is why we have also added a tokenData(tokenId) function to our smart contract that will grab all of the NFT data directly from the blockchain.

This function will return the following structure:

struct TokenData {    string tokenName;    uint8 traitNum;    uint256 traitTxHash;    uint8 cardNum;    uint256 cardTxHash;}

The data for the trait can be accessed by taking tokenData.traitTxHash and decoding it with the following ABI:

[    {        "inputs": [            {                "internalType": "string[15]",                "name": "name",                "type": "string[15]"            },            {                "internalType": "string[15]",                "name": "description",                "type": "string[15]"            },            {                "internalType": "string[15]",                "name": "thumb",                "type": "string[15]"            },            {                "internalType": "string[15]",                "name": "male",                "type": "string[15]"            },            {                "internalType": "string[15]",                "name": "female",                "type": "string[15]"            }        ],        "name": "uploadTrait",        "outputs": [],        "stateMutability": "nonpayable",        "type": "function"    }]

This will return the following data:
name[15], description[15], male[15], female[15]

You then grab the traitNum position of each array to get the data for your token. The name and description are strings and the images are base64 encoded so they can easily be incorporated into any webpage.

The fusion contract stores the contract addresses for each Avime season. When Trait Cards combine to create an Avime, a structure is created that represents all of the traits that went into creating that Avime. Since all of the Trait Cards are stored on-chain and accessible as described in the last paragraph, this Avime structure stores all the information necessary to retrieve each trait and generate the Avime without any need of off-chain data.

Calling tokenData(tokenId) or getAvime(tokenId) on the fusion contract will return the following structure:

struct Avime {    uint8[6] contractId;    uint16[6] traitId;    uint8 sex;}

The address is obtained by calling getAvimeContract(contractId)
and for the sex: 0 = Female and 1 = Male

Our NFTs also cost a bit more to mint because they use the ERC721 Enumeration extension. In order to generate Avime Fusions, it is necessary to know every token that a user holds. The website must present all of the users traits to them and allow the user to select which traits they would like to use to generate a Fused Avime. Services like Etherscan allow you to see all of the tokens that you hold, but without the ERC721 enumeration extension, there is no simple way to make a call to the blockchain and know every NFT that a user holds. We want to put all of the information on-chain, and ensure that all the end user needs is the blockchain to view Trait Cards and Fuse Avime. This is why we have added the Enumeration extension to our NFT. It costs more to mint, but allows our product to not rely on any third parties.

Even though our users only need the Ethereum blockchain, It sure would be nice if they had an easy to use user interface to interact with our contracts. For that reason, this website (avime.moe) is opensourced here, ensuring it will always be possible to easily interact with our smart contracts.

Our smart contract is open-sourced here:
(link available after sellout)

The API that serves the tokenURI assets is open-sourced and available here:
(link available after sellout)