Olymptrade – Trading online icon

Olymptrade Flex deals, wallets and KYC fields

Space307 · Banking

Olymptrade – Trading online is Space307's Android trading app for OTC Flex, fixed-time (FTT), FX and SPT tickets. Traders open into live charts with SMA/EMA/MACD-style overlays, place Flex and FTT tickets by choosing a duration and seeing the win percent, run FX positions with stop-loss and take-profit, switch between real and demo wallets, claim bonuses from the offers board, complete Sumsub identity verification, and reach education, marketplace, pay-in and support screens through in-app deep links. It is published as com.ticno.olymptrade and used by retail traders in Brazil, Indonesia, Mexico and India alongside IQ Option, Pocket Option and MetaTrader-style FX desks.

Flex tickets stamp winPercent, amountReal and balanceChangeReal on each expirable fill; FX rows add realizedProfitAndLoss, commissionForSwap and nested stopLossModel. Wallets split amount from bonus, holdDeal and availableFunds. KYC is a two-field gate — status plus kycRestrictionStatus — while the profile keeps registrationCountry, islamic and a public countryId when isPublic is on. Offers carry offerId, promoCode and claimDeeplink.

Reconcilers line wallet realFunds up with ticket P&L, payout desks wait on KYC status, and growth maps promo progress to pay-in deep links. openData Studio turns that wallet, ticket and KYC surface into callable open data.

Screenshots

  • Olymptrade – Trading online screenshot 1
  • Olymptrade – Trading online screenshot 2
  • Olymptrade – Trading online screenshot 3
  • Olymptrade – Trading online screenshot 4
  • Olymptrade – Trading online screenshot 5
  • Olymptrade – Trading online screenshot 6
  • Olymptrade – Trading online screenshot 7
  • Olymptrade – Trading online screenshot 8

API surface

