# ACCOUNT NFT

<figure><img src="https://2039596484-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgQ8NUwCtaxJ7L5f2dnxB%2Fuploads%2FQhF1lm6vrBWsVUzIr7Ur%2Fphoto_2023-07-24_19-08-56.jpg?alt=media&#x26;token=246a6c1f-a938-45a1-add4-8e1159f0e6d7" alt=""><figcaption></figcaption></figure>

This functionality enables users to consolidate all their NFTs, achievements in the game, and token balances into a single unique NFT. Users can list this unique NFT for sale on the Crypto-Bike marketplace.

Account NFT have uniqe functions:

* Buy\Sell
* Merge two different account
* Multi transfer in one transaction, different type of token.<br>

AccountFactory - extended ERC721 token contract

Role:

* Proof of the admin - each token has a proxy Account of the contract written behind it, the owner of the token is the owner of the contract Account.
* Factory - the ability to deploy a new proxy Account contract.
* Market - the ability to put an account on sale.<br>

**Account - Proxy contract**.\
Role

* Wallet - providing access to tokens/currency

**Account State**

An abstract contract that has information about the state account. Necessary for safe expansion of functionality.

#### Modules

Modules are a way to extend the functionality of a contract, each module is a contract in which part of the logic resides.

* AccountERC20 - The logic of interaction with ERC20 tokens.
* AccountERC721 - The logic of interaction with ERC721 tokens.
* AccountERC1155 - The logic of interaction with ERC1155 tokens.
* AccountNativeCurrency - The logic of interaction with the native currency of the blockchain.
* AccountDelegate - The logic of delegate calls, provides the ability to extend the contract with third-party projects.
