SDK overview

The ChartFighter SDK is a Flutter package. Place one widget on a screen and the whole game, from the lobby to settlement, runs inside your mobile app (Android · iOS).

One widget, the whole game

Place a single ChartFighterGame and the flow below just works. When a match ends, «one more match» follows right away, and you have no screens to build.

  1. 1. Lobby

    The start screen, leading to Ranked Match, Practice Match, leaderboards, the shop and the airport

  2. 2. Matchmaking

    Ranked Match: pick an investment and wait for an opponent. Practice Match: pick a bot yourself

  3. 3. Get ready

    Read the trend from the first 60 candles for 5 seconds

  4. 4. Match

    Buy and sell up to 10 times while 240 candles play

  5. 5. Settlement

    Profit and rating are settled and the stock is revealed

A separate widget, ChartFighterTrial, handles the try-before-sign-up experience: pick a country, play a match right away, then go on to sign up.

A few screens

Match screen (landscape)
Match screen (landscape)
Settlement screen
Settlement screen
Practice Match: choosing an opponent
Practice Match: choosing an opponent
Airport
Airport

18 ready-made screens

These are the screens ChartFighterGame uses inside. If you need to, you can also take them one by one into your own screen flow.

WidgetWhat it does
LobbyScreenLobby — the game’s start screen
BetTierSheetRanked Match: choosing the investment
QueueScreenRanked Match: waiting for an opponent
OpponentSelectScreenPractice Match: choosing an opponent (bots by difficulty)
MatchScreenMatch screen — chart, indicators and the trade button
ResultScreenSettlement screen
LoadoutScreenChoosing weapons (indicators)
MyProfileScreenMy profile and record
AvatarEditorScreenMaking a face (avatar)
PlayerCardSheetAnother player’s info card
LeaderboardScreenLeaderboards
ShopScreenShop
ShopTransactionsSheetShop transaction history
InventoryScreenInventory
AirportScreenAirport — moving to another country
ImmigrationScreenImmigration — opening a new country
RemittanceScreenRemittance — sending game money between countries
AppInstallSheetApp install guide (QR · store links) — web builds only

Building your own screens — the lower-level API

If you would rather build the screens yourself, use the pure Dart lower-level API. It does not force any particular state management library on you.

NameWhat it does
MatchControllerMatchSnapshotFolds the live matchmaking, match and settlement events into a state machine and hands your screen a single state to draw
ChartFighterClientHTTP and real-time socket transport. Keep one per app and share it with the game
LeaderboardApiShopApiPracticeApiRegionsApiRemittanceApiAPIs for each server feature: leaderboards, shop, practice matches, countries, remittance and more
CandleChartIndicatorPanelReviewChartWidgets for the match chart, indicator panels and the review chart
evaluateCandleIndicatorInstanceManagerThe engine that computes, candle by candle, the indicator definitions sent by the server

Two ways to sign in

ModeWhen to use it
ChartFighterAuth.tokenYou supply the SDK with a token obtained through your own account system. How your accounts are linked to ChartFighter accounts is agreed together when we discuss adoption.
ChartFighterAuth.builtInThe SDK handles email and social sign-in, token storage (the device’s secure storage) and automatic refresh. Choose it if you have no account system or want to use ChartFighter accounts as they are.

Languages, countries, platforms

3 screen languages

Korean, English and Vietnamese. On devices set to a language we do not support, the game shows English.

3 countries

Korea KOSPI·KOSDAQ / Vietnam HOSE·HNX / United States NASDAQ·NYSE. Each country has its own market, currency, wallet and inventory.

Travel and remittance

Players can fly to another country at the airport, and once they have opened two or more countries they can send game money between them. The server converts the amount at each country’s real exchange rate.

Platforms

Android and iOS apps. On the web, connect to the ChartFighter web game with a link partnership rather than the SDK.

What you decide

You decide the identity inside the game screens and the places where the game connects to the rest of your app.

NameWhat you decide
ChartFighterBrandingLogo, brand color and product name, lobby card and country artwork, button icons and panel artwork, tier badges and avatar artwork, the number font, the «Learn more» link on the Ranked Match card (your page address)
ChartFighterTypographyThe text style of the lobby cards
onExitonOpenSettingsonSessionReplacedClosing the game, opening your settings screen, and what happens when the same account signs in on another device
onTravelTravel — your app switches the connection to the country the player picked at the airport
onSoundonMusiconMatchActiveaudioTogglesSound effects and background music — the SDK only says «when», and your app decides what to play
onOpenUrlOpening external links — «Learn more» on the Ranked Match card hands your page address to this callback.

Integration documents (installation, per-platform setup, server settings to align, and the full public API) are shared once a formal partnership agreement is signed.

For more details, please contact us at the email address below.

admin@chartfighter.com