TRUEFIX STUDIO / USER GUIDE

Install, connect,
and start safely.

TrueFix connects the brokers, exchanges, market-data services, and AI services you choose. Start with research or simulation. Connect a real account only after you understand its permissions.

Current releaseThe product source repository remains private, while public Nightly installers are published through the official TrueFix GitHub Releases page. Never download the application from an unofficial source.

01 / BEFORE YOU START

Before you start

TrueFix Studio is a desktop app for market research, strategy testing, and reviewed trading actions. It does not hold your money and it does not replace your broker or exchange. Install the official Nightly build, then connect only the services you want to use.

01

Know which mode you are using

Live uses real money. Paper, Testnet, Demo, and Simulator are test modes. Keep test and real connections separate and clearly named.

02

Start without real money

First check prices, account information, and the full order flow in a test mode. Move to Live only when you understand every step.

03

Allow only what you need

Give each connection the smallest set of permissions required. Never paste an API key or password into AI chat, screenshots, or support messages.

ImportantTrueFix Studio is pre-release software. It is not investment advice and does not decide whether a trade is suitable. The account owner must verify every live action.

02 / FIRST RUN

Your first 15 minutes

  1. 1

    Open or create a workspace

    A workspace remembers your selected market and panel layout. If it cannot be restored, TrueFix opens a safe default layout.

  2. 2

    Check the status at the top

    You can enter the app even if one service is unavailable. Before using that service, wait for it to become ready or read the displayed error.

  3. 3

    Connect one test service

    Start with one market-data or test trading connection. Search for a product, check its price source, and prepare an order without sending it.

Unsigned macOS buildIf the official pre-release app is blocked because it is not yet signed, move it into Applications, then run the following command in Terminal. Use this only for a build downloaded from the official TrueFix Release; it removes quarantine metadata from that app bundle.
xattr -cr "/Applications/TrueFix Studio.app"

Words used in advanced sections

Provider means a broker, exchange, data service, or AI service. A ClientInstance is one saved connection to that service. Environment means whether that connection is a test or real-money connection. The app may use these exact names, so this guide keeps them where they help you find the matching setting.

03 / CONNECT A SERVICE

Connect a broker, exchange, or data service

In Connection management, choose Open full connection centre to open Provider Centre. Use the Add monitoring ClientInstance form to enter the instance ID, Provider slug, display name, market, product scope, and actual environment. Enter connection parameters in the on-screen Connection JSON field. Select Historical/Realtime, optionally select Connect after saving, then click Save monitoring ClientInstance. This form sets up market monitoring; it does not grant trading permission.

  • Provider-owned schemas validate settings before the instance is rebuilt.
  • Secrets are write-only. Returning to the page reveals presence, never the original value.
  • Connected does not mean tradable. Capability, entitlement, account, exact instrument mapping, environment, and health must all qualify.
  • Closed market, disconnected, unauthorized, invalid configuration, and rate-limited are distinct states.

What to check before and after saving

StageCheckPass condition
Before saveInstance name, Environment, endpoint, credential scopeSchema validates; secret comes from a password manager
After connectRuntime state, capability, entitlement, accountsCurrent evidence exists for the intended ability—not only a live socket
After selectionInstrument mapping, TradingRules, market sourceThe canonical Instrument maps exactly to this instance
Before first orderAccount, currency, environment, quantity/price incrementsA non-Live Review succeeds and both stable/original errors are visible

Create separate ClientInstances for Paper and Live at the same Provider, with unmistakable names such as broker-paper-us and broker-live-us. Avoid toggling one instance back and forth between environments.

04 / MARKET CONTEXT

Select instruments and market sources

Choose a canonical Instrument from global search. TrueFix resolves Historical, Realtime, and Trading routes independently.

FacetOwnsSwitching affects
HistoricalBars and history rangeHistorical series only
RealtimeQuote / Book / TradeDoes not clear bars or the order draft
TradingRules, account, execution routeRevalidates order fields

Keep Provider, ClientInstance, quality, and timestamps visible. When an exact mapping is absent, the route is rejected; a similar-looking symbol is never treated as the same instrument.

05 / REVIEW & RISK

Order entry, Review, and RiskGuard

Order Draft→Exact Route→Backend Review→RiskGuard→Explicit Submit→Reconcile
  1. 1

    Select the account

    Verify Provider, ClientInstance, Account, and Environment. Ineligible accounts cannot be selected.

  2. 2

    Build the order

    Order Type, TIF, quantity, price, and conditional fields come from the resolved OrderSchema.

  3. 3

    Run Review

    Check instrument, side, price, size, fee assumptions, rules, and freshness. Any field change invalidates the old review token.

  4. 4

    Submit explicitly after RiskGuard

    Submission uses a deterministic client order ID and idempotency. An unknown result is queried and reconciled—never resubmitted.

