Skip to main content
Reference
DraftLast reviewed 2026-06-23

Schema catalog

OpenTRMS validates every captured deal against a JSON schema per product and asset class. Schemas are reloadable at runtime via /api/v1/config/schemas/reload, so new products can be onboarded without a redeploy.

The table below is generated from the schemas in the backend repository — see CONTRIBUTING.md for how to regenerate it.

SchemaTitleDescription
_common/enums.jsonTRMS Common Enumerations
_common/leg.jsonTRMS Swap Leg
accounting/chart_of_accounts.jsonaccounting/chart_of_accounts.json
accounting/posting_rules.jsonaccounting/posting_rules.json
accounting/posting_rules_meta.jsonPostingRulesMeta-schema for schemas/accounting/posting_rules.json. Validates the posting rule configuration file loaded at startup by PostingRuleLoader.
approval/chains.jsonapproval/chains.json
closeout/rules.jsoncloseout/rules.json
deals/custom/rates/acme_range_accrual.jsonACME Range Accrual
deals/deposit/money_market/vanilla.jsonTerm DepositFixed-term deposit or loan. Principal + interest at maturity.
deals/extension/generic_v1.jsonGeneric Extension Deal SchemaPermissive fallback schema for client-defined extension asset class deals. Validates only the mandatory notional and currency fields; all other fields are permitted.
deals/forward/fx/ndf.jsonNon-Deliverable ForwardCash-settled FX forward for restricted currencies (BRL, KRW, INR, CNY offshore, etc.).
deals/forward/fx/vanilla.jsonFX ForwardDeliverable FX forward. Exchange of two currencies at a future date at agreed rate.
deals/fra/rates/vanilla.jsonForward Rate AgreementCash-settled agreement on a future interest rate period.
deals/option/equity/vanilla.jsonVanilla Option Deal DetailsBlack-Scholes-Merton details for a vanilla equity or equity-like option.
deals/option/fx/barrier.jsonFX Barrier OptionFX option with knock-in or knock-out barrier. Extends vanilla option with barrier conditions.
deals/option/fx/vanilla.jsonFX Vanilla OptionEuropean or American call/put on a currency pair.
deals/repo/money_market/vanilla.jsonRepurchase AgreementClassic repo: sell security near leg, buy back far leg. Overnight or term.
deals/spot/fixed_income/vanilla.jsonBond PurchaseBond purchase deal. Buy or sell a fixed-income debt security with coupon and maturity terms. Settles T+2/T+3 as a cash instrument.
deals/spot/fx/vanilla.jsonFX SpotSpot foreign exchange transaction. Settlement T+2 (or T+1 for CAD/USD, T+0 for same-currency).
deals/swap/credit/vanilla.jsonCredit Default SwapSingle-name CDS. Protection buyer pays periodic premium; protection seller pays on credit event.
deals/swap/rates/basis.jsonBasis SwapFloat vs float, same currency, different indices (e.g., 3M vs 6M, or CORRA vs CDOR).
deals/swap/rates/ois.jsonOvernight Index SwapFixed vs compounded overnight rate (CORRA, SOFR, ESTR). Inherits vanilla IRS structure with overnight-specific constraints.
deals/swap/rates/vanilla.jsonVanilla Interest Rate SwapFixed vs float single-currency IRS. The most common OTC derivative globally.
deals/swap/rates/xccy.jsonCross-Currency SwapTwo legs in different currencies. May include initial and final exchange of notionals.
deals/swaption/rates/vanilla.jsonEuropean Swaption Deal DetailsBlack-model details for a European swaption (payer or receiver) on a vanilla interest-rate swap.
extensions/counterparties.jsonCounterparty Extensions
extensions/deals.jsonDeal Extensions — Reference Institution
extensions/journal_lines.jsonJournal Line Extensions
instruments/bond.jsonBond InstrumentCovers all bond subtypes via conditional blocks: government, corporate, municipal, covered, sukuk, convertible, inflation_linked, at1, zero_coupon, frn.
instruments/cds.jsonCredit Default Swap
instruments/equity.jsonEquity (Perpetual)
instruments/futures_contract.jsonFutures Contract (Sharable)
instruments/fx_pair.jsonFX Pair (Perpetual)Currency pair instrument. No maturity, no lifecycle events.
marketdata/curve.jsonTRMS Market CurveSchema-driven market curve definition with a stable curve ID, as-of date, and tenor/rate grid.
marketdata/curves/CORRA_CAD_OIS.jsonmarketdata/curves/CORRA_CAD_OIS.json
marketdata/curves/ESTR_EUR_OIS.jsonmarketdata/curves/ESTR_EUR_OIS.json
marketdata/curves/EURIBOR_3M.jsonmarketdata/curves/EURIBOR_3M.json
marketdata/curves/EURIBOR_6M.jsonmarketdata/curves/EURIBOR_6M.json
marketdata/curves/SOFR_USD_OIS.jsonmarketdata/curves/SOFR_USD_OIS.json
marketdata/curves/SONIA_GBP_OIS.jsonmarketdata/curves/SONIA_GBP_OIS.json
marketdata/curves/TONA_JPY_OIS.jsonmarketdata/curves/TONA_JPY_OIS.json
marketdata/curves/USD_LIBOR_3M.jsonmarketdata/curves/USD_LIBOR_3M.json
marketdata/shock_spec.jsonShockSpecMarket shock specification for bump-and-reprice and scenario analysis. All shifts are additive/multiplicative overlays on top of the base market view.
product_compatibility.jsonproduct_compatibility.json
product_registry.jsonproduct_registry.json
stp/rules.jsonstp/rules.json
templates/bond_cad_corra_lockout.jsontemplates/bond_cad_corra_lockout.jsonCanadian CORRA FRN with a rate cutoff (lockout) before period end. Trader provides: issuer, face_value, issue_date, maturity_date, float_spread, rate_cutoff_days.
templates/bond_cad_corra_standard.jsontemplates/bond_cad_corra_standard.jsonStandard Canadian CORRA FRN, plain in-arrears. Trader provides: issuer, face_value, issue_date, maturity_date, float_spread.
templates/fx_ndf_brl.jsontemplates/fx_ndf_brl.jsonBRL/USD NDF. Trader provides: counterparty, book, notional, contracted_rate, fixing_date, value_date, buy_sell.
templates/irs_cad_standard.jsontemplates/irs_cad_standard.jsonStandard CAD vanilla IRS vs CORRA. Trader provides: counterparty, book, notional, rate, effective_date, maturity_date.
templates/irs_usd_standard.jsontemplates/irs_usd_standard.jsonStandard USD vanilla IRS vs SOFR. Trader provides: counterparty, book, notional, rate, effective_date, maturity_date.
templates/repo_overnight_goc.jsontemplates/repo_overnight_goc.jsonOvernight repo against Government of Canada bonds. Trader provides: counterparty, book, collateral_instrument_id, collateral_quantity, near_amount, repo_rate.
valuation/metrics.jsonValuation Metrics — Sparse/Extensible MeasuresStrict schema for the metrics JSONB column on domain.valuations. All values are numeric (BigDecimal-precision). Unknown keys are rejected. Typed columns (market_value, unrealized_pnl, etc.) must not be duplicated here — only sparse, product-specific, or extensible measures belong in this object.