High-level overview of the most important concepts in the Aavegotchi game.
Aavegotchis are ERC721 NFTs represented by onchain SVG layers. Each Aavegotchi manages an escrow contract address that holds aTokens, interest-generating ERC20 tokens from the Aave protocol.
To get an Aavegotchi, a player must first acquire a Portal from the Aavegotchi Shop, then open the Portal and claim an Aavegotchi from it by staking the required amount of aTokens. The required amount varies depending on the rarity of the Aavegotchi.
Portals are purchased from the Aavegotchi Store by spending GHST. Each Portal contains 10 Aavegotchis inside it, with traits generated randomly by a Chainlink VRF call initiated in the openPortals() function.
Haunts are akin to the concept of "Generation" in other NFT games. The initial Haunt when Aavegotchis launches on Mainnet will allow 10,000 Portals to be minted. Thereafter, the AavegotchiDAO can vote to create new Haunts, and can also vote to change the price (in GHST) of Portals in that Haunt.
Although there are thousands of ERC20 tokens, Aavegotchis can only be staked with certain collaterals that have been whitelisted by the protocol. Generally speaking, these collaterals are all interest-bearing aTokens from the Aave protocol. Each Collateral has special modifiers that affect slightly the traits of the Aavegotchi. Which Collateral must be staked within an Aavegotchi is randomly decided by the Chainlink VRF, along with its traits.
Traits are numeric values generated from the Chainlink VRF random number assigned to each Aavegotchi. Initially, the value of each trait ranges from 0-99, but they can also go lower or higher depending on various influence, such as collateral modifiers, equipped Wearables, and even boosts from Consumables. Traits are distributed on a bell-curve, with the lowest and highest extremes giving the highest rarityScore to the Aavegotchi.
The base rarity score of an Aavegotch is calculated by adding up the rarity of all its numericTraits, including bonuses from equipped wearables, collateral modifiers and consumable bonuses.
There are three types of Items in Aavegotchi.
Wearables can be equipped by the Aavegotchi and provide bonuses to its traits.
Consumables cannot be equipped, but can be consumed (burned) to provide temporary or permanent bonuses to the Aavegotchi's stats, including kinship, experience, and traits.
Badges cannot be equipped or used by the Aavegotchi, but are nevertheless held in its inventory as a sort of "diary" of the events in which it has participated.
Kinship is a dynamic number that increases or decreases based on the owner's interaction with the Aavegotchi. Kinship starts at 50 for every new Aavegotchi and can be increased by interacting with the Aavegotchi every 12 hours. It can also be additionally increased by consuming Kinship potions.
An Aavegotchi's level is based on its accrued experience. Aavegotchis can gain experience by consuming certain experience-giving items, or by participating in certain events and getting rewarded by the AavegotchiDAO. Every three levels, an Aavegotchi gets a skillPoint which can be assigned towards increasing one of its numericTraits.
A full table of experience required to level up is available here.