Live warningConfirm the Environment immediately before submit. Releasing a Kill Switch, refreshing the page, or reconnecting the network never resubmits an order automatically.

After submit, cancel, and amend

  • After submission, inspect acknowledgement and lifecycle under Orders. Fills should retain the same account and ClientInstance identity.
  • Cancel / Amend references the current authoritative order revision. If state changed, refresh before acting; never overwrite Provider state from a stale page.
  • If a timeout becomes uncertain, preserve the client order ID and reconcile. Unknown is neither failure nor permission to submit again.
  • External and application-owned orders remain separated. An unmapped Provider order retains its original identity.

Using the Kill Switch

The Kill Switch is backend risk state, not decorative UI. Record scope and reason, confirm affected accounts and strategies stop creating new actions, then resolve incidents, pending orders, and Provider health before release. Every new order must be reviewed again. Release never resumes or replays old intent.

06 / PORTFOLIO

Accounts, positions, orders, and fills

Portfolio reads the authoritative trading projection and filters by Provider, ClientInstance, account, and environment. Application-owned orders remain separate from external or unknown orders. A normal page refresh reads the local projection; an authoritative refresh requests Provider reconciliation.

  • Currencies are not added together without a consistent FX revision.
  • Partial or stale valuation remains marked and is never presented as complete equity.
  • After a Provider disconnect or environment switch, the old account domain no longer participates in current actions.

07 / INTELLIGENCE

From Observation to Evidence

Intelligence presents Observations, Signals, Composite Indices, Evidence, and historical Replay. Inspect current value, baseline, deviation, confidence, freshness, and source diversity, then return to original evidence through the timeline.

A Signal is an auditable analytical result—not a confirmed fact—and never creates an order directly. Only the explicit “Open in chart” action brings a related Instrument into the trading workspace.

TrueFix Studio Intelligence interfaceOpen full resolution ↗

08 / AGENT

Configure and use Agent

Agent is a constrained operating assistant—not an autonomous trader with account authority. It reads instruments, markets, news, Signals, accounts, and Quant state through authorized TrueFix tools. Trading requests can only produce reviewable proposals. Tool availability may differ between test builds; the run timeline is the source of truth.

A. Configure a model first

Enter the API Key and model ID in the Desktop Settings → AI form and save. JSON model request parameters belong in the on-screen input field; the app saves them.

  1. 1

    Open Settings → AI

    Select Add under “AI trading agents.”

  2. 2

    Enter the connection

    Set a display name, Provider (OpenAI / Anthropic / Google / Custom), API Key, and model ID. Enter Base URL only for a compatible custom gateway.

  3. 3

    Check extra parameters

    Model request parameters must be a JSON object, such as {"enable_thinking": false}. Keep {} when unused; never place a secret there.

  4. 4

    Enable and save

    When editing an existing Agent, leave API Key blank to retain the stored key. Confirm the enabled status after saving.

Credential boundaryEnter API keys in the Desktop Settings → AI form. Never put them in an Agent conversation, Web URL, screenshot, or ticket. The browser does not receive raw Provider or model credentials.

B. Complete one safe session

  1. 1

    Open Agent

    Use the bottom command bar in Desktop, Web Desktop, or H5. Create a session and select an enabled model.

  2. 2

    State the scope

    Name the instrument, venue, time range, preferred source, and goal. For account work, state the Environment; begin with Simulator or Testnet.

  3. 3

    Read the run timeline

    Check admission, model, tool, approval, and final states. Verify Provider, ClientInstance, timestamps, freshness, and evidence on tool results.

  4. 4

    Review—do not rubber-stamp

    Separate facts, inference, and correlation. If data is stale, degraded, denied, or incomplete, narrow the request or repair the source first.

  5. 5

    Handle a trade proposal

    Inspect instrument, side, size, account, environment, expiry, and evidence on the Approval Card. Approval still leads through Review, RiskGuard, and explicit submission; rejection or expiry places no order.

ResearchCompare AAPL volatility and volume over the last 20 sessions. Cite source timestamps and list what cannot be verified.
AccountRead the Paper account only. Summarize concentration, open orders, and realized/unrealized P&L. Do not initiate a trade.
Trade rehearsalDraft a Simulator limit order for this instrument. Show route, rules, risk, and the approval card first; do not approve it for me.
Agent boundaryAgent has no arbitrary shell, native plugin, or direct Provider SDK access. Unattended Live automation is disabled in the first release. Instructions embedded in news or webpages are not authorization.

09 / QUANT & AUTOMATION

Deterministic runtime, replay, and Triggers

