Synthetic Loot

Synthetic Loot is a utility contract that attempts to make aspects of Loot more accessible to the wider Ethereum ecosystem. Here’s how it works:

  1. The contract accepts any wallet address as input
  2. The wallet returns a list of Loot as an output
  3. This is free and gas-free

Synthetic Loot is sort of a “virtual NFT”. It can be interpreted in the same way as an “original” Loot NFT, but is not mintable, transferable, sellable, etc. In fact, every Ethereum wallet that exists (and will ever exist) already has Synthetic Loot.

Creators building on top of Loot can choose to recognize Synthetic Loot as a way to allow a wider range of adventurers to participate in the ecosystem, while still being able to easily differentiate between “original” Loot and Synthetic Loot.

Importantly, because Synthetic Loot is tied to your wallet address, it carries the same consistency as a Loot NFT. Your Synthetic Loot will be the same across any application that chooses to recognize it.

Synthetic Loot — like Loot itself — is an experiment, and it’s up to the community to decide what (or what not) to do with it.


@lotm has created an awesome viewer in the thread here: Synthetic Loot Viewer

1 Like

Would the idea be to enable a synthetic loot per user (maybe an ENS?) or per wallet address? Great idea for enabling wider participation, just thinking of ways to limit future abuse. Thanks!

This version works per address, but applications can resolve ENS → Address to support ENS. If the abuse concern is around people re-rolling wallets for “best gear”, I think that’s something that could be solved for at the application level.

For many applications (e.g. a character viewer/generator) it’s probably not a big deal, and is more or less the same as re-rolling for a vanity wallet (e.g. 0x42069…)

Curious to hear thoughts though!

Re-rolling is the most often cited abuse concern I’ve seen. Solving that issue in the short term might help provide a stronger foundation for the community to work with as they debate what’s considered canon or not as far as derivatives go.

Re-rolling would be much more of an issue when gear isn’t just a vanity commodity, but holds functional value as well (i.e. a specific sword being more effective against a certain enemy in a dungeoncrawler built on top of Loot, for example).

1 Like

Good points!

It might be better to have the game itself generate a burner addresses, in that case. You die once, you loose your loot and it assigns you a new burner address. Alternatively you could look at other things about the wallet (history, etc.) to see if it’s new or not.

It’s also possible that expanded but limited supply might be better in those cases. Really depends on the nature of the game: if it’s multiplayer or not, if it’s intended to be pay-to-play or play-to-earn, that type of thing.

The simplest solve for games that want to use Synthetic Loot might just be to build games where the presence of re-rolling doesn’t matter as much.

I understand the motivation of .eth’s now — is the idea that using an unintelligible .eth basically “proves” you re-rolled or fished for it, whereas something more coherent means maybe you picked a good .eth out of some options you had available, but it still wasn’t a carefully designed uber roll?

1 Like

This is a really important innovation, in my opinion, and @lotm’s viewer really helps in illustrating what’s possible. Forgive me for the wall of text here and let me know if this belongs in a different thread but I think the reason why this is a really important innovation is because it attempts to solve a problem that has always plagued gaming and entertainment NFTs, which is trying to balance the sometimes competing interests of owners, users, and builders:

  • Owners - Interested primarily in increasing the value of their stake. This may require sacrificing short term value in exchange for potential long-term value (e.g., using treasury to fund builders, agreeing to some inflation in order to expand owner base, etc.).
  • Builders - Often also owners but primary interest in ensuring that what they build reaches the widest audience possible and, as a result, increases the value of either their stake (if they are an owner as well) and/or of their external project or brand.
  • Users - Interested in using the product for the value they derive from the product’s use. This could be pure enjoyment value but, if it’s a play-to-earn model, there could be financial value for users as well.

For most NFT projects, it isn’t that difficult to align these three sets of stakeholders. The users are often the same as the owners (i.e., if you’re an owner in an avatar project, you’re also a user). The builders are also usually owners. All stakeholders here are looking to drive the value of each NFT up and therefore are all completely aligned financially toward this goal. Inflation, therefore, has to be carefully considered to determine what long-term value it brings. This is true across crypto (not limited to NFTs) and is arguably the most important differentiator of its new economy.

