Wins pay left to right on adjacent reels. The total bet is divided evenly across all 20 lines. Only the highest win per line pays.
Wild & scatter
The jade lantern is WILD and substitutes for every symbol except the moon SCATTER. Three or more moons anywhere award a scatter win and 10 free spins.
Lantern Ascension Free Spins
The rising multiplier starts at 1.00x and gains +1.00x every third free spin, up to 10.00x. Three or more moons retrigger 10 more spins. A rare gold lantern can award a jackpot during the feature.
Jackpot lantern
Gold lantern drops are randomly weighted: SPARK most often, then GLOW, with BLAZE and AURORA exceptionally rare. The displayed tier multiplier is applied to the triggering bet.
Target RTP 96.5%Design target, not certifiedMedium volatilityMax win 10,000.00xVirtual credits only — no real money.
on every goldodd.com page.
Sends: pageview on load; on /games// pages also game_start,
a heartbeat every 30s, and game_end when the tab closes.
No cookies, no fingerprinting. Visitors with Do Not Track on send nothing. */
(function(){
"use strict";
if (navigator.doNotTrack === "1" || window.doNotTrack === "1") return;
var EP = "https://goldodd.com/api/collect";
var sid = "na";
try {
sid = sessionStorage.getItem("go_sid") || "";
if (!sid) {
sid = Math.random().toString(36).slice(2) + Date.now().toString(36);
sessionStorage.setItem("go_sid", sid);
}
} catch (e) {}
var device = /Mobi|Android|iPhone|iPad/i.test(navigator.userAgent || "") ? "mobile" : "desktop";
function send(type, game) {
var d = { type: type, path: location.pathname, ref: document.referrer || "",
session: sid, device: device };
if (game) d.game = game;
var body = JSON.stringify(d);
try { if (navigator.sendBeacon && navigator.sendBeacon(EP, body)) return; } catch (e) {}
try { fetch(EP, { method: "POST", headers: { "Content-Type": "application/json" },
body: body, keepalive: true }); } catch (e) {}
}
var m = location.pathname.match(/^\/games\/([^\/]+)/);
var game = m ? m[1] : null;
send("pageview");
if (game) {
send("game_start", game);
var hb = setInterval(function(){ send("heartbeat", game); }, 30000);
var done = false;
var end = function(){
if (done) return; done = true;
clearInterval(hb); send("game_end", game);
};
window.addEventListener("pagehide", end);
document.addEventListener("visibilitychange", function(){
if (document.visibilityState === "hidden") end();
});
}
})();