# Technical documentation

repository: <https://github.com/zbagdzevicius/tokentails>

Core functionalities

* NFT Blessing smart contract
* NFT Cat smart contract
* Gas distribution

### How NFT cat works

NFT cat can be adopted in-game as a playable characted with earned coins or by making a purchase via coins or XLM, USDC, USDT, BNB, SOL. After TGE $TAILS payment method will be introduced.

**Types of in-game assets:**

**NFT Cats** - virtual cat that is playable in game. After purchase, minted into user wallet.

**NFT Blessing** - upgrade which can be set on a cat via making a donation to any onboarded shelter. Minted after creation.

**NFT Blessed cat** - a cat which is linked with a real can in a shelter. The cost of NFT cat is 100% of what cat needs to be treated. Minted upon purchase into user wallet.

**Each Shelter have:**

* **Blessed NFT Cats** - cats that are created and tied together
* **Blessing** - user can buy NFT Blessing for a shelter and upgrade it's cat by making a donation<br>

**1️⃣ Linked Cats -** with a real cat in a shelter - purchasable by crypto

**Flow**

1\. Shelter onboarding&#x20;

2\. Blessing ( fundraiser for cat in a form of virtual cat ) submission by the shelter

3\. Cat is released in-game

4\. Player purchases playable blessed NFT cat using injected wallet

5\. The purchase ( NFT cat ) is sent to the custodial wallet of the player

6\. Funds ( 100% ) distributed to the shelter of that cat

2️⃣ **Unlinked Cats** - created for events and purchasable using in-game earned coins

**Flow**

1\. Cat design Manually crafted based on event

2\. Cat is released in-game

3\. Player purchases playable NFT cat using earned coins

Shelters Onboarding Process:&#x20;

1\. KYB

2\. Following process -> <https://docs.tokentails.com/community-and-social-impact/shelters-onboarding>
