Page cover

book-openTournaments Implementation Guide

Step by step approach to getting started with the Lucra Tournaments product

Briefing

By the end of this implementation guide, users on your platform will be able to find and join real money or free to play tournaments, increasing engagement in your ecosystem. You'll also learn how to submit scores for tournament participants in a robust, seamless fashion.

There are many ways to integrate the Tournament Lucra Product, this guide focuses on leaning on the client side Lucra SDK to standup the UI within your application. If you're looking for other approaches, such as headless integrations, see SDKs & APIs and Headless tournaments

Prerequisites

  • Your Lucra account must have Tournaments enabled and predefined Games to associate with created Tournaments

  • You must have created at least one Tournament and available to join. Read more about Tournament creation here

circle-info

Tournament creation can be done through the Lucra Console or ask your Lucra representative for assistance

  • Obtain Lucra Keys for your application, two apiKey values, one for sandbox environment and another for production environment.

Lucra API Keyschevron-right

Step by step guide

1

Install & Initialize the SDK

Install a Lucra client SDK and confirm initialization is successful.

Install

Initialize the SDK

With the provided apiKey you can now initialize the LucraClient SDK on your platform

2

Apply brand theming

Provide brand colors and images to make the Lucra experience as familiar as your own

Branding & Themingchevron-right
3

Configure your user

circle-info

This is an optional but highly recommended step.

When a user logs into Lucra for the first time, they are given a randomly generated name and will have no other identifying properties beyond the phone number they used to two-factor-authenticate into the experience.

circle-check

Upon attempting to join a tournament, or deposit money, they will be prompted for identifying information such as email, age and location so that we can verify they are compliant to proceed.

Supplying the information you have for the current user ahead of their journey through the Lucra SDK can streamline the experience for a number of reasons:

  • Pre fill user information such as name, city, state, zip, address and email

  • Pre fill and lock the phone number used to login

  • Predefine their username so that the Lucra account is familiar to your platform's account

  • Supply arbitrary metadata to Lucra users (more on this below!)

circle-exclamation

Find your client configure user Lucra SDK docs here

How user metadata can streamline your Tournaments implementation

At the point where you're ready to send scores for participants in specific Tournaments, you'll need a way to identify the participant and the tournament. While you can do this by providing Lucra User IDs and Lucra Tournament IDs, this requires non-trivial binding of your user's with their respective Lucra User IDs, as well as the Tournaments themselves.

This is where user metadata comes in. You can simply provide your user's internal ID to their Lucra User's metadata, and send scores with this metadata for our systems to quickly identify who you're referring to. This allows you to proceed without any additional overhead of keeping track of Lucra Users and Lucra Tournaments.

Read more about user linking and score ingestion here

linkUser Linking & Score Ingestionchevron-right

4

Setup Convert to Credit support

circle-info

This is an optional step, the Lucra SDK will not show Convert to Credit options if not provided

Convert to credit functionality allows users to convert their real money earnings into a defined currency of your choosing. An example would be converting $10 for 120 tokens within your ecosystem.

Learn more here:

money-bill-transferConvert to Creditchevron-right

Find your platform technical convert to credit docs here:

circle-exclamation
5

Enable Apple Pay, Paypal, Venmo for payments

circle-info

This is an optional step, a default payment processor comes out of the box.

circle-info

If Apple Pay enablement is desired for iOS, ReactNative and Javascript, please reach out to Lucra for further assistance

Read more here

Paymentschevron-right

Find your platform technical payment docs here

6

Guide users to join their first tournament

At this point, the Lucra SDK is ready get your users involved in your available tournaments. Lucra will handle user authentication, user identification, and any compliance forms required for joining your tournaments.

This requires intentional action by your platform to launch the Lucra Tournaments experience within your platform

Find your platform Tournament flows docs here

circle-exclamation

7

Listen for key events

Depending on your integration, you might need to know when users take certain actions. This can be for many reasons, including, but not limited to, the following:

  • Know when a user joins a tournament

The Lucra SDKs, APIs and Webhooks allow you to be in tune with much of the user's and matchup's lifecycle.

Client SDKs

Setup client side event listeners with the technical docs here

Server Webhooks

Setup your backend to receive webhooks here

Tournament Webhookschevron-right

8

Send scores for Tournament participants

