# Proposal for gas-free universal Loot expansion packs
Currently, expansion packs are structured as new NFT projects (e.g. "Ability Score"), typically with low or gas-only pricing and a `claimWithLoot()` or similar method for minting.
This isn't ideal because it requires anyone who wants to participate to keep up with all the new expansions that are coming out and mint every time. It also has a side effect of leading to Loot floating around on secondary that has already been redeemed for a specific expansion.
Ultimately, this leads to a somewhat fragmented ecosystem and lots of wasted gas.
Instead of viewing expansion packs as things that need to be *acquired*, it might be better if they were viewed as extensions that are **automatically given to everyone in the ecosystem.**
Here's how that could work:
### Building an expansion
- You decide to create the **Pets** expansion, with the goal of giving every adventurer a cute companion
- You build a smart contract that generates a Pet and its attributes based on a given Loot or Synthetic Loot ID
- This contract returns token information in a synthetic `lootExpansionTokenUri(lootId)` function
### Registering an expansion
- With your contract complete and deployed, you submit its address to a utility contract deployed by the community that acts as a *registry*. This registry stores a simple list of expansion addresses and allows crawlers/aggregators to discover expansions.
### Discovering expansions
- Anyone can build a crawler and frontend that is able to work backwards from any Loot ID and return information about all of its expansions.
- These crawlers can be opinionated about which expansions they do and do not recognize.
### Trading expansions
Although expansions would start off automatically bound to your Loot, there are still occasions where people might want to trade them.
In this case, the registry contract could allow an adventurer to mint a **claim** to their expansion data.
- This claim would be represented as an NFT that could be freely traded like any other NFT
- Functionality on the the registry contract would allow a Loot owner to override their bound expansion data with claimed expansion data
- Crawlers would prefer overridden expansion data, when present, over bound expansion data
### Incentivizing expansions
Because expansions cost time and effort to deploy, there is a question of how to incentivize authors. While it's likely that some people will do it "just because", there are some other methods that could work:
- Allowing authors to specify a configurable *fee* on the registry to mint claims
- Groups rewarding authors through grants or other incentives
- L2 or Testnet compatibility (only for reducing gas costs)
- And probably many others