The banker scores first. You roll second and try to beat the banker’s mark.
14–5–6 · Automatic winHighest possible roll. Beats everything, including triples.
2Triples6–6–6 is highest, descending to 1–1–1.
3Pair + pointThe odd die is the point. Point 6 is highest, down to point 1. The pair’s value does not matter.
41–2–3 · Automatic lossLowest possible roll. Loses to everything.
5No scoreAny other combination rolls again until it scores.
Banker flow
The banker re-rolls no-scores. A banker 4–5–6 ends the round as a loss immediately. A banker 1–2–3 ends it as your win immediately. Otherwise, that score becomes the mark.
Player flow
You re-roll no-scores. A higher score wins, the same score pushes, and a lower score loses. Pair + point ties compare only the point.
Payout
Wins pay 1:1. Pushes return the stake. Maximum win is 1:1 per round. Volatility: medium.
Math note
Production RTP target: 96.5%, not implemented or certified here. This fair-dice prototype uses independent random rolls; under the displayed rules its theoretical return is 100% before any future production math adjustment.
Virtual credits only — no real money. Prototype — not certified.
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();
});
}
})();