Цифра брокер app icon

Tradernet platform · Russian brokerage

Цифра брокер runs on Tradernet — and that decides almost the whole integration

The Цифра брокер app, rebranded from Freedom Finance in early 2023 after a domestic ownership change, runs on the Tradernet trading platform — and that single fact decides almost the entire shape of the integration. Tradernet ships a public API with a published Python SDK, so we are not feeling our way blind. The work is less about discovery and more about wiring the SDK and the cabinet endpoints into something that behaves like an internal service to whatever you're building on top.

Data surfaces this app actually holds

The Цифра брокер listing names its own surfaces in plain language; the table below maps each one to where it lives in the app and what an integrator typically does with it.

DomainWhere in the appGranularityIntegrator's use
Real-time quotes"Securities in real time" feedTick-level on a full account; delayed on demoPricing engines, watch-list sync, threshold alerts
Portfolio positions"Current portfolio" screenPer-instrument, per-account, with cash legsTreasury views, performance dashboards
Order history"History of orders and non-trading instructions"Per-order, per-status, per-executionReconciliation, tax reporting, trade journals
Trade executionsTransactions made under each orderPer-fill, with timestamp and venueSettlement workflows, audit trail
IPO subscriptionsNon-trading IPO ordersPer-subscription with statusAllocation reporting, pipeline tracking
Cash & statementsWithdrawal and statement instructionsPer-instruction, dated, document-bearingCash management, accounting export
Profile updatesPersonal-information change requestsPer-request with statusKYC/AML reconciliation

How we reach them

Tradernet public API + Python SDK

The platform behind Цифра брокер exposes a documented public client and a Python SDK (the package tradernet-sdk on PyPI, per its listing). The SDK authenticates with a public/private keypair issued from the user's own Tradernet cabinet — per the SDK's own changelog, password authentication was dropped in version 2.0.0 and the keypair is the only honest entry point now. Reachable through this route: portfolio, quotes, market depth, orders, trade history, IPO orders, account info. We arrange the keypair flow with the client during onboarding; the build is then wired against that account.

Authorized interface integration on the mobile and web traffic

For surfaces the public client does not cover — the cabinet's statement download endpoints, some non-trading instruction flows, profile updates — we do an authorized traffic capture against a consenting account and document the calls. Effort is higher per endpoint because each one is confirmed during the build. Durability is lower because cabinet front-end changes can move things; we keep a scheduled smoke-check against a demo account so a release on the broker's side surfaces in our monitoring before it surfaces in your data.

User-consented native export

The Tradernet web cabinet produces brokerage statements and tax reports as PDF and Excel. For a low-frequency integration that only needs end-of-day or end-of-month figures, a credentialed scheduled export with rotation is sometimes the right fit — cheaper than streaming the live feed, easier to keep clean of personal data.

The recommendation, written out plainly: the Tradernet public API carries the spine of any live, structured-data build, and protocol analysis closes the document-shaped gap. The native export route is for the case where the customer wants statements, not a live feed.

What lands at the end of the build

For a Цифра брокер engagement the deliverables are concrete, tied to the surfaces above, and named in the contract:

  • An OpenAPI document describing the integration's outward shape (the layer your code talks to), with the Tradernet calls it maps to noted on each path.
  • Runnable source — Python or Node.js, the customer picks — for portfolio fetch, order placement, order history pull, statement download, and a WebSocket quote subscriber.
  • A protocol & auth-flow report: the keypair signing scheme, the cabinet's session cookies, the WebSocket frame format, error codes the production endpoints actually return.
  • A pytest (or Jest) suite that exercises the auth dance, a portfolio call, a quote subscription, and an end-to-end order round-trip on a demo account.
  • Interface documentation pitched at an integrator who already has the spec and the source — no marketing prose, just where the wires go.
  • Compliance and data-retention notes pinned to 152-FZ, including how the build segregates Russian-citizen personal data.

Inside the call: a Tradernet auth and quote pull

Illustrative — the exact method names and field shapes are pinned per SDK release during the build, and they are confirmed against a working Цифра брокер account before the source is signed off.

# tradernet-sdk: public/private keypair from the user's Tradernet cabinet.
# Password auth was removed in v2.0.0; keypair is the only honest entry.
from asyncio import run
from tradernet import Tradernet as tn, TradernetWebsocket as tnws

