#backend
GameFi service based on FaceIt
Task
To create backend and admin panel for Counter-Strike 2 tournament awarding service on FaceIt platform.
Project info
Project team – 3 people
Timeline – 2 months
Technologies – Python/FastAPI, Redis, Postgresql, Docker
Project Features
We have worked with this client before, jointly implementing the Stepogram product. At the moment, the client is building a GameFI ecosystem centered around the main website, to which various games are connected, and most importantly, the main financial mechanics.
Solution
We chose the FastAPI framework to implement the project and the StarletteAdmin library to create the admin panel

The first challenge for us was to implement authorization via FaceIt. Despite the fact that FaceIt used the usual oauth, their platform had some undocumented features. In the course of direct communication with the platform developers, we managed to solve all the problems that arose.

In addition to logging in via FaceIt, users linked their MetaMask wallets for further withdrawal of funds.
Как тиндер-карточки превратились в викторину](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f99cc296-a8d4-4685-a5f5-3bbb7211a1c1/Frame_518_(1).png)  Как тиндер-карточки превратились в викторину
Screen of registered users in the admin panel
Rewarding users
Every time there is a gaming season on the FaceIt platform, the backend picks up the event and rewards users in 1st-4th places. The rewards are credited to the platform's backend account, after which the user can request their withdrawal to their cryptocurrency wallet. If there are any problems with withdrawal, the administrators of the service will be instantly notified via a Telegram bot.
The current functionality allows you to schedule prize distribution at the right time for a specific tournament. Through the admin panel you can change the prize money size and the date of payouts. If desired, the administrator can create a draft of the giveaway to come back to it later.
Based on the FaceIt API, we made statistics by season so users can track their progress
Detailed personal statistics is also available in the personal cabinet
Referral program
As part of the project support, we developed a referral program, the purpose of which is to attract new players and retain old ones. To issue a referral link, the user must be registered on gamefi.tech, and also link his wallet address in his personal cabinet.

The user receives tokens for matches of referrals:
— 5 matches - 1 token
— 10 matches - 2 tokens
— 50 matches - 10 tokens
— 100 matches - 25 tokens
— 250 matches - 100 tokens
— 500 matches - 250 tokens.

The size of payouts depends on:
— the number of matches played;
— the number of tokens;
— the balance of the guild stack;
— the multiplication factor of rewards.

Change the parameters of the referral program and track users who participated in it can be via the admin panel.
Results
At the moment several thousand players participate in tournaments and receive awards.
We continue to support the service and we hope that the number of players will only grow!
Get a detailed offer
We'll send presentation to your email in 15 minutes
Your message has been sent successfully
Something went wrong while sending the email, please try again
ИП Зыкин Даниил Вадимович
ИНН 6686 03018504
ОГРН 322665800112500