Boss HubBoss HubDocs
ChangelogStatus
Provider API/Jackpot pools

Jackpot pools

API · Operator → Boss Hub
GET/v1/jackpots

Returns the jackpot pools you are connected to and the current amount of each level; use it to show jackpot tickers in your lobby. The win history comes from GET /v1/jackpots/{pool_id}/wins. Requires the jackpot module, the games.read scope for pools and rounds.read for wins.

Headers

HeaderDescription
X-Operator-IdYour operator ID
X-TimestampUnix seconds. Rejected outside ±30 s
X-Signaturehex(HMAC_SHA256(secret, ts + "." + METHOD + "." + path?query + "." + body))
X-Api-KeyOptional. Selects the right secret when you have several keys

Query parameters

site_idstring
Site code, e.g. site_mrd01. Returns only the pools this site takes part in; with a site key, the key’s own site.
currencyISO 4217
USD, EUR, TRY. Amounts are converted at the current rate and rounded down to 2 decimals; without a rate they stay in the pool currency and currency in the response says so. Without it, the pool currency.
Environment: A Test key sees only Test pools, a Live key only Live pools. Only active pools are listed. In a Boss Hub pool the amount comes from the balance ledger and may lag by a few seconds; in a provider-run pool it is the provider’s live amount.
EGT jackpot source: For EGT games each site uses, separately for Test and Live, either EGT’s own in-game jackpots or Boss Hub pools; the choice is made in the portal and the two environments do not affect each other. EGT’s own jackpots are not in this list and do not appear in /wins or the jackpot.won webhook; their payment arrives as a win call whose jackpot.pool_id is EGT’s link code.
GET /v1/jackpots?site_id=site_mrd01&currency=USD HTTP/1.1
Host: staging.example.com
X-Operator-Id: op_meridyen
X-Timestamp: 1762344000
X-Signature: 9a31c7…e2b4
200Pools
[
  {
    "id": "pool_mrd_bell",
    "type": "private",
    "name": "Meridyen Mega Pool",
    "currency": "USD",
    "levels": [
      { "level": "grand", "amount": 8319.44, "seed": 5846.00, "must_drop_amount": 14615.00 },
      { "level": "major", "amount": 1032.87, "seed": 584.60, "must_drop_amount": null },
      { "level": "minor", "amount": 104.21, "seed": 58.46, "must_drop_amount": null },
      { "level": "mini", "amount": 29.23, "seed": 29.23, "must_drop_amount": null }
    ]
  }
]

Pool fields

FieldTypeDescription
idstringPool ID.
typestringprivate your own pool, shared a network pool.
namestringPool name.
currencyISO 4217Currency of the amounts: currency if given, otherwise the pool currency.
levelsobject[]Levels, in the order of the provider schema.

Level fields

FieldTypeDescription
levelstringLevel code, e.g. grand. Codes come from the provider’s jackpot schema, not a fixed list.
amountdecimal(18,2)Current amount. On a fixed level it is the fixed amount.
seeddecimal(18,2)Seed: after a drop the level starts again from this amount.
must_drop_amountdecimal(18,2) | nullMust-drop cap. null when there is no cap, on a fixed level, or when the provider runs the pool.

Must-drop cap

A level with a cap drops on the first eligible bet whose contribution brings it to must_drop_amount; the drop probability also works before that amount. The payout never exceeds the cap: if simultaneous bets push the level slightly past it, the excess stays for the next cycle. When two bets cross the cap at the same time there is a single winner. Boss Hub sets the cap; you can show "drops before this amount" in your lobby from this field. The win arrives through win with the jackpot field set, like any drop.

Win history

GET /v1/jackpots/{pool_id}/wins returns your 500 newest drops in the pool, newest first; there is no pagination, so narrow the range with from (inclusive) and to (exclusive). In a shared pool other operators’ drops are not shown and cancelled drops are not listed; drops not paid yet are listed too. Query: site_id, from, to. Row: pool_id, level, amount (the paid amount, in the payout currency), currency (payout currency), site_id, player_id, round_id, won_at.

GET /v1/jackpots/pool_mrd_bell/wins?from=2026-11-01T00:00:00Z HTTP/1.1
Host: staging.example.com
X-Operator-Id: op_meridyen
X-Timestamp: 1762344100
X-Signature: 47d0b2…91ac

Error codes

CodeHTTPMeaning
INVALID_SIGNATURE401Signature could not be verified
TIMESTAMP_SKEW401X-Timestamp is outside ±30 s
IP_NOT_ALLOWED403IP is not on the allowlist
SCOPE_MISSING403The games.read scope, or rounds.read for wins, is missing
SCOPE_DENIED403site_id is not yours or is outside your key’s scope
MODULE_DISABLED403The jackpot module is disabled
NOT_FOUND404Wins: no such pool or you are not connected to it
VALIDATION_ERROR422Invalid query parameter
RATE_LIMITED429Rate limit exceeded
← PreviousFree round campaignsNext →GGR reports