Quant strategies run or replay against fixed data, trading calendar, fees, slippage, seed, and revision inputs. Agent may help draft a declarative Trigger, but it must be validated, replayed on history, and explicitly approved before deployment.

Draft→Validate→Replay→Approve→Deploy→Pause / Retire
  • Select exact canonical Instruments, Providers, ClientInstances, and data kinds—not similar-looking symbols.
  • Each revision retains immutable inputs, resource limits, output, and evidence cursors. A failed new revision never replaces the active one.
  • A Trigger persists its result before waking Agent; a slow model cannot block market, Quant, or execution hot paths.
  • The headless Runtime owns jobs. Closing Desktop or Web does not stop them; reopening restores their projection.
TrueFix Studio AI and Quant interfaceOpen full resolution ↗

10 / WEB GATEWAY & ACME

Configure browser access and HTTPS

Open Desktop Settings → Web Gateway and use the on-screen form. Fill in the listening, domain, and HTTPS fields needed for the local or remote access method below; enable the Gateway and click Save and apply. The app saves and applies the settings without stopping the Desktop kernel or Provider connections. Configure DNS records and firewall rules in your DNS provider or network management interface.

A. Local access: the fastest smoke test

  1. 1

    Settings → Web Gateway

    Click Generate random password on this page and copy it immediately, or enter at least 12 characters in the custom access password field and click Change access password. Either action revokes existing Web/H5 sessions. Save and apply saves Gateway settings without changing the password.

  2. 2

    Bind only to loopback

    Choose Local HTTP under HTTPS certificate, set Listen address to 127.0.0.1 or ::1, enter the service port, enable the Gateway, and click Save and apply. Then open the access URL shown on the page.

  3. 3

    Open the displayed URL

    Enter the password. Choose “Keep me signed in” only when device persistence is wanted; it extends identity lifetime, never trading authority.

B. Remote access: prepare a domain

  1. 1

    Point DNS

    Point the A/AAAA records for studio.example.com to the Gateway's public address. Remove an incorrect AAAA record if IPv6 cannot reach the service.

  2. 2

    Set the public address

    Allowed domains contains DNS names only—no scheme, port, or path. Public access URL is the complete final https:// URL. Wildcard hosts are not accepted by the allowlist.

  3. 3

    Choose TLS

    For an existing certificate, choose Own certificate under HTTPS certificate and fill in the certificate PEM path and private key PEM path fields. For automatic certificates, choose Let’s Encrypt, enter an ACME email, and select HTTP-01, TLS-ALPN-01, or DNS-01 in the ACME validation method field. Enter the Cloudflare Zone ID and API Token for DNS-01 in this same form.

ACME methodPublic requirementBest fit
HTTP-01Public TCP 80 reaches the challenge listenerSimple host; public port 80 may forward only the challenge path to local 8080
TLS-ALPN-01Public TCP 443 reaches TrueFix directlyTrueFix owns 443; a front TLS terminator must not intercept ALPN
DNS-01Cloudflare DNS:Edit Token and Zone IDNAT, reverse proxy, or no inbound 80/443; Gateway still rejects wildcard hosts

C. Recommended ACME rollout

  1. 1

    Open Settings → Web Gateway and choose Let’s Encrypt under HTTPS certificate.

  2. 2

    Enter studio.example.com in Allowed domains and https://studio.example.com in Public access URL.

  3. 3

    Enter https://acme-staging-v02.api.letsencrypt.org/directory in ACME Directory, then fill in the ACME email, validation method, and its required fields.

  4. 4

    Enable the Gateway, click Save and apply, and check the runtime and certificate status on the page. Staging certificates are for testing and are intentionally untrusted by browsers.

  5. 5

    After testing, change the same ACME Directory field to https://acme-v02.api.letsencrypt.org/directory and click Save and apply again. Check the issuer, domain names, and expiry.

