OpenFief Give your AI agents a fief, not the kingdom.

Glossary

Domain terms#

The ubiquitous language: one term, one meaning, one code name. Use these names in code, tests, kibi requirements, commits and docs. Go names and “don’t say” entries are proposals (P).

M0#

TermContextGo name (P)MeaningDon’t say
Institutioningestingest.InstitutionA broker, bank or registry that holds assets: IBKR, XTB, the treasury bond registry.broker (for the registry)
Accountledgerledger.AccountOne account at an institution, such as one IBKR linked account. Belongs to one sleeve.portfolio
Ledger accountledgerledger.BookA double-entry account inside an account: cash per currency, a holding per instrument, fees, withholding tax, FX, and equity: the counterpart of what enters or leaves the account from outside (deposits, withdrawals, opening lots). The Go name avoids the ledger.LedgerAccount stutter that lint rejects.“account” alone
Transactionledgerledger.TransactionOne economic event from a source. Append-only and versioned; keyed by source plus the institution’s own ID.trade, activity, operation
Postingledgerledger.PostingOne leg of a transaction. A transaction’s postings sum to zero per currency.entry, leg
Instrumentledgerledger.InstrumentSomething that can be held, identified by ISIN plus a venue symbol. A bond series is an instrument.security, ticker, asset
Holdingledgerledger.HoldingThe quantity of one instrument in one account on a date, derived from postings.position (allowed only inside connector adapters, as the broker’s word)
Lotledgerledger.LotA quantity acquired on a date at a cost; consumed FIFO. An opening lot is seeded from a broker’s current positions instead of full history.
Opening cashledgerledger.NewOpeningCashThe cash an account holds at go-live, seeded as a deposit, or a withdrawal for a negative balance, against the equity ledger account, keyed opening-cash:<currency>:<date>.opening balance
Seedingledgerapp.Ledger.SeedBringing an account into the ledger at go-live from its institution’s current state: its opening lots and opening cash (D-23). An account whose current transactions include either is seeded, and seeding it again is refused unless nothing would change.bootstrap, initial import
Balance assertionledgerledger.BalanceAssertionA broker-reported balance on a date that the derived balance must match; a mismatch is an error.snapshot
Assertion checkledgerapp.AssertionCheckA balance assertion with the result of its latest check: matched, or flagged with the derived balance when they differ. A flagged check is an error for the owner to resolve; the import that found it is kept.reconciliation
Model portfolioportfolioportfolio.ModelAn optional weighted basket of targets for the whole portfolio, which the real portfolio is compared with. Entered by the owner in M0; GR-4’s maintainer agent adjusts it from M2.strategy, benchmark
Targetportfolioportfolio.TargetOne instrument or index in the model portfolio, with its weight. The weights sum to 100%.allocation
Backtestportfolioportfolio.BacktestThe model portfolio’s value series computed from end-of-day history, rebalanced to the target weights once a year.simulation
Max drawdownportfolioportfolio.MaxDrawdownThe worst fall from a peak to a later trough in a value series, with both dates.max loss
Sleeveportfolioportfolio.SleeveA part of the portfolio with one sleeve kind and one role, which defaults to the kind’s. Defensive: not available to agents. Offensive: the part fiefs are leased from. A sleeve is offensive in a defensive kind only when the owner explicitly overrides it.bucket
Sleeve kindportfolioportfolio.KindA named category of sleeve with a default role, such as core, bonds, retirement or agent-pool. Built-in kinds come with OpenFief; the owner can add and rename kinds, but a kind’s default role never changes.sleeve type
Jurisdiction packjurisdictionjurisdiction.PackThe pluggable rules for one country (GR-13): bond terms, tax rules, and the default reporting currency. Poland first.locale, country plugin
Import batchingestingest.BatchOne run of a connector’s ingest path.sync
Statementingestapp.StatementFetcherWhat an institution reports about an account, as a file or a pulled document, such as an IBKR Flex Query or an xStation export. A connector maps it.report, export (alone)
Ingest modeingestingest.ModeWhat an import batch takes from a statement: opening seeds an account at go-live with opening lots and its opening cash (D-23); transactions imports transactions from go-live on. Both import balance assertions.
Mappingingestingest.MappingWhat a connector makes of one statement: transactions, balance assertions and ingest problems.
Ingest problemingestingest.ProblemA statement row the mapping left out of the ledger, with its reason: unsupported (can’t be booked yet, such as an option trade) or skipped (left out on purpose, such as a summary row). Not an error.warning
Import summaryingestingest.ImportSummaryWhat the ledger did with a batch’s mapping: new transactions, new versions, unchanged ones, and failed balance assertions.
Connector contractingestopenfief.connector.v1.ConnectorServiceThe protobuf service over Connect RPC that a connector plugin serves and the core calls (D-11, D-49): Sync pulls what the institution reported since a watermark, ImportFile maps a statement file. Each call is one import batch, with a batch ID the core generates and reuses on a retry. Not the public read API.ingest API
Deliveryingestapp.DeliveryWhat a connector returns for one import batch: its mapping, plus any prices, FX rates and index readings, and for a sync the next watermark. The core scopes its transaction keys to the connector instance.push, upload (for plugins)
Watermarkingestapp.Delivery.WatermarkWhere a connector’s next sync continues from. The connector returns it, the core stores it after importing the delivery and hands it back on the next sync; only the connector understands it.cursor, checkpoint
Connector bindingingestapp.ConnectorBindingsPermission for one connector instance to write to one account. The owner adds it with core connector bind; the core refuses, whole, a delivery that names an account its instance is not bound to.account mapping
Sync policyingestingest.SyncPolicyWhen the core syncs each connector instance (D-49): every interval after a success, with jitter, and after a failure again with a doubling backoff.cron, schedule (alone)
Index readingingestingest.IndexReadingOne published value of an index that sets treasury bond interest, as a yearly fraction: CPI year on year for a month (GUS), or the NBP reference rate from the day it takes effect. Period indices are picked from them.rate (alone)
Pricevaluationvaluation.PriceAn end-of-day price of an instrument from a market-data source.quote
Indexvaluationvaluation.IndexA market index, such as WIG20 or MSCI World, with an end-of-day level series from the market-data connector. It can be a target, but it can’t be held.benchmark
FX ratevaluationvaluation.FXRateThe value in PLN of one unit of a currency on a date, from a source; NBP table A in M0. The rate for a date is the latest one dated on or before it.
Reporting currencyvaluationvaluation.ReportingCurrencyThe currency totals, charts and the model comparison are shown in. A setting whose default comes from the jurisdiction pack: PLN for the Polish pack.base currency, home currency
Valuationvaluationvaluation.ValuationThe value of a holding on a date, with its basis and source.
Valuation basisvaluationvaluation.Basismarket, gross_accrued or net_if_redeemed.
Holding valuationvaluationvaluation.HoldingValuationThe stored valuation of one holding on one day, keyed by account, instrument, date and valuation basis: its value in the instrument’s own currency and in PLN, with the source and dates of its inputs, or the missing input that stopped it.
Revaluationvaluationvaluation.Revaluation, app.RevaluerRebuilding an account’s holding valuations from a date to today, from the transaction log, prices, FX rates and index readings. Any change to those inputs enqueues one in the same database transaction, and pending ones coalesce per account from the earliest date.recalculation, refresh
Missing inputvaluationvaluation.MissingReasonA price, FX rate or index reading that a holding valuation needed and did not have. The holding valuation records the gap instead of failing the revaluation.
Valued-through datevaluationapp.ValuationStatus.ValuedThroughThe last day up to which every holding of an account has a valuation: the day before its first missing input, or today.
Index readingvaluationvaluation.IndexReadingOne published reading of a period index for one month: CPI year on year for the month it measures, or the NBP reference rate for the month whose interest periods it sets.
Bond seriesjurisdiction/plpl.SeriesA Polish retail treasury bond series code, such as EDO0536 (EDO maturing in May 2036). Valuation uses it through jurisdiction/pl’s rules.bond (ambiguous)
Bond typejurisdiction/plpl.BondTypeThe product a bond series belongs to, named by the code’s first three letters: OTS, ROR, DOR, TOS, COI, EDO, ROS, ROD. Fixes the term, interest period, indexation and payout.series (for the type)
Series termsjurisdiction/plpl.TermsWhat one series’ issue letter fixes: first-period rate, margin and early-redemption fee. Data supplied per series, never hard-coded.
Interest periodjurisdiction/plpl.PeriodStartOne period of a bond’s interest, counted from its own purchase date: a month (ROR, DOR), three months (OTS) or a year.coupon period (for capitalized types)
Period indexjurisdiction/plpl.IndicesThe published reading that sets an interest period’s rate after the first: CPI year on year for inflation-indexed types, the NBP reference rate for ROR and DOR.
Marginjurisdiction/plpl.Terms.MarginThe fixed rate a series adds to its period index.spread
Early-redemption feejurisdiction/plpl.Terms.EarlyRedemptionFeeThe per-bond fee for redeeming before maturity, capped at the bond’s accrued interest except for coupon types after their first interest period, and not charged on a withdrawal from IKE or IKZE. OTS has none: redeemed early, it earns no interest.penalty
Exchange pricejurisdiction/plpl.Purchase.PriceThe price per bond of a series bought by exchanging (zamiana) maturing bonds, set in its issue letter: usually 99.90 PLN, 100 PLN for OTS. The discount below the nominal is taxed with the interest.rollover price
Tax wrapperjurisdiction/plpl.TaxWrapperThe tax regime of the account a lot is held in: taxable, IKE or IKZE.account type
Lot valuejurisdiction/plpl.LotValueA bond lot’s statutory value on a date: gross accrued value, and net-if-redeemed value after the early-redemption fee and Belka tax on interest minus the fee plus any purchase discount.
Connectoringestingest.ConnectorA plugin that brings data in through an ingest path.integration
Viewviewsviews.ViewA plugin that presents the canonical record elsewhere and never writes back.sync, export
Read APIviewsviews + connectapiThe public, read-only API: the openfief.views.v1.ReadService protobuf service, served as Connect and transcoded to REST under /v1 (D-50).
Allocationviewsviews.AllocationThe portfolio’s value in the reporting currency on a date, split into groups by asset class, currency, institution or sleeve (D-30).breakdown
Allocation itemviewsviews.AllocationItemOne valued holding or cash balance of an account on a date: what an allocation groups.position
Asset classviewsviews.AssetClassThe kind of asset an allocation item is: cash, treasury_bond (a bond series) or listed (any other instrument: a stock or ETF in M0).asset type
Date totalviewsviews.DateTotalThe sum of the stored valuations dated on one date, in the reporting currency and per original currency.
Pluginpluginsplugins.PluginThe custom resource for one installed, named instance of a plugin image: the image and its manifest (the vendor’s) and the instance’s name and config (the owner’s). Its status says whether the image is verified.extension, addon
Grantpluginsplugins.GrantThe custom resource holding what the owner approved for a plugin.permission set
Catalogpluginsplugins.CatalogThe file in the OpenFief repository that lists first-party and verified plugins, with pinned image digests and signer identities.marketplace, registry
Verified pluginpluginsplugins.VerifiedA plugin whose catalog entry pins a version the author reviewed. Anything installed by image reference alone is unverified.official, trusted
Trusted signerpluginsplugins.SignerAn identity whose image signatures the operator accepts: OpenFief’s CI, a catalog publisher, or one the owner added.
Signer identitypluginsplugins.SignerIdentityWho made a signature: for a keyless signature, the OIDC issuer and subject in its Fulcio certificate (such as a GitHub Actions workflow at a ref); otherwise a public key.key ID
Trust policypluginsplugins.TrustPolicyEvery trusted signer plus the catalog. It decides whether a signed image is a verified plugin, unverified but signed by a trusted signer, or refused. Nothing overrides a refusal.allow-list (that is egress)
Manifestpluginsplugins.ManifestA plugin’s declared capabilities, egress hosts, secrets, data tiers and config schema.
Egress allow-listpluginsplugins.EgressAllowListThe hostnames a plugin may reach through the egress proxy.whitelist
Capabilitypluginsplugins.CapabilityWhat a plugin may act as: connector or view in M0. Declared in its manifest and approved in its grant.kind, role
Egress hostpluginsplugins.EgressHostOne hostname and port in a manifest, grant or egress allow-list. Never an IP address or a wildcard.domain, URL
Egress decisionpluginsapp.EgressDecisionThe egress proxy’s answer to one plugin’s HTTP CONNECT: the plugin, the destination, whether its egress allow-list allows it, and why. Resolved addresses are checked separately, before dialing.ACL verdict
Data tierpluginsplugins.DataTierA named class of data a plugin asks to see. Only a name in M0; what each tier holds is undecided (P-33).
Image referencepluginsplugins.ImageRefA plugin’s container image, pinned by digest (repository@sha256:...), never by tag.image tag
Effective permissionspluginsplugins.EffectivePermissionsWhat OpenFief enforces for a plugin: only what its Plugin requests and its Grant approves.
Workloadpluginsplugins.WorkloadWhat the operator creates for one plugin, compiled from its effective permissions: identity, token, Secret mounts, environment, NetworkPolicy and egress allow-list.deployment (the Kubernetes object is one part)
Rolloutpluginsplugins.RolloutWhich version of a plugin runs under its grant: the current one, the previously deployed one while an upgrade waits for approval, or none.deployment (the Kubernetes object)
Pending approvalpluginsplugins.Rollout.PendingWhat a plugin’s current version requests that its grant does not approve. The owner approves it by adding it to the grant.diff
Plugin identityidentityplugins.ServiceAccountNameThe ServiceAccount plugin-<name> in the openfief namespace, proven to the core by its projected token with audience openfief-core, and to the egress proxy by a second one with audience openfief-egress.
Signing keyspluginsplugins.SigningKeysThe cluster’s ServiceAccount token issuer and the public keys that verify its tokens. The operator publishes them in the ConfigMap openfief-sa-jwks, which every plugin mounts, so a plugin can check the core’s token without reaching the Kubernetes API (D-59).JWKS (that is their file format)
Owneridentityidentity.OwnerThe person who runs an installation: one individual investor.user, customer
Script tokenidentityidentity.ScriptTokenA scoped, expiring, read-only personal API token.API key
Script token secretidentityidentity.FormatSecretWhat a script presents as its bearer token: ofs_, the script token’s ID, _ and a random key. Shown once when the token is issued; only the SHA-256 hash of the key is stored.API key, password
Currencykernelkernel.CurrencyAn ISO 4217 alphabetic code, such as PLN or USD.
Moneykernelkernel.MoneyAn exact decimal amount in one currency. It keeps its original currency; arithmetic across currencies is an error, and conversion is an explicit FX step in valuation.
Quantitykernelkernel.QuantityAn exact, possibly fractional number of units of an instrument.
Datekernelkernel.DateA calendar date with no time of day or time zone, written YYYY-MM-DD.timestamp
Demo datasetdemo (not a context: tooling)demo.DatasetA synthetic portfolio with about a year of history and its valuation inputs, generated from a seed and a date, for showing OpenFief on a demo database. Its instruments have synthetic ISINs; only public data is real: bond series terms, GUS CPI and NBP rates. Loaded by cmd/demo-seed, which refuses any database without its demo marker that already holds data.sample data, test portfolio
Demo markerdemo (not a context: tooling)demo.DatabaseStateThe row demo = true in the demo schema that marks a database as a demo database. Only the demo loader writes it, and only a marked database may be reset.

