Broker refusals and connection errors: established versus possible

When a broker refuses a login or a subscription, Senzoukria shows a notice built from the raw message: a one-line title, what is established (when anything is), the consequence and fix, possible causes by frequency, and the broker's exact wording kept for support. A cause is asserted only when the server states it.

Senzoukria · Documentation · Updated September 2026


Where to find it

Where
Banner on the footprint chart and the heatmap when a subscription or login fails; connection cards show per-capability states
Kinds
alreadySubscribed, historyBusy, subscribeRefused, loginRefused, unknown
Broker code
Shown beside the text as "Broker code {code}" — "Useful to your broker. On its own it names no cause." Code 0 is never shown
Raw message
Kept word for word, folded under "The broker's exact wording", with a "Copy the exact message" button

What it does

The refusal reader takes the raw failure string and the current contract, extracts the first rp_code it finds, and picks one of five shapes. The screen hierarchy is the confidence hierarchy: title, then what is established (visually distinct because it is the only thing the reader can take for granted), then body, consequence and fix, then possible causes preceded by the admission that none is established, then the broker's wording folded at the bottom. Only one refusal carries a certainty line: the broker itself saying the subscription already exists.

A "Try again" button appears when the host passes a retry action; the notice stays on an empty chart by default because hiding it would not fill the chart.

Refusal kinds

How each refusal is recognised and what the notice says
KindRecognised byTitle and key lines
Already subscribedrp_code 1029 or "update bit type already exists""{symbol} is already subscribed on this login" — certain: the server states the subscription exists. Fix: close other Senzoukria windows, including any in the notification area, then other platforms on the same login; a held subscription clears a few minutes after the app that held it is gone
History busy"history load is already running / in progress" (our own in-flight guard, no code)"A history load is already running for {symbol}" — the chart retries by itself; if it never clears, ⚙ → Trading Settings → Reload history
Subscription refusedThe word "subscri" in the message"The broker refused the subscription to {symbol}" — measured: login went through, subscription refused. Causes: other instance, expired contract, symbol format ({symbol}.{exchange}), market closed, entitlement
Login refused"login" or "authentication""The broker refused the login" — measured: the gateway answered, the login came back refused; wording unchanged
UnknownAnything else"This refusal has not been seen here before" — the message is shown unchanged and nothing is read into it

Capability states on connection cards

Each connection exposes five capabilities — Market data, Depth (L2), History, Account feed, Orders — and each one carries a state: idle, connecting, ready, reconnecting, error or unsupported, with a detail string and a timestamp. The overall state of the card follows: Connected, Connecting…, Reconnecting…, Error or Offline. Subscriptions are listed with their depth flag, because "the DOM does not move" is first a question of whether L2 was requested at all.

Environments are Test, Paper, Eval, Funded and Live. On a Funded account, order routing stays disabled unless the Trading toggle of the connection is switched on by hand.

Limits and pitfalls

  • The entitlement cause is removed whenever the code is 13. On that code, "insufficient rights" is the reading that turned out wrong four times in the bug register; the notice refuses to propose it even as a possibility.
  • "Refusals worded identically have had different causes here." The notice never turns a refusal into a verdict; the sentence to send is "Ask your broker, in these words: is my login enabled for {exchange} data, under which system name, and how many simultaneous sessions may it open?"
  • A free Rithmic demo cannot connect: "Rithmic does not offer the R | Protocol API to demo accounts, whatever the system name or gateway." That refusal is a product boundary, not an error to retry.
  • A subscription accepted and then silent is not an error at all on screen; the connection diagnostic is the tool for that case.

This page in other languages

Frequently asked questions

The badge says CONNECTED but the chart is empty. Is the connection broken?
Not necessarily. With an already-subscribed refusal, the connection is fine and the stream is held elsewhere — most often a second Senzoukria window or another platform signed in with the same login.
What should I send to my broker's support?
The exact wording and the broker code, copied with "Copy the exact message". Add the copy of the connection diagnostic if you ran it; neither contains your password.

Keep reading