The Gamgem dataset is delivered as structured files that contain the gambling platform and payment destination entities described in the data models specification. The dataset is incrementally versioned, with each version containing two complementary files: a complete snapshot and a delta file showing changes from the previous version.

Snapshots and deltas

Gamgem provides data through two complementary file types that serve different integration needs:
Complete dataset stateSnapshot files contain the current state of all gambling platforms and their payment destinations at a specific point in time. These files include every entity in the dataset.Use snapshots for:
  • Initial data loads when implementing Gamgem
  • Full system refreshes or rebuilds
  • Recovering from data synchronization issues
  • Periodic dataset validation
Snapshot files provide a reliable baseline for your implementation, ensuring you have the picture of all known payment destinations.

Snapshot file structure

Snapshot files use JSON Lines format (.jsonl), where each line contains a JSON object representing a single entity. This format enables streaming processing and supports mixed entity types within the same file. Dataset versions follow the pattern YYYYMMDDHHMMSS (timestamp format), and snapshot files are named accordingly:
gamgem-snapshot-YYYYMMDDHHMMSS.jsonl

Snapshot file example

gamgem-snapshot-20250306213304.jsonl
{"id":"23dd4532-0aec-4794-88ea-ebe2aa330da3","schema":"PLATFORM","createdDate":"2025-01-19T13:51:56.793Z","updatedDate":"2025-03-06T21:33:04.559Z","state":"ACTIVE","attributes":{"name":"YET_ANOTHER_CASINO","services":["CASINO","SPORTS"],"urls":["https://yet-another-casino.bet"]}}
{"id":"a2a0cb2f-ff94-4cfd-b71d-316e513682ba","schema":"MERCHANT","createdDate":"2025-02-01T10:15:30.000Z","updatedDate":"2025-03-06T21:33:04.559Z","state":"ACTIVE","attributes":{"platformId":"23dd4532-0aec-4794-88ea-ebe2aa330da3","cardNetwork":"MASTERCARD","mid":"123456789012345","name":"fake-merchant.io","mcc":"6051","isImpactful":false}}
{"id":"cad6f951-125a-4bd1-a46c-7ad2c4f0b661","schema":"BANK_ACCOUNT","createdDate":"2025-02-15T14:20:45.000Z","updatedDate":"2025-03-06T21:33:04.559Z","state":"ACTIVE","attributes":{"platformId":"23dd4532-0aec-4794-88ea-ebe2aa330da3","bankId":"123456","bankIdType":"GBDSC","accountId":"98765432","accountIdType":"ACCOUNT_NUMBER","accountHolderName":"Yet Another Casino Group Ltd"}}
Each line is a valid JSON object.

Delta file structure

Delta files track changes between dataset versions, enabling incremental updates. Like snapshots, they use JSON Lines format but with a structure focused on change events.

File format

gamgem-delta-YYYYMMDDHHMMSS.jsonl
Each line represents a single change event with the following structure:
changeType
enum<string>
required
Type of change: ADD, UPDATE, or OBSOLETE
occurredDate
timestamp
required
ISO 8601 timestamp when the change was recorded
entity
object
required
Entity state after the change, using the same structure as snapshot entries

Change types

Delta file example

Here’s an example delta file showing various change types:
gamgem-delta-20250306213304.jsonl
{"changeType":"ADD","occurredDate":"2025-03-06T21:33:04.559Z","entity":{"id":"23dd4532-0aec-4794-88ea-ebe2aa330da3","schema":"PLATFORM","createdDate":"2025-03-06T21:33:04.559Z","updatedDate":"2025-03-06T21:33:04.559Z","state":"ACTIVE","attributes":{"name":"YET_ANOTHER_CASINO","services":["CASINO","SPORTS"],"urls":["https://yet-another-casino.bet"]}}}
{"changeType":"UPDATE","occurredDate":"2025-03-06T22:15:30.000Z","entity":{"id":"a2a0cb2f-ff94-4cfd-b71d-316e513682ba","schema":"MERCHANT","createdDate":"2025-02-01T10:15:30.000Z","updatedDate":"2025-03-06T22:15:30.000Z","state":"ACTIVE","attributes":{"platformId":"23dd4532-0aec-4794-88ea-ebe2aa330da3","cardNetwork":"MASTERCARD","mid":"123456789012345","name":"fake-merchant.io","mcc":"6051","isImpactful":false}}}
{"changeType":"OBSOLETE","occurredDate":"2025-03-06T23:45:12.000Z","entity":{"id":"cad6f951-125a-4bd1-a46c-7ad2c4f0b661","schema":"BANK_ACCOUNT","createdDate":"2025-02-15T14:20:45.000Z","updatedDate":"2025-03-06T23:45:12.000Z","state":"OBSOLETE","attributes":{"platformId":"23dd4532-0aec-4794-88ea-ebe2aa330da3","bankId":"123456","bankIdType":"GBDSC","accountId":"98765432","accountIdType":"ACCOUNT_NUMBER","accountHolderName":"Yet Another Casino Group Ltd"}}}

Entry ordering

Both file types guarantee specific ordering to enable sequential line-by-line processing:
  1. Platform entities first: All PLATFORM entities appear before any payment destination entities
  2. Payment destinations second: MERCHANT, BANK_ACCOUNT, and CRYPTO_WALLET entities follow, in any order
You can process each line immediately without needing to look ahead or buffer entities, as all dependencies are resolved by the guaranteed ordering.