For gaming and other entertainment projects, though, it is much more difficult to align the competing stakeholders, as is the case here. While some of the initial builders are indeed Loot Bag holders (and therefore owners), the goal here is to have builders who may or may not already be owners. For the owners, this is desirable because it ensures that the value of their stake increases. These builders, though, may have a competing interest, which is that they want to ensure their product reaches the most users possible–larger than the owner-base.

I think this is the crux of the issue here, as well as for most other gaming and entertainment NFTs and different projects have come to different conclusions. The creators of Stoner Cats, for example, want the show to reach the widest audience possible. However, they’ve made the show available only to owners of the Stoner Cat NFTs. This theoretically drives value to the Stoner Cat NFT but is perhaps short-sighted in that it doesn’t reach the maximum number of users possible.

I think we all agree that we need to strike a different balance. The question is how can we allow more users to use and enjoy the products that are developed by the builders while still driving value accrual to the owners.

One option is to inflate the # of owners so that more users can be owners. That, in my mind, is the option presented by xLoot and other solutions. The other option is to not require ownership to access and use what’s being developed by the builders.

And I think that’s the option that’s being presented here with Synthetic Loot. It allows builders to build comfortably knowing that their userbase isn’t limited to the owners. It doesn’t dilute the value of ownership (which may sometimes be necessary but should always be done with careful consideration of the short and long term benefits). And it also has the potential to bring in a large number of users when you consider the fact that everyone with an Eth address may be interested in knowing what their Synthetic Loot Bag contains and may also be interested in joining related guilds or communities.


I agree with pretty much everything you said. Nice, eloquent writeup!

Another case of future abuse was distinguishing addresses from users in future perks like airdrops, memberships, etc. Though I believe contribution, activity and energy spent per address could be tracked in the future to confirm perk eligibility, I’m not sure what the present solution is. Would be interested to hear if this has already been tackled, because a lot of NFT airdrops have been prone to abuse.

I agree. I think an XP system could address this quite well by serving as proof of work. My thinking is that a contract could be created to which anyone can write, which is basically a mapping of contract address (msg.sender) => (address => int). The contract address could be some contract that issues quests or lets users fight or something similar that would grant XP. We could also invent a notion similar to token lists which keeps track of verified project addresses to include when keeping track of XP so that contracts can easily tally the XP across all recognized contracts for a user.

I’ve also been trying to think of how we can further lower the barrier to entry by moving to an L2 while still depending on L1 contracts but that may be a whole other discussion.

Cool derivative here:


I’ve said this in the Discord already, but I really think getting information about Synth Loot out there is one of the most important things we can do right now. A lot of the friction with the ethereum community right now stems from a misunderstanding that only a “rich” handful of people can play any future Loot games, which is wrong. It is also the source of xLoot which risks forking the community.

If people understood Synth Loot exists and how it can be used by any builders, people would understand that you don’t need to own Loot to play or participate in the community. We should all be sharing links like Tanishq Sharma – Conceptualist & Product Developer and any others that explain synthetic loot on Twitter and any other communities we participate in that are currently discussing Loot. People need to know this exists.

Won’t comment on xLoot but agree that the general perception of Synth Loot is confused at best. It’s very difficult to explain without experiencing it somewhere, but should click once that’s done (although there is still a desire to mint it.)

Added a short introduction to Synthetic Loot to the website.


Hey, one relevant post : Loot For everyone : Giving Life to Synthetic Loot

basically making all synthetic loot a token and airdrop them to all ethereum address

@dom @wighawag A bit confused, are “Synthetic Loot” and “Loot For everyone” same solution?

1>Synthetic Loot make sense to me for wallet address as input, and no gas, no mint.

2>In my understanding, “Loot For everyone” = “Synthetic Loot” + mloot. If you do mint, it is kind of mloot. If you do not mint, it use wallet address as input.

“Loot For Everyone” is basically the on-chain version of synthetic loot. Every ethereum address today own a “Loot For Everyone” Similary to synthetic it use the address as token id.
have a look here :

On top of that you can transmute your original Loot into “Loot For Everyone” contract so in the end we get only one token contract for both synthetic loot and original loot