Titandocs

Glossary

The vocabulary that shows up across every service, and the places two names mean the same thing.

Identity & custody

TermMeaning
PartyCanton identity, Hint::Fingerprint. The fingerprint binds it to a public key.
VaultDaml contract holding locked collateral for one operator.
OperatorThe party that owns the vault, approves withdrawals, submits manifests.
Session keyEphemeral Ed25519 keypair signing orders. Expires; never touches custody.
Withdrawal counterPer-party nonce; the replay defence on withdrawal requests.

Trading

TermMeaning
MarketA perp, e.g. BTC-USDCX. The engine symbol, used verbatim everywhere.
szDecimalsSize grid exponent. Size must be an exact multiple of 10^-szDecimals.
minNotionalMinimum price × size — enforced on the opening leg only.
Reduce-onlyAn order that can only shrink a position. Exempt from minNotional.
TriggerA TP/SL entry. Lifecycle: armedcancelled | fired.
Position epochA positionId lifetime. A flip ends one and starts another.
Maintenance margin fractionEquity ratio below which liquidation is eligible.
FundingPeriodic long↔short payment pulling mark toward index.

Off-chain plumbing

TermMeaning
WALThe engine's signed write-ahead log. Source of truth for the indexer and the firehose.
FirehoseThe engine's admin SSE stream of WAL events, bearer-gated.
ProjectionA BFF in-process transform turning WAL events into domain frames.
seqMonotonic WAL sequence number. Pagination and lag measurement both use it.
MirrorThe Postgres copy of engine state written by the indexer (engine_* tables).
LeafOne fill, as a merkle tree entry.
UserBatchOn-chain commitment of one user's leaves for a cadence window.
BatchManifestOn-chain commitment of all UserBatch roots for that window.

Same thing, two names

These are the aliases that cause real bugs when someone assumes they are distinct — or assumes they are interchangeable when they are not.

In the engineIn the interfaceNote
BTC (oracle asset)CBTC (registry key)Reconciled once, in resolveTokenKey.
USDCX / USDCUSDCXThe quote leg arrives spelled both ways.
BTC-USDCXBTC-USDCXOne dialect. Never BTC/USDCx on the wire.
market=allReserved value on engine admin order reads only.

The old BTC/USDCx WebSocket dialect is gone. The BFF compares markets= exactly, so the mismatched string matched nothing — and an ignored filter silently subscribes you to every market at once. A stream that seems "too chatty" is usually this bug.

Design system

TermMeaning
Ink ramp--t1--t4. Text hierarchy by alpha, never by hue.
Surface stack--bg--surface-3. Depth by layer, not by shadow.
Pearl buttonThe 11px default radius, --r.
Soft variant--green-soft etc. — the badge background paired with the solid text colour.
Densitycompact / comfortable / spacious, via root font-size + a multiplier.

On this page