The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.

  • Password login

    POST /v1/sessions/password osint

    Signs the trader in with email and password; invalid_email_or_password is the client error token. The issued access_token is the Bearer for later account, deal and KYC calls.

    Auth: Unauthenticated. Body carries email and password; the client identifies itself with an Android app user-agent. The returned session is stored as access_token (lifetime access_token_ttl) and sent on later calls as Authorization: Bearer; a background worker renews it with refresh_access_token.

    • email
    • password
    • access_token
    • access_token_ttl
    • refresh_access_token
    • userId
    POST /v1/sessions/password HTTP/1.1
    Content-Type: application/json
    
    {
      "email": "[email protected]",
      "password": "<password>"
    }
    {
      "access_token": "<access_token>",
      "access_token_ttl": 3600,
      "refresh_access_token": "<refresh_token>",
      "userId": 12004567
    }
  • Refresh session

    POST /v1/sessions/renew osint

    Rotates the session without a password re-prompt, returning a fresh access_token, access_token_ttl and refresh_access_token.

    Auth: Bearer access_token plus refresh_access_token. A background session-renewal worker posts this call before the access token expires; a separate call renews the app-level token.

    • refresh_access_token
    • access_token
    • access_token_ttl
    POST /v1/sessions/renew HTTP/1.1
    Authorization: Bearer <access_token>
    Content-Type: application/json
    
    {
      "refresh_access_token": "<refresh_token>"
    }
    {
      "access_token": "<new_access_token>",
      "access_token_ttl": 3600,
      "refresh_access_token": "<new_refresh_token>"
    }
  • User profile values

    GET /v1/members/me osint

    Loads the signed-in trader's profile, including registrationCountry and the islamic account flag.

    Auth: Authorization: Bearer access_token.

    • userId
    • currencyType
    • registrationDate
    • registrationCountry
    • userName
    • userSurname
    • userEmail
    • userAvatarUrl
    • userPhone
    • userPhoneConfirmed
    • userEmailConfirmed
    • islamic
    • birthday
    GET /v1/members/me HTTP/1.1
    Authorization: Bearer <access_token>
    {
      "userId": 12004567,
      "currencyType": "USD",
      "registrationDate": "2024-03-12T09:14:00Z",
      "registrationCountry": "BR",
      "userName": "Ana",
      "userSurname": "Silva",
      "userEmail": "[email protected]",
      "userAvatarUrl": "https://cdn.example/avatars/ana.png",
      "userPhone": "+5511999887766",
      "userPhoneConfirmed": true,
      "userEmailConfirmed": true,
      "islamic": false,
      "birthday": "1994-06-21"
    }
  • Trading accounts list

    GET /v1/wallets openbanking

    Lists real and demo wallets, each with a nested balance object (amount, bonus, payout, holdPayout, holdDeal, availableFunds, realFunds). The app also caches each wallet locally together with its allowed operations.

    Auth: Authorization: Bearer access_token.

    • id
    • currency
    • name
    • accountStatus
    • openedTime
    • closedTime
    • accountType
    • balance
    • amount
    • bonus
    • payout
    • holdPayout
    • holdDeal
    • availableFunds
    • realFunds
    • refillLimit
    • allowedOperations
    GET /v1/wallets HTTP/1.1
    Authorization: Bearer <access_token>
    {
      "accounts": [
        {
          "id": 881122,
          "currency": "USD",
          "name": "Real",
          "accountStatus": "active",
          "openedTime": 1710234000000,
          "closedTime": null,
          "accountType": "real",
          "balance": {
            "amount": 1540.25,
            "bonus": 50.0,
            "payout": 12.4,
            "holdPayout": 0,
            "holdDeal": 80.0,
            "availableFunds": 1460.25,
            "realFunds": 1490.25
          },
          "refillLimit": 10000,
          "allowedOperations": ["trade", "withdraw"]
        }
      ]
    }
  • KYC state

    GET /v1/compliance/kyc-status osint

    Returns the trader's verification state — status and kycRestrictionStatus — consumed by the verification screens; related calls cover document verification and user interactions.

    Auth: Authorization: Bearer access_token. Document capture is handed to a third-party identity-verification provider (Sumsub).

    • status
    • kycRestrictionStatus
    GET /v1/compliance/kyc-status HTTP/1.1
    Authorization: Bearer <access_token>
    {
      "status": "verified",
      "kycRestrictionStatus": "none"
    }
  • Flex deal history

    GET /v1/tickets/flex/history openfinance

    Pages Flex (expirable binary-style) tickets as items with a nextPage cursor. Sister calls cover FTT, FX and SPT history.

    Auth: Authorization: Bearer access_token.

    • id
    • accountId
    • accountType
    • currencyType
    • timeOpenMs
    • timeCloseMs
    • assetId
    • assetTitle
    • direction
    • quoteOpen
    • quoteClose
    • amount
    • duration
    • winPercent
    • resultStatus
    • proceedBalanceChange
    • resultBalanceChange
    • amountReal
    • amountBonus
    • balanceChangeReal
    • balanceChangeBonus
    • riskFree
    • items
    • nextPage
    GET /v1/tickets/flex/history HTTP/1.1
    Authorization: Bearer <access_token>
    {
      "items": [
        {
          "id": 99001122,
          "accountId": 881122,
          "accountType": "real",
          "currencyType": "USD",
          "timeOpenMs": 1710234100000,
          "timeCourseOpenMs": 1710234100500,
          "timeCloseMs": 1710234160000,
          "assetId": "EURUSD",
          "assetTitle": "EUR/USD",
          "assetIconUrl": "https://cdn.example/eurusd.svg",
          "precision": 5,
          "isLockedTrading": false,
          "isClosingInProgress": false,
          "direction": "up",
          "quoteOpen": 1.08321,
          "quoteClose": 1.08354,
          "amount": 50.0,
          "isExpirable": true,
          "duration": 60,
          "statusExtension": "none",
          "feeExtension": 0,
          "durationAdded": 0,
          "userId": 12004567,
          "winPercent": 82,
          "cancelPercent": 10,
          "resultStatus": "win",
          "proceedStatus": "settled",
          "timeCloseDefaultMs": 1710234160000,
          "quoteStrike": 1.08321,
          "quoteCurrent": 1.08354,
          "proceedBalanceChange": 41.0,
          "resultBalanceChange": 41.0,
          "riskFree": false,
          "refunded": false,
          "winPercentFlex": 82,
          "amountReal": 50.0,
          "amountBonus": 0,
          "balanceChangeReal": 41.0,
          "balanceChangeBonus": 0,
          "isAiAnalysisAvailable": true,
          "durationInitial": 60,
          "durationTotal": 60,
          "feeExtensionPaid": 0
        }
      ],
      "nextPage": 2
    }
  • FX deal history

    GET /v1/positions/fx/history openfinance

    Pages FX positions with volume, swap commission, realized/unrealized P&L and nested stopLossModel / takeProfitModel.

    Auth: Authorization: Bearer access_token.

    • id
    • accountId
    • accountType
    • assetId
    • direction
    • quoteOpen
    • quoteClose
    • amount
    • volume
    • displayMultiplier
    • status
    • closeReason
    • realizedProfitAndLoss
    • unrealizedProfitAndLoss
    • commission
    • commissionOpen
    • commissionForSwap
    • nextSwap
    • stopLossModel
    • takeProfitModel
    • refunded
    GET /v1/positions/fx/history HTTP/1.1
    Authorization: Bearer <access_token>
    {
      "items": [
        {
          "id": 77003344,
          "accountId": 881122,
          "accountType": "real",
          "currencyType": "USD",
          "timeOpenMs": 1710235000000,
          "timeCloseMs": 1710240000000,
          "timeCourseOpenMs": 1710235000800,
          "assetId": "GBPUSD",
          "assetTitle": "GBP/USD",
          "assetIconUrl": "https://cdn.example/gbpusd.svg",
          "precision": 5,
          "isLockedTrading": false,
          "isClosingInProgress": false,
          "direction": "buy",
          "quoteOpen": 1.26410,
          "quoteClose": 1.26580,
          "amount": 100.0,
          "userId": 12004567,
          "volume": 0.1,
          "displayMultiplier": 100000,
          "status": "closed",
          "closeReason": "take_profit",
          "closeReasonString": "Take profit",
          "quoteCurrent": 1.26580,
          "realizedProfitAndLoss": 17.0,
          "unrealizedProfitAndLoss": 0,
          "commission": 0.4,
          "commissionOpen": 0.2,
          "commissionForSwap": 0.1,
          "nextSwap": 0,
          "stopLossModel": {"limitType": "price", "value": 1.26000},
          "takeProfitModel": {"limitType": "price", "value": 1.26580},
          "refunded": false
        }
      ],
      "nextPage": null
    }
  • Money movement history

    GET /v1/ledger/entries openbanking

    Lists deposits, withdrawals and bonus credits as transaction rows. The list screen also filters by account, period, status and type.

    Auth: Authorization: Bearer access_token.

    • uid
    • id
    • iconUrl
    • description
    • currencyType
    • amount
    • type
    • status
    • createdAt
    GET /v1/ledger/entries HTTP/1.1
    Authorization: Bearer <access_token>
    {
      "items": [
        {
          "uid": "txn_aa11",
          "id": 44001,
          "iconUrl": "https://cdn.example/payin.png",
          "description": "Card deposit",
          "currencyType": "USD",
          "amount": 200.0,
          "type": "deposit",
          "status": "completed",
          "createdAt": 1710200000000
        }
      ]
    }
  • Demo balance refill

    POST /v1/wallets/demo/top-up openbanking

    Tops up a demo wallet and returns the post-refill snapshot (balance vs bonusBalance vs availableFunds vs realFunds).

    Auth: Authorization: Bearer access_token.

    • accountId
    • accountType
    • balance
    • bonusBalance
    • availableFunds
    • realFunds
    POST /v1/wallets/demo/top-up HTTP/1.1
    Authorization: Bearer <access_token>
    Content-Type: application/json
    
    {
      "accountId": 881123,
      "accountType": "demo"
    }
    {
      "accountId": 881123,
      "accountType": "demo",
      "balance": 10000.0,
      "bonusBalance": 0,
      "availableFunds": 10000.0,
      "realFunds": 10000.0
    }
  • Bonus offers list

    GET /v1/promotions/offers opendata

    Lists joinable bonuses with offerId, promoCode, progress and a claimDeeplink into the pay-in screen. Joining and claiming a reward are separate calls; the pay-in deep link carries the offer code.

    Auth: Authorization: Bearer access_token.

    • offerId
    • promoCode
    • templateId
    • selectedAccountCurrency
    • claimDeeplink
    • expireTime
    • status
    • tasks
    • progress
    • isAvailableToJoin
    • iconUrl
    GET /v1/promotions/offers HTTP/1.1
    Authorization: Bearer <access_token>
    {
      "offers": [
        {
          "offerId": "STAY2TRADE",
          "promoCode": "STAY2TRADE",
          "templateId": 25,
          "selectedAccountCurrency": "USD",
          "claimDeeplink": "olymptrade://payin?offer_code=STAY2TRADE",
          "expireTime": 1713000000000,
          "status": "available",
          "tasks": [],
          "progress": 0,
          "isAvailableToJoin": true,
          "iconUrl": "https://cdn.example/offers/stay.png"
        }
      ]
    }
  • Public trader profile

    GET /v1/traders/profile osint

    Returns the trader's public profile — display name, avatar and countryId — when the trader has made the profile public.

    Auth: Authorization: Bearer access_token (own profile) or public lookup by user.

    • isPublic
    • user
    • name
    • avatarUrl
    • countryId
    • statistics
    GET /v1/traders/profile HTTP/1.1
    Authorization: Bearer <access_token>
    {
      "isPublic": true,
      "user": {
        "name": "Ana S.",
        "avatarUrl": "https://cdn.example/avatars/ana.png",
        "countryId": "BR"
      },
      "statistics": {}
    }
  • Flex instrument conditions

    GET /v1/instruments/flex/conditions opendata

    Returns Flex trading conditions per asset — duration window, winPercent, sentiment and lock flags. Sister condition calls exist for ftt, fx and spt.

    Auth: Authorization: Bearer access_token.

    • assetId
    • assetTitle
    • group
    • precision
    • iconUrl
    • iconSvgUrl
    • disabled
    • isLocked
    • isLockedTrading
    • isFavorite
    • sentiment
    • minDuration
    • maxDuration
    • allowedFastDealsDurations
    • winPercent
    • isExtendable
    • timeOpenTrading
    • timeCloseTrading
    GET /v1/instruments/flex/conditions HTTP/1.1
    Authorization: Bearer <access_token>
    {
      "assetId": "EURUSD",
      "assetTitle": "EUR/USD",
      "group": "forex",
      "precision": 5,
      "iconUrl": "https://cdn.example/eurusd.png",
      "iconSvgUrl": "https://cdn.example/eurusd.svg",
      "disabled": false,
      "isLocked": false,
      "isLockedTrading": false,
      "isFavorite": true,
      "sentiment": 61,
      "minDuration": 5,
      "maxDuration": 3600,
      "allowedFastDealsDurations": [5, 15, 30, 60],
      "winPercent": 82,
      "isExtendable": true,
      "timeOpenTrading": 1710230400000,
      "timeCloseTrading": 1710316800000
    }