Later milestones#

Don’t create code for these before their milestone.

TermMeaning
Fief (lease)A revocable capital lease from the offensive sleeve to one agent for one thesis, with hard limits. In feudal Europe, a fief was land a lord granted to a vassal in return for service, revocable on breach.
ThesisAn investment idea with a horizon and invalidation conditions that one or more agents work on.
AgentOne running instance of an agent plugin, spawned for one thesis.
IntentAn agent’s structured request to trade (instrument, side, size, limit price, thesis, invalidation conditions), sent to the gateway instead of a broker order.
OrderThe broker order the gateway creates from an approved intent.
FillOne execution against an order.
Policy decisionThe result of evaluating an intent: allow, deny or needs approval, with the rules matched.
Audit eventOne append-only record of a state change.
Invalidation conditionA condition stated up front that would prove a thesis wrong, such as a price level or a fundamental change.

Rules#

  • A new domain term goes here first, in the same change as the code that introduces it.
  • Broker vocabulary (position, trade, conid, symbol quirks) stays inside connector adapters. Translate at the boundary; that’s the anti-corruption layer.
  • One name per concept across contexts. If two contexts need different meanings, name them differently; never overload a term.

Other terms and abbreviations#

TermMeaning
A2AAgent2Agent protocol: an open protocol for agents to talk to each other and to orchestrators. Introduced by Google in 2025, now hosted by the Linux Foundation. MCP connects an agent to tools; A2A connects agents to agents.
ADVAverage daily volume: mean shares (or value) traded per day. A minimum ADV filter keeps agents out of instruments a small order could move.
AGPL-3.0GNU Affero General Public License v3: copyleft that also triggers on network use, so running modified code as a service obliges you to publish the source.
APIApplication programming interface.
Belka taxPoland’s flat 19% tax on capital income, named after Marek Belka, the finance minister under whom it was introduced.
Capability tokenA token that is the permission: holding it lets you do exactly what it encodes. Macaroons and Biscuit let a holder attenuate a token, narrowing it but never widening it. The idea goes back to capability-based security (Dennis and Van Horn, 1966).
CASCompare-and-set: write only if the stored value or revision is still what you read. Originally a CPU instruction (IBM System/370).
CFDContract for difference: a leveraged derivative that pays the price change of an instrument without ownership. XTB’s main product.
Circuit breaker (drawdown)An automatic stop that suspends trading once losses from a peak (the drawdown) pass a limit.
Client Portal Web APIIBKR’s REST-style web API.
CloudNativePG (CNPG)A Kubernetes operator that runs PostgreSQL, including backups to object storage.
ClusterIP / port-forwardA ClusterIP Service is reachable only inside the Kubernetes cluster; kubectl port-forward tunnels it to your own machine.
CNIContainer Network Interface: the cluster’s network plugin. NetworkPolicy works only if the CNI enforces it.
COI / EDO / ROS / RODPolish retail treasury bond types indexed to inflation after the first year: COI 4-year with yearly coupons, EDO 10-year, and the family bonds ROS 6-year and ROD 12-year, all three capitalized yearly.
Connect RPCA protocol by Buf: the same protobuf service can be called as gRPC or as plain HTTP with JSON.
cosign / SigstoreSigstore is an open project for signing software; cosign is its tool for signing and verifying container images. Keyless signing ties a signature to a CI identity instead of a long-lived key.
CPIConsumer price index; the inflation measure published by GUS.
CRD / operatorA CustomResourceDefinition adds a new resource type to Kubernetes; an operator is a controller that turns those resources into running workloads.
CSPContent Security Policy: a browser header that restricts where a page may load scripts and data from.
DCODeveloper Certificate of Origin: contributors certify they may submit their change with a Signed-off-by line, instead of signing a contributor license agreement.
Digest pinningReferring to a container image by the hash of its content (image@sha256:...) rather than a mutable tag such as :latest.
Double-entry bookkeepingEvery transaction is recorded as postings that sum to zero across accounts, so money never appears or vanishes; documented by Luca Pacioli in 1494.
Egress proxyA proxy that all outbound traffic from a set of pods must pass through, so destinations can be allowed by hostname rather than IP.
End of day (EOD)Prices or rates as of each trading day’s close.
EODHDEOD Historical Data, a market-data vendor; the first market-data connector uses it.
ESMAEuropean Securities and Markets Authority, the EU securities regulator.
etcdThe key-value store that holds a Kubernetes cluster’s state, including Secrets.
FIFOFirst in, first out: the oldest lots are treated as sold first when computing gains.
Flex QueryIBKR’s configurable reporting export (trades, positions, cash), retrievable through a web service with a token.
Frontier modelThe most capable models from the large labs, typically cloud-hosted.
GPWGiełda Papierów Wartościowych w Warszawie, the Warsaw Stock Exchange.
GUSGłówny Urząd Statystyczny, Statistics Poland.
HITLHuman in the loop: a person must approve before the system acts.
htmxA small JavaScript library that lets server-rendered HTML pages update parts of themselves without a front-end framework.
HTTP CONNECTThe HTTP method a client uses to ask a proxy to open a tunnel to a named host and port; HTTPS runs inside the tunnel, so the proxy sees the hostname but not the content.
IB Gateway / TWSTrader Workstation (TWS) is IBKR’s desktop trading platform; IB Gateway is its headless variant. Both expose the TWS API.
IBKRInteractive Brokers.
Issue letter (list emisyjny)The Minister of Finance’s document that sets one bond series’ terms and how its interest and value are computed.
IKE / IKZEPolish tax-advantaged retirement accounts with annual contribution limits. IKE: gains tax-exempt if withdrawal conditions are met. IKZE: contributions deductible, withdrawals taxed at a reduced flat rate.
IngressThe Kubernetes resource that exposes an HTTP service outside the cluster.
JWT / JWKSA JSON Web Token (RFC 7519) is a signed set of claims, such as issuer, subject, audience and expiry; Kubernetes ServiceAccount tokens are JWTs. A JSON Web Key Set (RFC 7517) is a JSON list of the public keys that verify them.
kind / k3d / k3skind and k3d run Kubernetes clusters in containers for testing; k3s is a lightweight Kubernetes distribution.
KNFKomisja Nadzoru Finansowego, the Polish Financial Supervision Authority.
KVKey-value store.
Limit orderAn order that executes only at a stated price or better.
Linked accountAn IBKR account linked under one user, with its own cash, positions and buying power.
LLMLarge language model.
MCPModel Context Protocol: an open protocol, introduced by Anthropic in 2024, through which a model or agent calls tools and reads resources.
MiFID IIThe EU Markets in Financial Instruments Directive (second version), which defines investment advice and portfolio management.
Model routerThe component that decides which model serves each role and which data tiers it may receive.
NATS / JetStreamNATS is an open-source messaging system; JetStream is its persistence layer (streams, KV, object store).
NBP reference rateThe National Bank of Poland’s main policy interest rate, which sets ROR and DOR interest.
NBP table AThe National Bank of Poland’s daily table of average exchange rates, used to convert foreign income for tax.
NetworkPolicyA Kubernetes resource restricting which pods a pod may talk to and be reached from.
NotionalThe money value of an order or position (quantity times price).
OMSOrder management system: the component that validates, routes and tracks orders.
OPA / RegoOpen Policy Agent, a CNCF policy engine; Rego is its Datalog-inspired policy language.
Paper tradingTrading against a simulated account with fake money.
OTS / ROR / DOR / TOSPolish retail treasury bond types: OTS 3-month fixed, ROR 1-year and DOR 2-year with monthly coupons at the NBP reference rate plus a margin, TOS 3-year fixed and capitalized yearly.
PIT-8CThe annual statement of capital income that Polish brokers issue to clients and the tax office.
PIT-38The Polish annual tax return for capital gains (securities, derivatives).
PIT/ZGThe PIT attachment that declares foreign income, one per country.
PKO BPPKO Bank Polski, the bank that distributes Polish retail treasury bonds.
Pod modelHow multi-manager hedge funds run: capital is allocated to independent teams (pods) with risk limits, increased on a good record and cut on drawdown.
Projected ServiceAccount tokenA short-lived token that Kubernetes mounts into a pod, scoped to one audience and verifiable against the cluster’s issuer.
Prompt injectionText that a model reads as data but follows as instructions, such as a news article telling a trading agent to buy.
PWAProgressive web app: a website installable on a phone like an app.
RBACRole-based access control: in Kubernetes, Roles and ClusterRoles define what an identity may do.
Reader / decider splitOne model reads untrusted text and emits typed notes; a separate decider sees only those notes.
Reconcile loopThe Kubernetes controller pattern: repeatedly compare desired state with actual state and act to remove the difference.
RP IDRelying-party ID: the domain a WebAuthn passkey is bound to.
SDKSoftware development kit: the libraries plugin authors build on. OpenFief’s are sdk/go (a separate Go module) and, later, sdk/ts, Apache-2.0 like the contracts (D-5).
SmokescreenStripe’s open-source egress proxy, written in Go, which checks each client’s HTTP CONNECT destinations against a per-client allow-list.
TIFTime in force: how long an order stays working (for example day, or good-till-cancelled).
TokenRequest / TokenReviewKubernetes APIs: TokenRequest issues a short-lived ServiceAccount token for a chosen audience; TokenReview checks whether a token is valid.
TWR / MWRTime-weighted return chains the returns between cash flows, so deposits and withdrawals don’t count as performance; it is the standard for comparing with a benchmark. Money-weighted return (an IRR, such as XIRR) weights by the money invested, so it reflects the investor’s timing.
VanguardA Go library by Buf that serves one Connect service as REST, gRPC and Connect, translating between them (transcoding).
VWAPVolume-weighted average price.
WebAuthn / passkeyThe web standard for public-key authentication; a passkey is a WebAuthn credential stored on a device.
xAPIXTB’s former public trading API, shut down in 2025.
XTBX-Trade Brokers, a Polish broker.

Source: docs/glossary.md · last changed 2026-10-28 in c41e33c