[Idea] Specialized ERC-1155 as a bartering token

There is a lot of chatter around what kinds of systems could be used for in-universe trading and transacting. While I think ERC-20 tokens are generally great, the fact that they have so many established use cases already (e.g. DeFi) can make them take on a life of their own and be difficult to build for specific purposes.

This post is a short overview of a theoretical system that instead uses ERC-1155 to encourage an in-universe tiered barter system with fair distribution.

Structure

ERC-1155 contract that represents a chance at multiple “tiers” of a single object type, like a pearl:

  • Broken Pearl (50%)
  • Chipped Pearl (30%)
  • Flawed Pearl (10%)
  • Pearl (5%)
  • Perfect Pearl (3%)
  • Resplendent Pearl (1%)
  • Pearl of X (0.5%)
  • Pearl of Y (0.025%)
  • Pearl of Z (0.00025%)
  • etc

All names and percentages above are for illustrative purposes only.

Distribution

The contract also acts as the initial distributor. A public distribute() function is made available which anyone can call if they pay a small bounty. The function can only be called once every n blocks (e.g. once a day). When the function is successfully called, the following happens:

  • True random number generation occurs (e.g. through Chainlink VRF)
  • The number is used to mint n “drops” containing different quantities of different types of pearls
  • The drops are sent to randomly selected holders of Loot
  • To incentivize calling distribute(), the person who successfully calls it and pays the bounty is always included in the list of drop recipients (although there is no guarantee on what they will receive)

Use cases

Initial use cases could be simple and grow from there:

  • Bartering between pearls (e.g. trading 11 broken pearls for one pearl)
  • Bartering for bags with pearls (e.g. one Pearl of X for Bag #1234)
  • Trading common pearls for simple tasks (e.g. claim a land plot with a Broken Pearl, training stats)

Scaling & Proliferation

The initial distributor is a good place to start, but ideally there can be an increasing number of activities (slaying monsters, completing dungeons, participating in PvP) which can award drops. Over time, both the distribution function and and distribution list could be attached to these types of activities.

It might make sense for these activities to originate with a small curated list to start, with a plan to create methods to allow arbitrary activities in the future.

Supply

This system assumes a supply that gradually grows over time. Depending on the rate, that might be enough on its own.

Another option is introducing different types of “sinks” that allow the supply to either be returned to the distributor or be destroyed entirely. One example of a system that could do this is a chance-to-upgrade system, which would give someone a small chance to upgrade their higher tier pearls by attempting to “infuse” their lower tier ones.

Other options include slowing down the rate as time passes or giving control over the rate to the contract owner.

21 Likes

How would you pay the bounty?

1 Like

sir would this include mLoot or only og loot?

2 Likes

Likely in ETH or LINK. The intent is mainly to get someone to call the function and to make sure there is enough of whatever resource is needed for the true random number generator to be called.

3 Likes

This is a really cool idea. We’ve (brother and I) been working on an 1155 called Skills, that bears some similarities to this construction. You would mint a Set of Skills, skills are individual 1155s, you can combine two of the same skill to upgrade it, and downgrade an upgraded skill to receive two lower tiers. We were also entertaining the notion of being able to reroll a Skill at random when you pay some AGLD or some other currency.

1155s are underexplored, although some part of it has got to be the fact that there’s not as many examples or tooling you can draw on relative to 20 or 721.

2 Likes

Do you imagine the scale of minting to be rare (ie once a hour/day/week) and does frequency of how often it mints increase the ETH bounty price?

Where would that ETH go? Possibly some treasury to encourage dev?

The idea lays it out as once a day as an example, but yes, it would be on some controlled frequency.

If the bounty were in ETH it would probably just be to simplify the process (so you don’t need to buy LINK to call it), but it could in theory go into a treasury. I’m not sure if it’s necessary here but it’s a possibility.

1 Like

I love this idea. I assume @dom means OG and mLoot since they are supposed to be used together.

1 Like

that would seriously rock!

This is a great idea. We should have a second contract that is always call-able from whitelisted SCs and only drops pearls to a specific address / addresses. This would enable us to call it as a reward mechanism If a player completes a quest.

1 Like

That would be really cool!

1 Like

very interesting
will be keeping tabs on this for NPCs
:eyes:

I think a mintable and inflationary currency that is widely used is needed for Loot. AGLD is great but we can only reward players with AGLD that has been collected somewhere beforehand. That more or less only allows casino type of game mechanics, where you have to bet AGLD to then potentially win more AGLD. With Pearls you could mint them to reward a player and to reduce pearls in circulation you let players pay for different actions with pearls and burn them.

3 Likes

Just to be gas conscious, but perhaps once a week or once every few days to claim would be better than once a day. Just thinking of how many more calls doing it per day could lead to in the future.

This is a great idea. Would be great if people can be rewarded for their time using the loot metaverse. Time = Money in the real world it should also be in the metaverse.

This is awesome. Can you hop into our Discord and we can chat in the builders channel about integrations?

Dom’s idea is really good. We developed a set of currencies like this, called Treasure NFT, and are working to integrate Dom’s new concepts into them.

2 Likes

Great idea. There will have difference between loot and mloot?I think no difference is good.

love this idea. who can build it?

I agree with the idea that games should get away from ERC-20 “currencies” and move towards something more like bartering. The DeFi baggage is not helpful for inspiring new use cases. But people do like ERC20 b/c of composability with DeFi.

The idea of airdropping the bartering tokens to “holders of XYZ” (e.g. Loot, Genesis Adventurers) at specific intervals seems like a great idea for keeping the community engaged. Airdrops require the user to “claim” something and can be done very gas cheap via Merkle tree. For Merkle airdrop, an off-chain program would “snapshot” lists off owners via some criterion, randomly select addresses for award, then create a proof and put the proof on-chain that enables selected addresses to claim. Not sure how to make the random selection happen on-chain via an Oracle (or if that is necessary)?

The contract would serve as a way to enable new quests . Realms gameplay incorporates this concept with the 20 or so different items that can be traded, this is similar.

It is important that rare items get special powers and other unique characteristic that tie into LootUniverse games. value(rare item) > valu(sum(common items probability))

An ERC-115 like this could tie-in as an way to create items to put into the Loot Crates. What kind of game can we build around GAs, Loot, Realms, etc. etc. ?

2 Likes

All right! I hope that og loot and mloot are equivalent.