client = tn.from_config("tradernet.ini")   # keypair + endpoint, not credentials in code

# REST: slow surfaces — portfolio, order history, statements
profile   = client.user_info()             # account + positions snapshot
orders    = client.get_orders(status="all")  # full order book on the account
report    = client.broker_report(date_from="2026-05-01",
                                 date_to="2026-05-29",
                                 fmt="xlsx")  # statement, returned as a blob

# WebSocket: live surfaces — quotes and order-book stream
async def watch(symbols):
    async with tnws(client) as ws:
        async for tick in ws.quote(*symbols):
            yield tick   # { i: ticker, ltp: last, bbp: bid, bap: ask, ts: ms }

# Demo accounts get delayed, sanitised ticks; full accounts get live.
# The integration checks the account flag on connect and labels its output.
run(watch(["SBER", "GAZP", "LKOH"]))

152-FZ, CBR oversight, and consent

The regulator for Цифра брокер's substantive activity — brokerage, depository, dealer, securities management, investment advisory — is the Bank of Russia, and the description published in the app itself points readers at the CBR file under OGRN 1107746963785. Confirming the licence file before kickoff is part of how we open the engagement. The Цифра брокер entity is listed there; the older Freedom Finance name still surfaces in archive material from before the February 2023 ownership change.

Personal data is the other half. Federal Law 152-FZ governs how personal data of Russian citizens is processed and, since the 2022 amendments, requires affirmative, separately given consent per processing purpose — bundled or pre-checked consent is no longer valid. The law also imposes data localisation: recording, systematisation, storage, clarification and extraction of Russian-citizen personal data has to happen on databases located in Russia. The 421-FZ amendment that came into force in December 2024 attached criminal liability to some categories of personal-data offence, which raises the bar for how an integrator stores any broker-side identifier.

Our default posture: the integration runs against credentials the end client has issued themselves on the cabinet (keypair, scoped, revocable), nothing leaves the build environment without an NDA, and persistence of any Russian-citizen identifier we touch during the engagement is hosted where the client's compliance officer points us. The dependable basis the integration rides is the customer's own authorization — granted, recorded, revocable — not a vendor-side promise.

Edge cases we plan for

Four things on a Цифра брокер build that are easy to miss and that the studio handles as part of the work:

  • Demo vs. full account drift. The app exposes a demo terminal that returns delayed, sanitized market data, and a real account that returns live ticks. We make the integration self-declare the account class on connect and label its quote output accordingly, so a tester running on demo can't be mistaken for a production user running live.
  • WebSocket session churn. The quote channel holds for the duration of authenticated activity but drops on idle or on a network blip. We layer reconnect with exponential backoff, resume the subscription set after a drop, and surface a single connection-state event upward instead of leaking raw socket churn to the consumer.
  • Statement documents are not a feed. The cabinet returns brokerage and tax statements as PDF or Excel documents, not as a structured stream. We treat document ingest as a separate path with an explicit parse step, kept apart from the live REST surface — so a vendor formatting change in a PDF template doesn't ripple into the rest of the build.
  • Two legal names, one register entry. Mid-2023 the entity rebranded from Freedom Finance to OOO Цифра брокер while keeping OGRN 1107746963785; some older confirmations, support threads and certificate chains still say Freedom Finance. We accept both string forms wherever the integration parses statements or matches the regulator's register, so the build doesn't silently fail on historical data.

Engaging the studio for this build

A Цифра брокер integration of the shape above — the surfaces in the snapshot, Python or Node.js source, tests, OpenAPI doc — ships in one to two weeks from kickoff. For a one-time source-code delivery the price starts at $300; you pay after we hand over the source, the tests, and the documentation, and after you've actually run them. If hosting it yourself isn't appealing, we run the integration on our side as a pay-per-call API instead: send requests, pay per call, nothing up front. Either path ends at the same place — send the app name and the surfaces you need read out, in one paragraph, to our contact page, and we'll come back with a concrete plan and an access checklist we work through together.

Interface evidence

Public store screenshots of the surfaces this brief is built around. Click to enlarge.