Data categories

  • balances
  • transactions
  • kyc
  • trading-history
  • offers

Where teams use this data

  • Wallet vs ticket P&L reconciliation

    A bookkeeping bot pulls OtpBalanceModel (amount, bonus, holdDeal, availableFunds, realFunds) then matches FlexDealModel amountReal/balanceChangeReal and FxDealModel realizedProfitAndLoss so demo refill and live ticket settlement stay in one ledger.

  • KYC gate before payout

    A withdrawals desk reads KycStateModel.status and kycRestrictionStatus, then only releases transaction rows whose type is withdrawal and status is completed when KYC is verified.

  • Promo join and claim tracking

    Growth ops maps OfferModel.offerId, promoCode, progress and claimDeeplink against pay-in deep links (offer_code=STAY2TRADE) to see which bonuses actually converted.

  • Public-profile geo overlay

    An OSINT board joins UserDataModel.registrationCountry with PublicProfileUserModel.countryId and the public isPublic flag to chart where traders self-report versus where they registered.

Frequently asked questions

How does Olymptrade split a trading wallet?

Each wallet exposes amount, bonus, payout, holdPayout, holdDeal, availableFunds and realFunds, with real and demo accounts listed side by side. A demo top-up returns the same balance spine plus bonusBalance.

What is on a Flex deal versus an FX deal?

