EGGOXdevelopers

Real reward shops inside experiences

Place a normal player stall in an authored room to sell real items that stay in the buyer's inventory outside the experience.

Place a normal player stall in an authored room to sell real items that stay in the buyer's inventory outside the experience. Stock it with minted editions, set the price to 0 for a free claim, and set Per player to 1 for a once-per-player reward (0 in the editor means unlimited). Limits count actual items, including bundle quantities, for that stall and lineage across versions, restocks, public/private copies, reconnects and resale. A failed purchase consumes neither stock, money nor allowance. Stock is shared by all copies of the room.

The creator can bind the stall to saved progression using the authenticated stall:access channel operation. Example JSON (creator owns both stall and game):

{"id":"stl_example","rules":{"experience_id":"xp_root","save_key":"progress","save_field":"rank","minimum":10}}

The buyer must meet the persisted numeric requirement and stand within three tiles of the visible stall in a published copy of that game. Knowing a listing id or opening its shop window grants no purchase access. rules:null removes the requirement; only the stall owner may configure it. Use the root experience id for games with several rooms. Private and public copies share the same save.

Normal stall UI handles the purchase, with an explicit Claim free or Buy button. Lua cannot debit wallets or mint transferable rewards. Creator-owned, finite stock supplies the rewards, not the temporary objects cloned into a room. Persistent purchase totals are separate from script saves, so scripts cannot reset a player's claim allowance.

This page as markdown: /api/real-reward-shops-inside-experiences.md