ThrillDrops Event Processor

ThrillDrops is an event-driven system that is able to consume and react to your platform events in real-time. The Event Processor for ThrillDrops behaves in a similar manner to the Event Processor for ThrillPots.

The key differences in ThrillDrops are:

  • ThrillDrops can process multiple types of events (see Input Events)
  • There is no need to filter events since all information is relevant for monitoring player experience and behaviour

The event processor is responsible for receiving events from the source platform and converting them to their respective ThrillDrops event structures and sending them over to ThrillDrops using the /event route on the ThrillDrops Processor service.

Inbound Event Flow

Event Processor Integration Sequence Diagram

As can be seen in the diagram above, the data-flow is simple and straight forward and follows a standard path from event source to ThrillDrops.

  • HTTP POST /event: Primary ingestion path

Events are scoped by operator, brand and player, and only campaigns in Published, Running, or Paused states for that brand path are considered.

POST /event

Below is an example of a transaction event being sent from an operator platform's Event Processor to ThrillDrops:

  • Request body (application/json):
{
  "operator_id": "thrilltech",
  "brand_id": "brand1",
  "player_id": "player_00001",
  "timestamp": 1777852800,
  "event_type": {
    "Transaction": {
      "provider_id": "game_provider",
      "game_id": "a_game",
      "gameround_id": "gameround_00001",
      "bet_transaction_id": "bet_00001",
      "currency": "EUR",
      "game_bet": "10.00",
      "bonus_bet": "0",
      "real_bet": "10.00",
      "jackpot_bet": "0",
      "win_transaction_id": null,
      "game_win": "0.00",
      "jackpot_win": "0.00",
      "is_free_spin": false,
      "round_finished": true
    }
  }
}

Event Types

Since each operating platform (PAM) is unique, ThrillDrops provides specific data structures that are expected on a per-event basis.

  • Behavior:
    • EventType::PlayerLogin additionally dispatches a PlayerAuthorizationEvent for ThrillGate validation.
    • Monetary events are converted into the campaign currency using the latest exchange rates before metric evaluation.
    • ThrillPots jackpto contributions are identified by provider_id == "thrilltech" and game_bet == jackpot_bet

Operational Notes

  • RNG probability is applied per trigger; the first trigger that passes probability wins for the event.
  • Campaign status drives behavior: Published events can start campaigns; Paused only evaluates end triggers; Running can award drops and end campaigns.
  • Monetary conversions depend on the latest BitBridge multipliers;