Randomized Content

Understand how Neon handles offers that contain paid randomized content, such as loot boxes, across different jurisdictions.

Overview

Some in-game offers contain randomized rewards that players pay real money to receive — commonly known as loot boxes. Many countries regulate or prohibit the sale of these products. Neon enforces these restrictions automatically so you don't have to manage jurisdiction-level compliance yourself.

Here's how it works:

  1. You flag offers that contain paid randomized content using the containsRandomizedContent attribute.
  2. Neon checks the player's country at checkout time.
  3. If the country restricts randomized content, Neon blocks the transaction and returns a structured error.

Free randomized rewards (no real-money purchase required) are not affected and can be sold globally.

Flagging Offers

Every offer has a containsRandomizedContent field. This is a boolean that defaults to false. You should set it to true for any offer where:

  • The player pays real money (or money-equivalent stored value) to receive a reward whose contents are unknown before purchase.
  • The offer bundles a guaranteed item with a randomized component — if any part of the offer is randomized, the entire offer should be flagged.

You can set this field in two ways:

  • Console — Use the "Contains randomized content" toggle on the offer create or edit page.
  • CSV Upload — Include a Contains Randomized Content column with values true or false.

Neon Storefront Behavior

When a player visits your Neon-hosted storefront from a restricted country, offers flagged as randomized content are automatically hidden from the catalog. No action is required on your part.

Direct Checkout Behavior

If you host your own storefront and use Neon's checkout APIs directly, you control which offers are displayed to players. However, Neon still enforces restrictions at checkout time.

If a player in a restricted country attempts to purchase a flagged offer, the checkout creation request will return a 400 error:

{
  "code": "SKU_JURISDICTION_RESTRICTED",
  "message": "One or more offers contain randomized content and cannot be sold in this country.",
  "errors": [
    {
      "source": "offers",
      "message": "One or more offers contain randomized content and cannot be sold in this country.",
      "context": {
        "playerCountry": "BE",
        "restrictedSkus": ["lootbox-sku-001"]
      }
    }
  ]
}

The context object includes the player's country and the list of restricted SKUs so you can handle the error in your UI — for example, by hiding those offers or showing an appropriate message.

Recommendation: Use the containsRandomizedContent field from the Storefront API to filter offers in your UI before the player reaches checkout. This avoids a poor player experience where items are visible but cannot be purchased.

Restricted Countries

The following countries currently restrict the sale of paid randomized content through Neon. This list is maintained by Neon's compliance team and may change as regulations evolve.

CountryCode
AustraliaAU
AustriaAT
BelgiumBE
ChinaCN
Czech RepublicCZ
DenmarkDK
FinlandFI
GermanyDE
JapanJP
NetherlandsNL
NorwayNO
PolandPL
PortugalPT
SingaporeSG
SlovakiaSK
South KoreaKR
SwedenSE
United KingdomGB

All other countries default to allowed.

Neon reviews jurisdiction rules on an ongoing basis. If a country's status changes, affected publishers will be notified by their Neon representative.

FAQ

What if I'm not sure whether an offer qualifies as randomized content?

If a player pays money and receives a reward whose contents are not fully known before purchase, it should be flagged. When in doubt, contact your Neon representative — it's safer to flag conservatively.

What happens if I don't flag an offer that contains randomized content?

Neon relies on the containsRandomizedContent attribute you provide. If an offer is not flagged, it will not be restricted. You are responsible for accurately disclosing randomized mechanics in your offers.

Will Neon support restricted countries with additional conditions (e.g., age-gating, probability disclosure) in the future?

Yes. Several countries permit randomized content under specific conditions that Neon cannot yet enforce. These markets are blocked today as a precaution and will be re-evaluated as Neon adds the necessary controls.

How is the player's country determined?

For Neon-hosted storefronts, Neon uses IP geolocation. For direct checkout, you pass playerCountry in your API request. See Country Mismatches for details on how Neon handles location conflicts.