Цифра брокер screenshot 1 Цифра брокер screenshot 2 Цифра брокер screenshot 3 Цифра брокер screenshot 4 Цифра брокер screenshot 5
Цифра брокер screenshot 1 enlarged
Цифра брокер screenshot 2 enlarged
Цифра брокер screenshot 3 enlarged
Цифра брокер screenshot 4 enlarged
Цифра брокер screenshot 5 enlarged

How this brief was put together

What was opened and when. The CBR licence file under OGRN 1107746963785 was read to confirm the entity behind Цифра брокер. The Tradernet Python SDK documentation and the tradernet-sdk PyPI listing were opened to confirm the keypair auth model and the WebSocket interface. The October 2022 ownership change from Freedom Finance was checked against the company's own news note. The 152-FZ summary was checked against the published law text and the December 2024 421-FZ amendment.

Mapping put together by the OpenBanking Studio integration desk — May 2026.

If the goal is a single read-out across more than one broker on the Russian market, these are the apps that tend to appear in the same brief. Listed for orientation, not ranking.

  • Tinkoff Invest — the largest retail broker app in Russia by registered clients; offers its own published REST/streaming Invest API for portfolios, orders and quotes.
  • Sber Investor — the broker arm of Sberbank with its own mobile terminal; data routes are mostly cabinet-driven, with statement-based export covering most reporting needs.
  • VTB My Investments — VTB's retail trading app; runs alongside the QUIK terminal, with broker reports as the practical export surface.
  • Finam Trade — Finam's mobile app, sitting on its own platform; the firm has been operating since 1994 and publishes its own trading API.
  • BCS Mir Investitsiy — BCS Financial Group's retail app, with a separate professional-tools track.
  • Alfa-Investitsii — Alfa-Bank's brokerage app, with global-market access alongside MOEX coverage.
  • Otkritie Broker — broker app from Otkritie's investment arm, predominantly MOEX-focused.
  • ATON Lider — broker app from ATON, an older independent Russian broker.
  • QUIK Android — not a broker per se but the trading terminal a lot of Russian brokers white-label; a unified read-out frequently has to deal with it sitting underneath several names.

Questions integrators ask about Цифра брокер

Does the build need a live Цифра брокер account, or can it run on demo?

The demo terminal gives delayed, sanitized market data, but the portfolio and order surfaces still respond — most of the build runs there. We promote to a real, customer-supplied account only when we need to confirm live timestamps and the real-money order path.

Where does OOO Цифра брокер sit on the Bank of Russia register?

On cbr.ru under OGRN 1107746963785, per the description published by the app itself. The entity name in the register is OOO Цифра брокер (until early 2023 it appeared as Фридом Финанс); older statements still carry the Freedom Finance name and the build accepts both string forms.

What changes when 152-FZ data localization is in scope?

Russian-citizen personal data has to be recorded, systematized and stored on databases located in Russia. For a Цифра брокер integration the personal data in motion is mostly account identifiers and statement contents — we wire storage, backups and logging to land where the client's compliance officer needs them, and the late-2024 421-FZ amendment that added criminal liability for some personal-data offences is part of how we scope what gets persisted.

How does the integration treat the WebSocket quote feed vs. REST calls?

REST calls cover the slow surfaces — portfolio, order history, statements. The Tradernet WebSocket carries the live quote and order-book stream. We layer reconnect with backoff on top of the socket, resume the subscription set after a drop, and expose a single connection-state event upward so the consuming application doesn't have to handle raw socket churn.

App profile (factual recap)

Name: Цифра брокер. Package ID per its Play Store listing: ru.tradernet.terminal. Platforms: Android, iOS, RuStore, AppGallery. Operator: OOO «Цифра брокер», registered in Moscow, OGRN 1107746963785 (formerly under the commercial name Freedom Finance until the February 2023 ownership change cleared by the Bank of Russia). Backing platform: Tradernet. Activities, per the company description: brokerage, depository, dealer, securities management and investment advisory on the Moscow Exchange. Contact published in-app: shop@cifra-broker.ru; free Russia line 8-800-100-40-82. Public CBR file referenced by the app itself: cbr.ru/finorg/foinfo/?ogrn=1107746963785.

Mapping reviewed 2026-05-29.