A staging certificate is deliberately untrusted; use it only to rehearse issuance and renewal. HTTP-01 must preserve the public /.well-known/acme-challenge/* path. For DNS-01, create a least-privilege DNS:Edit Token for the target Zone—never use a Global API Key.

Reverse proxyAdd only the proxy's exact IP to the Trusted reverse proxy IPs. Forwarded / X-Forwarded-* from any untrusted peer is rejected and audited. Never put Provider secrets, login passwords, cookies, or tokens in URLs or proxy logs.
No downgradeAn ACME failure never falls back to public plaintext HTTP. Renewal keeps the last valid certificate until the safety window, then remote HTTPS stops. Fix DNS, ports, or Directory and apply again.

D. Sessions, devices, and workspaces

  • Access Tokens are short lived. “Keep me signed in” uses a rotating HttpOnly Refresh Cookie; it never enters JavaScript, URLs, or access logs.
  • Review and revoke individual Web devices from Desktop settings. Sign-out, sign-out-all, password rotation, or disabling the Gateway revokes the relevant sessions.
  • A browser session accesses only its selected workspace. Use ?workspace=<id> when needed; the default is main-workspace.
  • If the access password may be exposed, generate a new one. Existing Web sessions are revoked without stopping healthy market, trading, or Provider processes.

11 / OPERATIONS & AUDIT

Operations, logs, and audit

Operations answers what happened, when, who initiated it, and what scope was affected. Logs, Audit, Activity, Health, and Incidents have different meanings: logs may rotate, trading/security audit is durable, and “no new log lines” never proves health.

ViewBest forDiagnostic hint
ActivityRecent user-visible actionsConfirm the command was admitted
LogsTime, level, target, stable error codeFilter by correlation ID, ClientInstance, and time window
AuditActor, scope, reason, before/after revision, resultTrace trading, approval, configuration, and security
HealthProvider, queue, storage, runtime freshness/lag/retryMissing evidence must not appear green

Before filing an issue

  1. 1

    Record time and environment

    Include display timezone, Environment, Provider, and ClientInstance. Keep only a redacted account suffix.

  2. 2

    Capture stable evidence

    Keep error code, correlation ID, order/client order ID, revision, and freshness. Exclude API keys, cookies, and full account numbers.

  3. 3

    Describe expected vs actual

    List reproducible steps and state whether Live, an external order, or financial consequence was involved.

macOS logsMain and Web access logs rotate by date under ~/Library/Application Support/truefix-studio/logs/. Access logs contain IP and User-Agent data; minimize retention and verify redaction before sharing.

12 / STATUS GLOSSARY

Read state without turning unknown into zero

Loading

A projection is being fetched; retained content or a skeleton is not failure.

Empty

The authoritative query succeeded and currently has no records.

Unavailable

A capability, permission, mapping, or service is absent; the action cannot run.

Stale

Last-good data exists but exceeded its freshness threshold; inspect as-of time.

Degraded

Some sources or facets failed; clearly identified remaining abilities may still work.

Rejected

Schema, authorization, rules, or RiskGuard explicitly denied the request.

Reconciling

TrueFix is comparing its projection with Provider authority; keep current state pending confirmation.

Uncertain

The Provider may have accepted a request but the response is unknown; query recovery only.

Read every state with its source, as-of, revision, and stable code. One stale facet does not make the whole application unavailable, and a green connection dot does not prove account, instrument, and execution-route eligibility.

13 / ARCHITECTURE

Architecture and data boundaries

DesktopWebAI ToolsHeadless Quant
CANONICAL APPLICATION CONTRACTSInstrument · Market Data · Trading · Risk · IntelligencePROVIDER-OWNED ADAPTERS + RUNTIME EVIDENCE
Market DataBroker / ExchangeSignal SourcesFIX

The browser is not the authority for instruments, accounts, orders, market data, risk, or AI/Quant. Every entry point shares canonical contracts and retains original adapter provenance. The UI does not manufacture missing data, silently mix Providers, or hard-code capability by Provider name.

14 / TROUBLESHOOTING

Common questions

Agent is empty or cannot send

Return to Settings → AI and confirm at least one saved Agent is enabled. Check the API Key, model ID, and optional Base URL. A custom gateway also requires valid JSON object request parameters.

An Agent tool is denied or waiting for approval

Check the tool grant, account/instrument scope, and expiry. Trade submit, cancel, and replace always require owner approval; expired authorization, changed arguments, or the Kill Switch fails closed.

Connected, but trading is unavailable

Check Environment, trading capability, entitlement, account status, exact Instrument mapping, TradingRules, and freshness. Connection alone is not eligibility.

Historical bars appear, but realtime quotes do not

Historical and Realtime are separate facets. Check realtime source selection, subscription entitlement, source health, and whether the first Tick has arrived.

The order cannot submit after Review

A field, route, account, or rules change may invalidate the token. Run Review again and use both the stable error code and original Provider message.

Submit timed out and the result is unknown

Keep the client order ID and query Orders / Reconciliation. Do not click submit again or create a duplicate order.

Remote Web access does not open

Read configured/effective Gateway state and last_error first. Then check Listen address, service port, A/AAAA, firewall, and TLS. For HTTP-01 test public 80; for TLS-ALPN-01 ensure 443 reaches TrueFix directly; for DNS-01 check Zone, Token, and TXT propagation.

The certificate was issued but the browser does not trust it

Confirm the Directory was changed from staging to production, the host appears in certificate SAN, client time is correct, and a reverse proxy is not still serving an old certificate.

The page shows stale / unavailable / degraded

Inspect the affected facet and timestamp. Last-good data is not necessarily fresh, and a failed query is not an empty result.