At this point, you have users that have joined your tournament(s). The Lucra Tournaments product will handle paying out winners upon the completion of this tournament, but first, Lucra needs to know the scores of the participants to correctly rank them.

There are multiple way to send scores for tournaments, regardless of the approach, there are required details you'll need to provide Lucra before sending scores.

  1. User participant identifying information

  2. Tournament identifying information

We'll discuss how to obtain both of these requirements in the approaches below


Recall the configure user metadata step above? We have APIs to consume scores given user and tournament identifying information, if you only know the metadata you've identified your users with and the game type of the score they just registered, that's all you need to send to apply it to your user's score in the tournament!

Lets walk through the required details in this scenario

  1. User participant identifying information

    1. The user's metadata, the user's phone number

  2. Tournament identifying information

    1. The tournament's metadata or tournament's gameId

circle-info

Lucra User ID and Lucra Tournament IDs can also be supplied as identifiers, albeit, requiring the overhead of binding on your platform ahead of time.

circle-info

A common approach is to send scores for your users as soon as you know they scored any type of score for any game you have registered with Lucra. Our APIs are designed to gracefully identify if your users are involved in any open tournaments expecting scores, removing the need for you track what tournaments users are participants of.

Read more about user linking and score ingestion below

linkUser Linking & Score Ingestionchevron-right

Read more about tournament metadata creation via API

Tournaments REST APIchevron-right

Sending scores via the Console (Beta)

You can manually set scores for participants via the Lucra Console. Ideal for smaller controlled Tournaments.

Read more here

Lucra-Owned Tournamentschevron-right

Sending scores with Lucra IDs via API

If you have built the binding abstraction to link your users with their respective Lucra IDs, as well as your active Tournaments with Lucra matchup IDs, we have other APIs readily available for you to hit with those IDs.

Read more here

Tournaments REST APIchevron-right
9

Complete your Tournament

Scores have been submitted, the leaderboard is packed, and the gameplay has completed, you now need to complete the tournament so your winners can get paid.

circle-exclamation

This can be done in two ways, with the Lucra Console or via API.

Read more about the Console approach here

Lucra-Owned Tournamentschevron-right

Read more about the API approach here

Tournaments REST APIchevron-right
circle-info

While real-time scores are ideal for the Lucra leaderboard experience, they are only required to be provided at the time of completing a Tournament

10

Test end-to-end

At this point, testing the full integration will likely be on your to-do list. This is where our sandbox environment comes in. This environment allows you to simulate a production environment with test users and money transactions that don't impact anyone's bank account.

Read more here

Testingchevron-right
circle-exclamation

Tournament Platform Technical Documentation


Headless Tournament Support

This guide focused on the idea that users will find and join tournaments through the Lucra SDK experience, where Lucra handles the various layers of guiding users through authentication, age & location compliance, as well as adding funds when necessary.

Depending on your platform, you may already have concepts of tournaments and would rather have your users join Lucra tournaments through a "headless" fashion.

We support this idea through our headless functionality offered within our Mobile client side SDKs

circle-info

While joining tournaments can be done headlessly, you will still be required to guide your users through the Lucra SDK experience to do the following required actions

  • Authenticate

  • Add / Withdrawal funds

  • Submit identification form for age and location compliance

  • Collect demographic information for free to join tournaments

Read more about our mobile client side headless Tournament SDKs

circle-exclamation

Common troubleshooting

The Lucra SDK says I'm unauthorized after launching a Flow

Be sure to double check your provided apiKey(s) and the environment you're pointing to. Each platform (web, mobile, server) have a respective key per environment

Lucra says my account is suspended

Our compliance ruleset will suspend accounts for a number of different reasons due to suspicious activity. If you don't think your account should be suspended, please reach out to Lucra for assistance.

I can't see the Tournament I created

A tournament may not populate within the Lucra SDK experience for a number of reasons

  • It's end date is in the past

  • It's location is in a different location than what the user has selected

Double check your tournaments properties to make sure it's upcoming or live, as well as the location it's tied to

The score I sent isn't applying to the tournament

Scores abide to a strict rule set, the participant must be expecting a score, meaning they have an open attempt, and the tournament must not be completed.

circle-info

Not finding the answers you're looking for? Reach out to your Lucra representative for further assistance

Last updated