Skip to content

Get started

Overview

This guide provides the necessary information for building custom frontend applications (or own integrated UI components/widgets), whether they are simple browser-based apps or more complex solutions involving a dedicated web application server, on top of our Platform's APIs.

Our ecosystem offers a flexible and powerful set of tools, including HTTP and WebSocket APIs, to support a wide range of use cases. By following the architecture described below, you can create robust, secure, and scalable applications for your users.

Note: If you need more control over data and want to apply additional processing on your backends consider using MTS Integration as set of API within this document are designed to work with Frontend Application under user context and provides personalized data ready to display without information how it was produced or original data.

General Context Diagram

The following diagram illustrates the main components and communication flows within the ecosystem. It shows how your frontend application, optional backend server, and wallet components interact with our system.

graph TD
    subgraph "Client Infrastructure"
        BrowserApp["Browser App"]
        WebAppServer["WebApp Server"]
        BackendService["Backend Service"]
        WalletAdapter["Wallet Adapter"]
        ClientWallet["Wallet"]
    end


    GR8Platform["GR8 Platform <br>- GR8 API<br>- S2S API<br>- WebSocket API<br>- Wallet Proxy"]


    BrowserApp -- "HTTP Request<br>Initial page and requests during user's navigation" --> WebAppServer    

    WebAppServer -- "Communicates with" --> BackendService
    WebAppServer -- "Calls GR8 API<br>(user request context)<br>- get Events,Market,Scores<br>- get user's Bet history<br>- place Bet" --> GR8Platform

    BackendService -- "Calls S2S API <br>(service call context)<br>Users synchronization(for some use cases), Analytics, etc" --> GR8Platform

    BrowserApp -- "Calls GR8 API<br>(user request context)<br>still recommended to send requests to  WebApp Server at first" --> GR8Platform
    BrowserApp -- "Connects to WebSocket API<br>user request context<br>Line,Market,Scores real-time updates" --> GR8Platform

    GR8Platform -- "Request via Wallet Proxy<br>(during bet placement,settlement etc)" --> WalletAdapter
    WalletAdapter -- "Interacts with" --> ClientWallet

Component Descriptions

  • Client's Browser Application: The user-facing part of your application that runs in the user's web browser.
  • Client's WebApp Server (Recommended): A server that handles incoming requests from the Browser App. It can communicate directly with our GR8 API for actions in the user's context or delegate tasks to the Client's Backend Service. This approach is recommended as it provides more control, the ability to cache or validate requests, and can improve security.
  • Client's Backend Service: A dedicated backend service for handling business logic or tasks that require service-to-service communication with our S2S API.
  • Client's Wallet Module: Your proprietary wallet logic (applicable only if you want accept bets).
  • Client's Wallet Adapter: A specific module you must implement according to our specifications. It acts as a bridge, translating requests from our Wallet Proxy into actions your Wallet Module can understand.
  • GR8 Platform: The core platform that exposes all our APIs and contains the Wallet Proxy.
  • Our GR8 API: The primary interface for user-context requests, such as fetching data or performing actions on behalf of a logged-in or anonymous user.
  • Our S2S API: A separate API endpoint designed for secure service-to-service communication between your backend and ours. It has separate set of API that allow system to ge information about any user/region.
  • Our WebSocket API: Used for establishing persistent, real-time communication channels between the client's browser and our system.
  • GR8 Platform's Wallet Proxy: A module within our system that facilitates communication with your custom wallet implementation via the Wallet Adapter.
  • User context means that request are done with implicit user id (passed as user access token, but can be anonymous though) and specific brand (specified by ApiKey within the request). Each user id is unique within each brand.

Provided data with this integration type

  • All data are controlled by our operation department and most of changes are done within requests to our department.
  • All data provided by GR8API are in ready to use for specific user (customized according to user and brand). If you need more raw data - consider other type of integrations

API References

For detailed information on each API, please refer to the documentation linked below.