Records (Events)
Records
Records (also known as Game Events) are logs of meaningful in-game or out-of-game actions that can be tracked through the SDK or REST server. They serve as the primary mechanism for recording gameplay activity, progression, and user interactions.
Match vs. Non-Match Contexts
Records are categorized into two contexts:
In-Match Records
post /api/BlockchainStorage/records/match/add
These records are tied to an active match session (identified by a non-zero matchSessionId
) and represent events that occur during level or match gameplay.
Examples:
Player kills (against other players, NPCs, or AI)
Deaths (if they don’t end the match for the player)
Item pickups (e.g., bounty items, power-ups)
Item usage
Special attacks
Out-of-Match Records
post /api/BlockchainStorage/records/menu/add
These are logged with matchSessionId: 0
and represent actions that occur outside of active gameplay, such as in menus or metagame screens.
Examples:
Level or item unlocks
Purchases (upgrades, consumables, etc.)
Redeeming codes or entering special coupons
Submitting Records
Records can be submitted individually or in batches.
Batch records outside of match (level), eg Menu
post /api/BlockchainStorage/records/menu/batch
Batch records inside of match (level)
post /api/BlockchainStorage/records/match/batch
When submitting in batch mode, it is recommended to keep the number of records per request under 20 for performance and reliability.
🔧 JSON Format
Null optional values can be left as null (not included in the call) and the default values will be picked up. PlayerIndex will equal to the user account making the call. Otherplayers will remain empty. StartTime will be set to the time of the call (now).
{
"matchSessionId": 0,
"score": 0,
"key": "string",
"value": "string",
"playerIndex": null,
"otherPlayers": null,
"startTime": null
}
matchSessionId
The match session this record is tied to. Use 0
for out-of-match records.
score
Optional score value. Set to 0
if not used.
key
Event key name. Describes the type of event.
value
Event value. Specific context or detail of the key.
playerIndex
Optional player index. Used when identifying a specific player.
otherPlayers
Optional array of player indices involved in the event.
startTime
Optional timestamp for the event start.
Example Key-Value Pairs
pickup
mushroom
Item collected
pickup
leaf
Item collected
kill
goomba
Enemy defeated
kill
koopa
Enemy defeated
level-unlock
green island
Level unlocked
level-unlock
red mountain
Level unlocked
Best Practices
Use clear and consistent key names to simplify filtering and analysis.
Avoid excessive batching; aim for ≤ 20 records per request.
Log all impactful gameplay and progression events for better analytics and rewards logic.
Need help integrating record logging? See the SDK Integration Guide or contact support.
Last updated