A Flex deal is an expirable ticket: duration, winPercent, quoteStrike, amountReal/amountBonus and balanceChangeReal/balanceChangeBonus. An FX deal is a position: volume, displayMultiplier, realizedProfitAndLoss, unrealizedProfitAndLoss, commissionForSwap, stopLossModel and takeProfitModel.

Which KYC fields does the client keep?

The verification state carries status and kycRestrictionStatus. Document capture is delegated to a third-party identity-verification provider (Sumsub); the app also tracks further verification and user-interaction steps and caches the state on the device.

How is the session kept alive?

Password sign-in issues access_token (lifetime access_token_ttl) and refresh_access_token. A background worker renews the session before it expires, and later calls send the access token as Authorization: Bearer.

Apps similar to Olymptrade – Trading online

  • IQ Option – Trading Platform — IQ Option is a Limassol-based online broker, founded in 2013, that trades CFDs on stocks, forex and cryptocurrencies after shifting its focus from binary options.
  • Pocket Option — Pocket Option is a web and Android desk for digital-option and forex-style tickets on currencies, commodities and stocks, with a virtual-money demo, copy trading, and express or pending orders.
  • MetaTrader 4 Forex Trading — MetaTrader 4 is MetaQuotes' retail forex and CFD terminal, licensed to brokers so traders can stream quotes, chart, and send market or pending orders.
  • MetaTrader 5 — Forex, Stocks — MetaTrader 5 is MetaQuotes' multi-asset successor to MT4, covering forex, stocks and futures on desktop, web and Android terminals connected to a broker.
  • TradingView: Track All Markets — TradingView is a Supercharts charting and social-markets app for stocks, crypto, forex and futures, with optional order entry through connected third-party brokers rather than its own desk.
  • eToro — eToro is a multi-asset brokerage for stocks, ETFs, CFDs and cryptoassets, built around CopyTrader social replication rather than Olymptrade-style fixed-time tickets.
  • Investing.com: Stock Market — Investing.com is Fusion Media's quotes, charts and news site for stocks, forex, crypto and commodities — a research tape rather than an execution broker.

Topics

  • Olymptrade API
  • Olymptrade Flex deal winPercent
  • Olymptrade wallet availableFunds
  • Olymptrade KYC status
  • Olymptrade FX realizedProfitAndLoss
  • Olymptrade bonus offers promoCode
  • openData Studio

Need this app's data API integrated?

We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.

  • NDA + SOW on every engagement
  • Delivery in 3–7 days
  • Payment only after acceptance
  • Work scoped to authorized use

Get a quote