The instrument store¶
The deployment's instrument records, and resolving an identifier to one; the venues it pulled from the platform's venue master. This is its data dictionary at contract v24: one entry for every field of its messages a plugin meets, saying what the field is for, what a value means and does not mean, what empty means, who fills it, its bounds and the operations a write must carry it on. Each entry is anchored by its name, the name a refusal's path resolves to and a declaration names, which never changes.
Its messages are declared in meridian/v1/reference.proto. A field's entry is the same whatever carries it: a typed operation's parameters take the entries of the message they are made from.
Records¶
The messages this store keeps and answers.
| Record | What it is |
|---|---|
VenueRecord |
the venue master's record of a venue the deployment pulled: its ID, kind, time zone, operating venue and dated identifiers (contract v18) |
InstrumentRecord |
the deployment's record of an instrument: its identifiers, asset class and currency, each value with where it came from |
VenueRecord¶
meridian.v1.VenueRecord, a record.
venue_id¶
identifier venue · since v18 · preview
Identifies a venue for life.
- Means: the venue master's ID, VEN-, minted by the platform; never changed and never reused
- Does not mean: a MIC, which is one of its identifiers, and which a crypto exchange or a dealer network lacks
- Empty: never empty
- Filled: minted, by
platform
name¶
text · since v18 · preview
Names the venue for a person.
- Means: its name as curation recorded it; a rename is an amend, the old name kept in its dated history
- Does not mean: its operator's legal name
- Empty: never empty
- Filled: decided, by
platform
country_code¶
text · since v18 · preview
Says where the venue operates.
- Means: the ISO 3166-1 alpha-2 code
- Does not mean: where its operator is incorporated
- Empty: never empty
- Filled: decided, by
platform - Bounds: 2 to 2 characters; past it, refused
kind¶
enum VenueKind · since v18 · preview
Says what kind of venue it is.
- Means: the venue's kind, a closed list grown by revision
- Does not mean: its regulator, or the asset classes traded on it
- Empty: never unspecified on a read
- Filled: decided, by
platform
| Value | Means |
|---|---|
VENUE_KIND_UNSPECIFIED |
never on a record the platform answers |
VENUE_KIND_EXCHANGE |
a regulated exchange |
VENUE_KIND_ALTERNATIVE_TRADING_SYSTEM |
an alternative trading system or a multilateral trading facility, FX's anonymous central books among them |
VENUE_KIND_CRYPTO_EXCHANGE |
an exchange of crypto assets |
VENUE_KIND_DEALER_NETWORK |
a network of dealers quoting on request, over the counter or by indication: RFQ, OTC and, for now, IOI networks |
VENUE_KIND_REPORTING_FACILITY |
a facility trades are reported to, not traded on: a trade reporting facility, an alternative display facility, an approved publication arrangement |
identifiers¶
repeated message Identifier · since v18 · preview
Carries the codes a venue is known by.
- Means: its ISO 10383 MIC under iso10383, operating or segment, where it has one, and vendors' codes as symbol with their source, in force from valid_from_ns
- Does not mean: a key: the venue's key is its venue_id
- Empty: none: a venue known by its name alone
- Filled: decided, by
platform
operating_venue_id¶
identifier venue · since v18 · preview
Names a segment's operating venue.
- Means: the venue master's ID of the operating venue a segment belongs to
- Does not mean: its operator's legal entity, which a later revision may point to by LEI
- Empty: empty for a venue that is its own operating venue
- Filled: decided, by
platform
time_zone¶
text · since v18 · preview
Says the venue's local time.
- Means: the IANA zone its trading day is defined in: America/New_York for US equity venues and FX venues' 17:00 roll, Etc/UTC for a crypto exchange
- Does not mean: a holiday calendar, which settlement calendars bring
- Empty: never empty
- Filled: decided, by
platform - Bounds: 1 to 64 characters; past it, refused
version¶
integer · since v18 · preview
Orders a venue's versions.
- Means: monotonic, assigned by the platform, from 1
- Does not mean: a count of the deployment's changes: a deployment keeps the platform's version
- Empty: never 0
- Filled: decided, by
platform - Unit: versions of the record
valid_from_ns¶
moment · since v18 · preview
Says when a version became true.
- Means: when this version's values and identifiers came into force
- Does not mean: when the platform recorded it
- Empty: never 0
- Filled: decided, by
platform - Unit: nanoseconds since the epoch
record_time_ns¶
moment · since v18 · preview
Says when the platform knew a version.
- Means: the platform's record time, never back-dated
- Does not mean: when the version became true
- Empty: never 0
- Filled: decided, by
platform - Unit: nanoseconds since the epoch
lifecycle_state¶
enum InstrumentLifecycleState · since v18 · preview
Says whether a venue is in force.
- Means: active or decommissioned, the security master's lifecycle
- Does not mean: whether a deployment uses it
- Empty: never unspecified on a read
- Filled: decided, by
platform
| Value | Means |
|---|---|
INSTRUMENT_LIFECYCLE_STATE_UNSPECIFIED |
never on a record the platform answers |
INSTRUMENT_LIFECYCLE_STATE_DEFINE |
never on a venue |
INSTRUMENT_LIFECYCLE_STATE_ACTIVE |
in force |
INSTRUMENT_LIFECYCLE_STATE_DECOMMISSIONED |
closed, or its MIC expired; it still resolves for a date it was in force |
InstrumentRecord¶
meridian.v1.InstrumentRecord, a record.
instrument_id¶
identifier instrument · since v2 · stable
Identifies the record for life.
- Means: the deployment's own key (decisions/030): LCL- for a record its instrument store minted, which says who minted it and nothing about whether it is resolved; or the INS- key of a record applied from the platform before v10, which it keeps
- Does not mean: a global identifier: one the platform answers later joins identifiers, never replacing this; a key ever reused: a retired, decommissioned or replaced record keeps it, and no other record is given it (decisions/034)
- Empty: never empty
- Filled: minted, by
instrument
Changes: v19, clarified: never reused (decisions/034).
identifiers¶
repeated message Identifier · since v2 · stable
Lists every identifier the record answers to.
- Means: the full set, each joined by a resolve, a person or the platform, with where it came from in sources
- Does not mean: identifiers that once named it and now name another instrument
- Empty: never empty: a record is minted from the identifiers that named it
- Filled: decided, by
instrument
asset_class¶
enum AssetClass · since v4 · stable
Says what kind of instrument the record is.
- Means: the class in force, set or accepted by a person (W3.10), or applied from the platform
- Does not mean: the type within a class: an exchange-traded fund is a fund; a class a plugin offered and nobody accepted
- Empty: unspecified until a person sets it or accepts an offer; the book refuses an opening position or an adjustment's line under such a record (REFUSAL_REASON_INCOMPLETE), naming its path through the instrument
- Filled: entered, by
dashboard - Required on:
RecordOpeningBalancefrom v10;ResolveBreakfrom v10
| Value | Means |
|---|---|
ASSET_CLASS_UNSPECIFIED |
no class yet: a record minted from a resolve that nobody has completed |
ASSET_CLASS_EQUITY |
a share of ownership |
ASSET_CLASS_DEBT |
somebody owes the holder |
ASSET_CLASS_FUND |
a share of a pool, exchange-traded and mutual funds among them |
ASSET_CLASS_DERIVATIVE |
a contract whose value comes from something else, options and futures among them |
ASSET_CLASS_CRYPTO_ASSET |
a crypto asset |
ASSET_CLASS_EVENT_CONTRACT |
pays on whether an event happens |
ASSET_CLASS_CASH |
a currency's cash instrument |
Changes: v10, narrowed: required of every instrument an opening balance or an adjustment's line names.
currency¶
text · since v2 · stable
Says the currency the instrument is priced and settled in.
- Means: an ISO 4217 code in force, set or accepted by a person, or applied from the platform
- Does not mean: the currency of an account holding it, or of a cash balance beside it
- Empty: empty until a person sets it or accepts an offer; the book refuses an opening position or an adjustment's line under such a record (REFUSAL_REASON_INCOMPLETE)
- Filled: entered, by
dashboard - Required on:
RecordOpeningBalancefrom v10;ResolveBreakfrom v10
Changes: v10, narrowed: required of every instrument an opening balance or an adjustment's line names.
exchange_mic¶
text · since v2 · stable · deprecated in v18
Deprecated in v18
a listing venue is the venue master's ID, the MIC one of its identifiers; read until the platform's and the deployments' records carry venue IDs. Use meridian.v1.InstrumentRecord.listing_venue_id instead.
Names the instrument's listing venue.
- Means: the ISO 10383 market identifier code
- Does not mean: where an account traded it
- Empty: empty where there is no listing venue, or none is known
- Filled: decided, by
instrument
listing_venue_id¶
identifier venue · since v18 · preview
Names the venue an instrument is listed on.
- Means: the venue master's ID (VEN-): a segment's venue where the listing is on one
- Does not mean: where an account traded it, or a MIC
- Empty: empty where it is listed on no venue, or its venue is not yet known
- Filled: decided, by
instrument
description¶
text · since v2 · stable
Describes the instrument for a person.
- Means: the description in force, in words
- Does not mean: an identifier, or anything a component parses
- Empty: empty until a person sets it or accepts an offer
- Filled: entered, by
dashboard
lifecycle_state¶
enum InstrumentLifecycleState · since v2 · stable
Says where the record is in its life.
- Means: defined, active or decommissioned
- Does not mean: whether anyone holds it
- Empty: never unspecified on a read
- Filled: decided, by
instrument
| Value | Means |
|---|---|
INSTRUMENT_LIFECYCLE_STATE_UNSPECIFIED |
not said; never on a record the store answers |
INSTRUMENT_LIFECYCLE_STATE_DEFINE |
the identity exists and its attributes may be incomplete; a holding may name it, since a position can arrive before anyone has decided what it is |
INSTRUMENT_LIFECYCLE_STATE_ACTIVE |
fully defined |
INSTRUMENT_LIFECYCLE_STATE_DECOMMISSIONED |
no longer trading; holdings of it stay resolvable, since history stays true |
version¶
integer · since v2 · stable
Numbers the record's versions.
- Means: monotonic, assigned by the store; an apply at or below the version held changes nothing
- Does not mean: a contract version
- Empty: never 0: the first version is 1
- Filled: decided, by
instrument - Unit: versions of the record
valid_from_ns¶
moment · since v2 · stable
Records when this version's mapping became true in the world.
- Means: effective time: a resolve as of an earlier date reads the version effective then
- Does not mean: when the store learned it, which is record_time_ns
- Empty: never 0
- Filled: decided, by
instrument - Unit: nanoseconds since the epoch
record_time_ns¶
moment · since v2 · stable
Records when the store knew this version.
- Means: record time, stamped by the store and never taken from a caller: knowledge is not back-dated
- Does not mean: when the mapping became true
- Empty: never 0
- Filled: stamped, by
instrument - Unit: nanoseconds since the epoch
sources¶
repeated message InstrumentValueSource · since v10 · stable
Says where each value in force came from.
- Means: for the asset class, the currency, the description and each identifier: the person who set or accepted it, or the plugin that reported it
- Does not mean: offers nobody has accepted, which are offers
- Empty: empty on a record applied from the platform before v10
- Filled: decided, by
instrument
offers¶
repeated message OfferedValue · since v10 · stable
Lists values offered for the record and not yet accepted.
- Means: values a plugin's source stated on a resolve (W3.1) or the platform answered (W3.3), in force only when a person accepts one (W3.10); a later offer never overwrites a value in force
- Does not mean: a value in force
- Empty: empty where nothing is offered
- Filled: decided, by
instrument
instrument_type¶
enum InstrumentType · since v11 · stable
Says what kind of instrument the record is within its asset class.
- Means: in force once a person set or accepted it, as the asset class is; each type under one asset class, and the list grows as a workflow needs a type
- Does not mean: a code of ISO 10962, which is a reference, not the vocabulary; or a custodian's mark
- Empty: unspecified where no type is in force
- Filled: decided, by
instrument
| Value | Means |
|---|---|
INSTRUMENT_TYPE_UNSPECIFIED |
no type stated: the asset class says all the record says |
INSTRUMENT_TYPE_MONEY_MARKET_FUND |
under fund: a fund investing in short-term debt under SEC rule 2a-7 and aiming to keep its value; held as a fund, never as cash, even where a custodian sweeps cash into it |
INSTRUMENT_TYPE_BINARY_EVENT_CONTRACT |
under event_contract: a contract paying a fixed amount if an event happens and nothing if it does not; a venue's YES and NO tokens are two instruments |
money_market_fund¶
message MoneyMarketFund · since v11 · stable
Carries a money market fund's attributes.
- Means: its category, investors, net asset value and liquidity-fee regime, from SEC rule 2a-7
- Does not mean: its observations — its NAV on a day, its yield, its liquid assets, a fee imposed — which are the lake's
- Empty: unset unless the record's type is money market fund, and until a person states its attributes
- Filled: decided, by
instrument
binary_event_contract¶
message BinaryEventContract · since v19 · preview
Carries a binary event contract's attributes.
- Means: what one contract pays if the event happens, and when trading in it closes
- Does not mean: which outcome it pays on, which its description says in the venue's words; its outcome or settlement, which are observations and servicing's
- Empty: unset unless the record's type is binary event contract, and until a person states its payout
- Filled: decided, by
instrument
provisional¶
boolean · since v24 · stable
Says the record is a provisional LCL- record not yet resolved (W3.7).
- Means: the deployment's own local record: the platform unreachable, the request waiting for its staff, or, at the current stage, no open identifier to ask by; it carries the vendor's identifiers in the deployment, names its template and may be incomplete; at least an identifier, a description and a currency; a local line in the book, never priced, counted on the home page, and an order on it the escape hatch (W3.7, W9.1, W11; the one-ID model, ruled 2026-10-14). A record the migration found keeps its LCL- ID, unresolved, until the admin approves its line, which is no new mint
- Does not mean: the LCL- prefix, which says only that the deployment minted the ID
- Empty: false: the record is named by the platform's INS- ID, or was keyed before v10
- Filled: decided, by
instrument
template_id¶
text · since v24 · stable
Names the template the record was minted against (W3.24; the intent's ruling 9).
- Means: the platform's template, a base template where the type had none of its own
- Does not mean: the record's asset class or type
- Empty: empty on a record kept before v24 and not yet migrated, and on a record whose source stated no class ("class needed"); a provisional record otherwise names its type's template, or its class's base template (ruled 2026-10-14)
- Filled: decided, by
instrument
template_version¶
text · since v24 · stable
Names the template version the record was minted against.
- Means: a published version, immutable; moving to a new one is a recorded change
- Does not mean: the record's own version
- Empty: empty where template_id is
- Filled: decided, by
platform
missing_fields¶
repeated text · since v24 · preview
Lists what a local record lacks against its template (W3.7; approved 2026-10-14).
- Means: each required field of the record's template it does not hold, by its path in the template (TemplateField.path), from the catalogue the store holds; shown on the Instruments page and filled there or by a reference plugin's offer (W3.10, W3.23); never a gate on asking the platform, which fills a template from its own source (W1.25)
- Does not mean: a refusal's fields; or the fields a person has yet to accept, which offers show
- Empty: empty for a record complete against its template, and for every INS- record the platform minted
- Filled: derived, by
instrument
Identifier¶
meridian.v1.Identifier, a message.
scheme¶
text · since v2 · stable
Says what kind of identifier a value is.
- Means: a global scheme — figi, isin, cusip, sedol, iso4217 for a currency's cash, caip19 for a crypto asset, open_meridian for the platform's own until v24, from v18 iso10383 for a venue's MIC, and from v24 open_meridian_local for a resolved LCL- ID — or symbol, a source-scoped one
- Does not mean: a source: a symbol means something only beside the source it came from
- Empty: never empty
- Filled: as-reported, by
custody
Changes: v18, clarified: iso10383 names a venue's MIC, on a venue's identifiers (W3.14); v24, clarified: open_meridian is no longer written, each window closed at the resolution and still resolvable; open_meridian_local, the deployment-only scheme, keeps a resolved LCL- ID for life and never leaves the deployment (the one-ID spec's requirements 1, 2 and 13); v24, clarified: the schemes the first templates match on are spelled as the platform builds them: share_class_figi, composite_figi, sec_series and sec_class beside figi, and ticker, a ticker carrying its venue as an ISO 10383 MIC in source, or the venue's VEN- ID where it has no MIC (ruled 2026-10-14); v24, clarified: the FIGI specification's three levels: share_class_figi identifies a security, one per security across its listings, and keys its INS- record; composite_figi (per country) and figi (per exchange) are listing identifiers, kept paired with their venue or country, resolved to the share class before matching, never a reason to merge two records; the composite identifies a security that has no share-class FIGI (ruled 2026-10-14).
value¶
text · since v2 · stable
Carries the identifier itself.
- Means: the identifier as its scheme writes it
- Does not mean: a description or a name
- Empty: never empty
- Filled: as-reported, by
custody
source¶
text · since v2 · stable
Names the namespace a source-scoped identifier belongs to.
- Means: the plugin's scheme for its source, the same word on every message it sends
- Does not mean: the institution holding an account; anything a global scheme needs
- Empty: empty for a global scheme
- Filled: as-reported, by
custody
valid_from_ns¶
moment · since v19 · preview
Says from when an identifier named the record it is on.
- Means: the start of the identifier's window on the record, inclusive, kept by the instrument store and filled by the platform on a pull (decisions/034)
- Does not mean: when the identifier was issued, or when a plugin reported it
- Empty: 0 from a plugin: the sidecar sends it empty; on a record the store answers, 0 is a window open since the record began
- Filled: stamped, by
sidecar - Unit: nanoseconds since the epoch
valid_until_ns¶
moment · since v19 · preview
Says until when an identifier named the record it is on.
- Means: the end of its window, exclusive: the date it left the record, by a merge, a completion or the platform's answer accepted; the identifier is kept, and a resolve as of a date before answers the record that held it
- Does not mean: a deletion: nothing removes an identifier from a record's history
- Empty: 0: in force on the record now; 0 from a plugin, which the sidecar sends empty
- Filled: stamped, by
sidecar - Unit: nanoseconds since the epoch
MoneyMarketFund¶
meridian.v1.MoneyMarketFund, a message.
category¶
enum MoneyMarketFundCategory · since v11 · stable
Says what a money market fund invests in.
- Means: its category under SEC rule 2a-7
- Does not mean: its holdings on a day, which are the lake's
- Empty: unspecified is not stated
- Filled: entered, by
dashboard
| Value | Means |
|---|---|
MONEY_MARKET_FUND_CATEGORY_UNSPECIFIED |
not stated |
MONEY_MARKET_FUND_CATEGORY_GOVERNMENT |
invests in cash, government securities and repurchase agreements backed by them |
MONEY_MARKET_FUND_CATEGORY_PRIME |
invests in corporate short-term debt as well |
MONEY_MARKET_FUND_CATEGORY_TAX_EXEMPT |
invests in short-term municipal debt |
investors¶
enum MoneyMarketFundInvestors · since v11 · stable
Says whom a money market fund is offered to.
- Means: retail or institutional, as SEC rule 2a-7 distinguishes them
- Does not mean: who holds it in the deployment
- Empty: unspecified is not stated
- Filled: entered, by
dashboard
| Value | Means |
|---|---|
MONEY_MARKET_FUND_INVESTORS_UNSPECIFIED |
not stated |
MONEY_MARKET_FUND_INVESTORS_RETAIL |
offered to natural persons only |
MONEY_MARKET_FUND_INVESTORS_INSTITUTIONAL |
offered to institutions as well |
nav¶
enum MoneyMarketFundNav · since v11 · stable
Says how a money market fund prices its shares.
- Means: stable or floating net asset value
- Does not mean: its net asset value on a day, which is the lake's
- Empty: unspecified is not stated
- Filled: entered, by
dashboard
| Value | Means |
|---|---|
MONEY_MARKET_FUND_NAV_UNSPECIFIED |
not stated: the book's one lot at stable value waits on it |
MONEY_MARKET_FUND_NAV_STABLE |
a stable share price of 1.00: the position is one lot at stable value, cost = quantity x 1 (W9.1) |
MONEY_MARKET_FUND_NAV_FLOATING |
a share price that floats with its holdings: lots like any fund |
liquidity_fee¶
enum LiquidityFeeRegime · since v11 · stable
Says when a money market fund may charge a fee on redemptions.
- Means: its liquidity-fee regime under SEC rule 2a-7 as amended in 2023, redemption gates removed
- Does not mean: a fee imposed on a day, which is the lake's
- Empty: unspecified is not stated
- Filled: entered, by
dashboard
| Value | Means |
|---|---|
LIQUIDITY_FEE_REGIME_UNSPECIFIED |
not stated |
LIQUIDITY_FEE_REGIME_MANDATORY |
a fee charged when daily net redemptions pass 5% of net assets, as for an institutional prime or tax-exempt fund |
LIQUIDITY_FEE_REGIME_DISCRETIONARY |
a fee charged at the board's discretion, where in the fund's interest |
LIQUIDITY_FEE_REGIME_NONE |
no liquidity fee: a government money market fund that has not chosen one |
BinaryEventContract¶
meridian.v1.BinaryEventContract, a message.
payout¶
Money · since v19 · preview
Says what one contract pays if the event happens.
- Means: the fixed amount one contract pays, naming its cash instrument: 1 USD, or 1 in a venue's own USDC instrument; a price divided by it is the market's implied probability, a reader's computation
- Does not mean: a price, or a probability, which nothing stores
- Empty: never unset on a binary event contract's attributes; a payout naming no asset, or not more than zero, is refused
- Filled: decided, by
instrument - Unit: the major unit of the asset the Money names, per contract
closes_at_ns¶
moment · since v19 · preview
Says when trading in the contract closes.
- Means: when the venue says trading in it closes, in UTC
- Does not mean: when the event is determined or the contract settles, which its outcome will say
- Empty: 0: the venue states none
- Filled: decided, by
instrument - Unit: nanoseconds since the epoch
InstrumentValue¶
meridian.v1.InstrumentValue, a message.
asset_class¶
enum AssetClass · since v10 · stable
Carries an asset class set or offered for a record.
- Means: one of the closed list
- Does not mean: a class in force, unless its source says so
- Empty: unspecified unless the value is an asset class
- Filled: as-reported
| Value | Means |
|---|---|
ASSET_CLASS_UNSPECIFIED |
not this value: the value is another of the arms |
ASSET_CLASS_EQUITY |
a share of ownership |
ASSET_CLASS_DEBT |
somebody owes the holder |
ASSET_CLASS_FUND |
a share of a pool, exchange-traded and mutual funds among them |
ASSET_CLASS_DERIVATIVE |
a contract whose value comes from something else, options and futures among them |
ASSET_CLASS_CRYPTO_ASSET |
a crypto asset |
ASSET_CLASS_EVENT_CONTRACT |
pays on whether an event happens |
ASSET_CLASS_CASH |
a currency's cash instrument |
currency¶
text · since v10 · stable
Carries a currency set or offered for a record.
- Means: an ISO 4217 code, three capital letters
- Does not mean: a pseudo-currency standing for an account's base
- Empty: empty unless the value is a currency
- Filled: as-reported
description¶
text · since v10 · stable
Carries a description set or offered for a record.
- Means: words for a person
- Does not mean: an identifier
- Empty: empty unless the value is a description
- Filled: as-reported
identifier¶
message Identifier · since v10 · stable
Carries an identifier set or offered for a record.
- Means: one identifier to join the record's set
- Does not mean: the record's key
- Empty: unset unless the value is an identifier
- Filled: as-reported
instrument_type¶
enum InstrumentType · since v11 · stable
Carries an instrument type set or offered for a record.
- Means: one under the record's asset class, or refused naming the field
- Does not mean: a type in force, unless its source says so
- Empty: unspecified unless the value is an instrument type
- Filled: as-reported
| Value | Means |
|---|---|
INSTRUMENT_TYPE_UNSPECIFIED |
not this value: the value is another of the arms |
INSTRUMENT_TYPE_MONEY_MARKET_FUND |
under fund: a fund investing in short-term debt under SEC rule 2a-7 and aiming to keep its value; held as a fund, never as cash, even where a custodian sweeps cash into it |
INSTRUMENT_TYPE_BINARY_EVENT_CONTRACT |
under event_contract: a contract paying a fixed amount if an event happens and nothing if it does not; a venue's YES and NO tokens are two instruments |
money_market_fund¶
message MoneyMarketFund · since v11 · stable
Carries a money market fund's attributes set for a record.
- Means: each attribute stated; refused on a record whose type is not money market fund
- Does not mean: the fund's observations
- Empty: unset unless the value is a money market fund's attributes
- Filled: entered
binary_event_contract¶
message BinaryEventContract · since v19 · preview
Carries a binary event contract's attributes set or offered for a record.
- Means: its payout stated, and its close where the venue states one; refused on a record whose type is not binary event contract
- Does not mean: its outcome
- Empty: unset unless the value is a binary event contract's attributes
- Filled: entered
source¶
text · since v10 · stable
Says where a value came from.
- Means: in words: a statement, a prospectus, ISO 4217, the platform's record and version
- Does not mean: the person or plugin, which InstrumentValueSource names
- Empty: never empty on a value a person sets
- Filled: entered
InstrumentValueSource¶
meridian.v1.InstrumentValueSource, a message.
field¶
enum InstrumentField · since v10 · stable
Says which value of the record this source is for.
- Means: one field of the record
- Does not mean: a field of a template's terms
- Empty: never unspecified on a read
- Filled: decided, by
instrument
| Value | Means |
|---|---|
INSTRUMENT_FIELD_UNSPECIFIED |
not said; never on a record the store answers |
INSTRUMENT_FIELD_ASSET_CLASS |
the asset class |
INSTRUMENT_FIELD_CURRENCY |
the currency |
INSTRUMENT_FIELD_DESCRIPTION |
the description |
INSTRUMENT_FIELD_IDENTIFIER |
one of its identifiers, named beside the field |
INSTRUMENT_FIELD_INSTRUMENT_TYPE |
its instrument type |
INSTRUMENT_FIELD_MONEY_MARKET_FUND |
a money market fund's attributes |
INSTRUMENT_FIELD_BINARY_EVENT_CONTRACT |
a binary event contract's attributes |
identifier¶
message Identifier · since v10 · stable
Says which identifier the source is for.
- Means: one of the record's identifiers
- Does not mean: the record's key
- Empty: unset unless the field is an identifier
- Filled: decided, by
instrument
source¶
text · since v10 · stable
Says where the value came from, in words.
- Means: the words the value was set with
- Does not mean: the person
- Empty: empty where the value was reported, not set
- Filled: entered
person¶
text · since v10 · stable
Names the person who set or accepted the value.
- Means: the deployment-local subject core stamped from the command's envelope (W4.9), never typed
- Does not mean: an email address or a display name
- Empty: empty for an identifier a plugin reported, the platform's global identifier, and a value applied from the platform before v10
- Filled: stamped, by
instrument
instance_id¶
identifier instance · since v10 · stable
Names the plugin whose resolve joined an identifier.
- Means: the plugin instance that sent the resolve (W3.1)
- Does not mean: a person
- Empty: empty unless a plugin's resolve joined the identifier
- Filled: stamped, by
instrument
recorded_at_ns¶
moment · since v10 · stable
Records when the store recorded the value.
- Means: the deployment's clock then
- Does not mean: when the value became true in the world
- Empty: never 0
- Filled: decided, by
instrument - Unit: nanoseconds since the epoch
note¶
text · since v10 · stable
Keeps why a value held was changed.
- Means: the person's words
- Does not mean: a code
- Empty: empty where no reason was given
- Filled: entered
acting_through_delegation¶
text · since v12 · stable
Names the delegation the person set or accepted the value through.
- Means: deployment-local and opaque, stamped from the command's envelope (W4.9) when the person acted through a client on the deployment's MCP surface; the dashboard resolves it to its client
- Does not mean: an actor: the person stays the actor, and this says through what
- Empty: empty for a person at the dashboard in a browser, and wherever person is
- Filled: stamped, by
instrument
client_name¶
text · since v12 · stable
Names the client the person acted through.
- Means: the client's registered name, its own choice, as the envelope carried it
- Does not mean: a person or a plugin instance
- Empty: empty whenever acting_through_delegation is
- Filled: stamped, by
instrument
prepared_call_id¶
text · since v20 · preview
Names the prepared change the change was made from (W6.27).
- Means: the
PC-ID the person's request carried, stamped beside the delegation, so the record says what prepared the change as well as who made it - Does not mean: who made it, who stays the person; or that an agent made it: a person did, from what was prepared
- Empty: empty where the change was not made from a prepared change, and on every change before v20
- Filled: stamped, by
dashboard
OfferedValue¶
meridian.v1.OfferedValue, a message.
value¶
message InstrumentValue · since v10 · stable
Carries the value offered.
- Means: one asset class, currency, description or identifier, with its source
- Does not mean: a value in force
- Empty: never unset
- Filled: as-reported
instance_id¶
identifier instance · since v10 · stable
Names the plugin whose source stated the value.
- Means: the instance that sent the resolve stating it
- Does not mean: a person
- Empty: empty for the platform's answer and for an offer the store derives itself, as ISO 4217's currency for a cash identifier
- Filled: stamped, by
instrument
offered_at_ns¶
moment · since v10 · stable
Records when the value was offered.
- Means: the deployment's clock when the store recorded the offer
- Does not mean: when it was accepted
- Empty: never 0
- Filled: decided, by
instrument - Unit: nanoseconds since the epoch
ResolveIdentifierRequest¶
meridian.v1.ResolveIdentifierRequest, a message.
identifiers¶
repeated message Identifier · since v2 · stable
Names what the plugin holds of a security.
- Means: every identifier its source gave, matched strongest first: a global scheme before a source-scoped symbol; from reporting, what names the instrument it wants, resolved read-only (W3.1)
- Does not mean: a description to match on
- Empty: never empty: at least one
- Filled: as-reported, by
custody
Changes: v19, clarified: reporting may ask, and nothing is minted, joined, offered or listed for it (W3.1, approved 2026-10-10).
as_of_ns¶
moment · since v2 · stable
Says the date the mapping is asked about.
- Means: reference time: a symbol reused since then still resolves to what it named then, from the identifier windows the store keeps, without the platform
- Does not mean: when the plugin read its source
- Empty: 0 for now
- Filled: as-reported, by
custody - Unit: nanoseconds since the epoch
Changes: v19, clarified: answered from the windows the store keeps, closed when an identifier leaves a record (W3.1, W3.5).
exchange_mic¶
text · since v2 · stable
Narrows a symbol match to a listing venue.
- Means: an ISO 10383 market identifier code
- Does not mean: a venue's own name for itself
- Empty: empty for unconstrained
- Filled: as-reported, by
custody
currency¶
text · since v2 · stable
Narrows a symbol match to a currency.
- Means: an ISO 4217 code
- Does not mean: a value offered for the record, which stated_currency is
- Empty: empty for unconstrained
- Filled: as-reported, by
custody
stated_asset_class¶
enum AssetClass · since v10 · stable
Offers the class the plugin's source states of the security.
- Means: kept on the record as an offer with the instance as its source, in force only when a person accepts it (W3.1)
- Does not mean: a class in force, or one the plugin guessed
- Empty: unspecified is not stated
- Filled: as-reported, by
custody
| Value | Means |
|---|---|
ASSET_CLASS_UNSPECIFIED |
not stated: what a plugin sends when its source's kind does not convert, never a guess |
ASSET_CLASS_EQUITY |
a share of ownership |
ASSET_CLASS_DEBT |
somebody owes the holder |
ASSET_CLASS_FUND |
a share of a pool, exchange-traded and mutual funds among them |
ASSET_CLASS_DERIVATIVE |
a contract whose value comes from something else, options and futures among them |
ASSET_CLASS_CRYPTO_ASSET |
a crypto asset |
ASSET_CLASS_EVENT_CONTRACT |
pays on whether an event happens |
ASSET_CLASS_CASH |
a currency's cash instrument |
stated_currency¶
text · since v10 · stable
Offers the security's currency: the one the plugin's source states, or, where it states none, one derived by a named rule or supplied by a person, with its provenance.
- Means: an ISO 4217 code, kept as an offer; with no entry in provenance it is the source's, from the record the security came from
- Does not mean: a match constraint, which currency is
- Empty: empty is not stated
- Filled: as-reported, by
custody
Changes: v23, clarified: a currency the source did not state, derived by a named rule or supplied by a person (the linked account's currency its admin set), is sent here with its entry in ResolveIdentifierRequest.provenance (W3.1, approved 2026-10-13).
stated_description¶
text · since v10 · stable
Offers the description the plugin's source gives the security.
- Means: its words, kept as an offer
- Does not mean: anything matched on
- Empty: empty is not stated
- Filled: as-reported, by
custody
stated_instrument_type¶
enum InstrumentType · since v11 · stable
Offers the type the plugin's source states of the security within its class.
- Means: kept on the record as an offer with the instance as its source, in force only when a person accepts it (W3.1)
- Does not mean: a type in force, or one the plugin guessed from how a custodian treats the holding
- Empty: unspecified is not stated
- Filled: as-reported, by
custody
| Value | Means |
|---|---|
INSTRUMENT_TYPE_UNSPECIFIED |
not stated |
INSTRUMENT_TYPE_MONEY_MARKET_FUND |
under fund: a fund investing in short-term debt under SEC rule 2a-7 and aiming to keep its value; held as a fund, never as cash, even where a custodian sweeps cash into it |
INSTRUMENT_TYPE_BINARY_EVENT_CONTRACT |
under event_contract: a contract paying a fixed amount if an event happens and nothing if it does not; a venue's YES and NO tokens are two instruments |
provenance¶
repeated message Provenance · since v23 · stable
Says where the security's currency came from, where the plugin closed it rather than read it.
- Means: one per closed value, by its path, each
{field: stated_currency, kind, person or rule}: supplied by a named person on the plugin's page (the linked account's currency its admin set), derived by a named rule, or reported from another of the source's records; the store keeps it with the offer (W3.1) - Does not mean: a value presented as the source's statement, or one that narrows a symbol match: a supplied or derived currency never narrows one
- Empty: empty where every value stated is the source's, from the record the security came from
- Filled: as-reported, by
custody - Bounds: at most 32 items; past it, refused
ResolveIdentifierReply¶
meridian.v1.ResolveIdentifierReply, a message.
found¶
boolean · since v2 · stable
Says whether the identifiers named a record.
- Means: true when a record matched or this resolve minted one; from v24 false, not found, for a source thinner than an instrument record's minimum (an identifier, a description and a currency), nothing minted (W3.7)
- Does not mean: that the record is complete
- Empty: false is a miss, with its reason
- Filled: decided, by
instrument
Changes: v24, clarified: a source thinner than the minimum is answered not found, no record minted; the custody plugin keeps the holding unresolved (W3.7, W2.4; the one-ID model, ruled 2026-10-14).
instrument_id¶
identifier instrument · since v2 · stable
Names the record the identifiers resolved to.
- Means: the deployment's record, held or minted
- Does not mean: a global identifier
- Empty: empty on a miss
- Filled: decided, by
instrument
miss_reason¶
enum MissReason · since v2 · stable
Says why the identifiers named no record.
- Means: not found, or ambiguous
- Does not mean: an error in the request
- Empty: unspecified unless found is false
- Filled: decided, by
instrument
| Value | Means |
|---|---|
MISS_REASON_UNSPECIFIED |
not a miss |
MISS_REASON_NOT_FOUND |
no record matched |
MISS_REASON_AMBIGUOUS |
more than one matched: a miss, never a pick, since a pick would be wrong half the time and silent |
minted¶
boolean · since v10 · stable
Says the resolve created the deployment's record it answers.
- Means: nothing matched and this resolve created instrument_id, the deployment's record for the set; found is true beside it, and a later resolve of the same identifiers matches it. From v24 the record is the platform's INS- record where it answered within the bounded ask, or a provisional one (W3.1, W3.7)
- Does not mean: a placeholder, which it meant before v10; or that the platform minted the INS- ID, which it may have matched
- Empty: false for a record already held, and for a miss
- Filled: decided, by
instrument
Changes: v24, clarified: the record created may be the platform's INS- record (the one-ID spec's requirement 15); minted keeps its meaning, this resolve created the deployment's record.
provisional¶
boolean · since v24 · stable
Says the resolve answered a provisional record (W3.1, W3.7).
- Means: the platform could not be reached within the bounded ask, its staff must review the request, or the record has no open identifier to ask by, so the record is the deployment's provisional LCL- record, naming its template, asked again on reconnect or once it has an open identifier (decisions/037, point 2 as amended 2026-10-14)
- Does not mean: a miss: found is true beside it
- Empty: false: the record answered is not provisional
- Filled: decided, by
instrument
ResolveInstrumentRequest¶
meridian.v1.ResolveInstrumentRequest, a message.
instrument_id¶
identifier instrument · since v2 · stable
Names the record to read.
- Means: a record of the deployment
- Does not mean: an identifier of a scheme, which ResolveIdentifier takes
- Empty: never empty
- Filled: as-reported
as_of_ns¶
moment · since v2 · stable
Says the date the record is asked about.
- Means: reference time: the version effective then; it selects a version's values, never which record, since an instrument ID is never reused (decisions/034)
- Does not mean: when the record was learned
- Empty: 0 for now
- Filled: as-reported
- Unit: nanoseconds since the epoch
Changes: v19, clarified: selects a version, never a record (decisions/034).
ResolveInstrumentReply¶
meridian.v1.ResolveInstrumentReply, a message.
found¶
boolean · since v2 · stable
Says whether the record exists.
- Means: true when instrument carries it
- Does not mean: that it is complete
- Empty: false when the store holds no such record
- Filled: decided, by
instrument
instrument¶
message InstrumentRecord · since v2 · stable
Answers the record.
- Means: the version effective at as_of_ns
- Does not mean: a record of the platform's master
- Empty: unset when not found
- Filled: decided, by
instrument
MissingInstrumentDetectedEvent¶
meridian.v1.MissingInstrumentDetectedEvent, a message.
source¶
text · since v2 · stable
Names the namespace the miss occurred in.
- Means: the plugin's scheme for its source, as on its identifiers
- Does not mean: the institution holding an account
- Empty: never empty
- Filled: as-reported, by
custody
asset_class¶
enum AssetClass · since v4 · stable
Tells whoever maps the miss what kind of instrument was held.
- Means: the class the publisher converted its source's kind to
- Does not mean: the type within the class; a class the platform has confirmed
- Empty: unspecified is the empty value, and means not known, never other
- Filled: as-reported, by
custody
| Value | Means |
|---|---|
ASSET_CLASS_UNSPECIFIED |
the publisher does not know the class: what a plugin sends when its source's kind does not convert |
ASSET_CLASS_EQUITY |
a share of ownership |
ASSET_CLASS_DEBT |
somebody owes the holder |
ASSET_CLASS_FUND |
a share of a pool, exchange-traded and mutual funds among them |
ASSET_CLASS_DERIVATIVE |
a contract whose value comes from something else, options and futures among them |
ASSET_CLASS_CRYPTO_ASSET |
a crypto asset |
ASSET_CLASS_EVENT_CONTRACT |
pays on whether an event happens |
ASSET_CLASS_CASH |
a currency's cash instrument |
identifiers¶
repeated message Identifier · since v2 · stable
Carries everything the publisher held at the miss.
- Means: enough to pull against a global scheme, or to mint a record carrying them
- Does not mean: a request to mint: a miss is a fact, and the publisher has no authority to create identity
- Empty: never empty
- Filled: as-reported, by
custody
as_of_ns¶
moment · since v2 · stable
Says the date the missed resolve was for.
- Means: reference time: the reaction targets the mapping effective then
- Does not mean: when the miss was observed
- Empty: 0 for now
- Filled: as-reported, by
custody - Unit: nanoseconds since the epoch
publisher_instance_id¶
identifier instance · since v2 · stable
Names the plugin that reported the miss.
- Means: the instance the sidecar was launched to serve
- Does not mean: anything a plugin may choose
- Empty: a plugin leaves it empty; its sidecar sets it
- Filled: stamped, by
sidecar
reason¶
enum MissReason · since v2 · stable
Says why the resolve missed.
- Means: not found, or ambiguous, as the resolve answered
- Does not mean: an error
- Empty: unspecified where the publisher did not say
- Filled: as-reported, by
custody
| Value | Means |
|---|---|
MISS_REASON_UNSPECIFIED |
not said |
MISS_REASON_NOT_FOUND |
no record matched |
MISS_REASON_AMBIGUOUS |
more than one matched |
observed_at_ns¶
moment · since v2 · stable
Records when the publisher saw the miss.
- Means: the publisher's clock
- Does not mean: the date the resolve was for
- Empty: never 0
- Filled: as-reported, by
custody - Unit: nanoseconds since the epoch
asset_class_as_reported¶
message AsReported · since v11 · stable
Carries the source's kind that did not convert to an asset class.
- Means: for the person setting the class, and counted as evidence the classes may need to grow
- Does not mean: a class any reader may act on: nothing past the plugin interprets it
- Empty: unset unless the source's kind did not convert, and then only beside an unspecified asset class
- Filled: as-reported, by
custody
ResolveVenueRequest¶
meridian.v1.ResolveVenueRequest, a message.
identifiers¶
repeated message Identifier · since v18 · preview
Carries the codes a source named a venue by.
- Means: a MIC under iso10383, or a vendor's code as symbol with its source
- Does not mean: a venue ID, which needs no resolving
- Empty: never empty
- Filled: as-reported, by
data
as_of_ns¶
moment · since v18 · preview
Says the date a venue resolution is for.
- Means: the reference time: a MIC names the venue in force then
- Does not mean: when the plugin asked
- Empty: 0: now
- Filled: as-reported, by
data - Unit: nanoseconds since the epoch
ResolveVenueReply¶
meridian.v1.ResolveVenueReply, a message.
found¶
boolean · since v18 · preview
Says whether one venue the deployment holds was named.
- Means: true when exactly one did
- Does not mean: whether the platform holds it
- Empty: false: a miss
- Filled: decided, by
instrument
venue¶
message VenueRecord · since v18 · preview
Answers the venue named.
- Means: the venue master's record as the deployment holds it
- Does not mean: a venue the deployment minted: it mints none
- Empty: unset on a miss
- Filled: decided, by
instrument
miss_reason¶
enum MissReason · since v18 · preview
Says why a venue did not resolve.
- Means: not found, or ambiguous
- Does not mean: an error
- Empty: unspecified when found
- Filled: decided, by
instrument
| Value | Means |
|---|---|
MISS_REASON_UNSPECIFIED |
found |
MISS_REASON_NOT_FOUND |
no venue the deployment holds is named |
MISS_REASON_AMBIGUOUS |
more than one is |
MissingVenueDetectedEvent¶
meridian.v1.MissingVenueDetectedEvent, a message.
source¶
text · since v18 · preview
Names the namespace a venue miss occurred in.
- Means: the plugin's scheme for its source
- Does not mean: the venue
- Empty: never empty
- Filled: as-reported, by
data
identifiers¶
repeated message Identifier · since v18 · preview
Carries everything the plugin held of the venue.
- Means: the codes the source gave, for the platform to answer by
- Does not mean: a request to mint: a deployment never mints a venue
- Empty: never empty
- Filled: as-reported, by
data
as_of_ns¶
moment · since v18 · preview
Says the date of the missed resolve.
- Means: its reference time
- Does not mean: when it was reported
- Empty: 0: now
- Filled: as-reported, by
data - Unit: nanoseconds since the epoch
publisher_instance_id¶
identifier instance · since v18 · preview
Names the instance that reported the miss.
- Means: the instance the sidecar serves
- Does not mean: the vendor
- Empty: empty from a plugin: the sidecar stamps it
- Filled: stamped, by
sidecar
reason¶
enum MissReason · since v18 · preview
Says why the venue resolve missed.
- Means: not found, or ambiguous
- Does not mean: an error
- Empty: unspecified where the publisher did not say
- Filled: as-reported, by
data
| Value | Means |
|---|---|
MISS_REASON_UNSPECIFIED |
not said |
MISS_REASON_NOT_FOUND |
no venue the deployment holds is named |
MISS_REASON_AMBIGUOUS |
more than one is |
observed_at_ns¶
moment · since v18 · preview
Says when the plugin saw the miss.
- Means: the time on the plugin's clock
- Does not mean: the reference time
- Empty: never 0
- Filled: as-reported, by
data - Unit: nanoseconds since the epoch
ReadCalendarRequest¶
meridian.v1.ReadCalendarRequest, a message.
calendar_id¶
text · since v22 · preview
Names the calendar read (W3.19).
- Means: its
CAL-ID, the platform's, never reused - Does not mean: a currency code or an FpML business centre
- Empty: never empty
- Filled: as-reported, by
plugin
from_date¶
date · since v22 · preview
Says where the range starts.
- Means: ISO 8601, inclusive
- Does not mean: a moment
- Empty: never empty
- Filled: as-reported, by
plugin
to_date¶
date · since v22 · preview
Says where the range ends.
- Means: ISO 8601, inclusive; a range ending before it starts is refused INVALID_ARGUMENT naming to_date
- Does not mean: a moment
- Empty: never empty
- Filled: as-reported, by
plugin
as_of_ns¶
moment · since v22 · preview
Reads the calendar as of a recorded time.
- Means: the versions in force then, so a past answer is reproduced exactly
- Does not mean: a valid time
- Empty: 0 is the latest version held
- Filled: as-reported, by
plugin - Unit: nanoseconds since the epoch
ReadCalendarReply¶
meridian.v1.ReadCalendarReply, a message.
found¶
boolean · since v22 · preview
Says whether the calendar is held.
- Means: true when the store answered from a version it holds
- Does not mean: whether a day is a business day
- Empty: false: the calendar is not held, reported missing (W3.18)
- Filled: decided, by
instrument
calendar_id¶
text · since v22 · preview
Names the calendar answered.
- Means: its
CAL-ID - Does not mean: a currency code
- Empty: never empty
- Filled: decided, by
instrument
version¶
integer · since v22 · preview
Says which version answered.
- Means: monotonic, assigned by the platform, starting at 1
- Does not mean: a count of days
- Empty: 0 when not found
- Filled: decided, by
instrument - Unit: versions of the record
days¶
repeated message CalendarDay · since v22 · preview
Answers the days listed in the range.
- Means: each closed weekday and each weekend business day, with its source
- Does not mean: every business day: a day not listed is read by the weekends
- Empty: empty where none is listed in the range
- Filled: decided, by
instrument
weekends¶
repeated message CalendarWeekend · since v22 · preview
Answers the calendar's weekends.
- Means: each dated, so a change of weekend takes effect on its day
- Does not mean: a closed day
- Empty: empty when not found
- Filled: decided, by
instrument
coverage¶
message CalendarCoverage · since v22 · preview
Answers the dates the calendar vouches for.
- Means: outside them a date's status is not known
- Does not mean: the range read
- Empty: unset when not found
- Filled: decided, by
instrument
sources¶
repeated message CalendarSource · since v22 · preview
Answers the version's sources.
- Means: each with the moment the platform read it
- Does not mean: a vendor's licensed calendar
- Empty: empty when not found
- Filled: decided, by
instrument
CalendarDay¶
meridian.v1.CalendarDay, a message.
date¶
date · since v22 · preview
Names a listed day.
- Means: ISO 8601, a plain date
- Does not mean: a moment
- Empty: never empty
- Filled: decided, by
platform
kind¶
enum CalendarDayKind · since v22 · preview
Says what the listed day is.
- Means: a closed weekday, or a weekend day that is a business day
- Does not mean: a weekend, which the weekends say
- Empty: never unspecified
- Filled: decided, by
platform
| Value | Means |
|---|---|
CALENDAR_DAY_KIND_UNSPECIFIED |
not said |
CALENDAR_DAY_KIND_CLOSED |
a weekday that is not a business day: a holiday, an ad hoc closure |
CALENDAR_DAY_KIND_OPEN |
a weekend day that is nevertheless a business day |
name¶
text · since v22 · preview
Names the holiday.
- Means: its name as the source gives it
- Does not mean: a translation
- Empty: empty on an open day
- Filled: decided, by
platform
source¶
text · since v22 · preview
Names the source the day came from.
- Means: a source_id among the version's sources
- Does not mean: an address
- Empty: never empty: a day is never listed without a source
- Filled: decided, by
platform - Required on:
DefineCalendarfrom v22;AmendCalendarfrom v22
CalendarSource¶
meridian.v1.CalendarSource, a message.
source_id¶
text · since v22 · preview
Names a source within its version.
- Means: unique within the version, which its days name
- Does not mean: the platform's ID for a record
- Empty: never empty
- Filled: decided, by
platform
name¶
text · since v22 · preview
Names the source.
- Means: as the platform records it
- Does not mean: an address
- Empty: never empty
- Filled: decided, by
platform
address¶
text · since v22 · preview
Says where the source is read.
- Means: a public primary source's address
- Does not mean: a vendor's licensed feed
- Empty: never empty
- Filled: decided, by
platform
read_at_ns¶
moment · since v22 · preview
Records when the platform read the source (requirement 3).
- Means: the moment read
- Does not mean: when the version was recorded
- Empty: never 0
- Filled: decided, by
platform - Unit: nanoseconds since the epoch
- Required on:
DefineCalendarfrom v22;AmendCalendarfrom v22;DefineDateRulefrom v22;AmendDateRulefrom v22
CalendarWeekend¶
meridian.v1.CalendarWeekend, a message.
weekdays¶
repeated enum Weekday · since v22 · preview
Says the calendar's weekend days.
- Means: a set: each weekday once
- Does not mean: a closed day
- Empty: never empty
- Filled: decided, by
platform
| Value | Means |
|---|---|
WEEKDAY_UNSPECIFIED |
not said |
WEEKDAY_MONDAY |
Monday |
WEEKDAY_TUESDAY |
Tuesday |
WEEKDAY_WEDNESDAY |
Wednesday |
WEEKDAY_THURSDAY |
Thursday |
WEEKDAY_FRIDAY |
Friday |
WEEKDAY_SATURDAY |
Saturday |
WEEKDAY_SUNDAY |
Sunday |
valid_from_date¶
date · since v22 · preview
Says when the weekend takes effect.
- Means: ISO 8601
- Does not mean: the version's valid time
- Empty: never empty
- Filled: decided, by
platform
CalendarCoverage¶
meridian.v1.CalendarCoverage, a message.
from_date¶
date · since v22 · preview
Says the first date the calendar vouches for.
- Means: ISO 8601, inclusive
- Does not mean: a business day
- Empty: never empty
- Filled: decided, by
platform
to_date¶
date · since v22 · preview
Says the last date the calendar vouches for.
- Means: ISO 8601, inclusive; past it a date is not known, never a business day by default
- Does not mean: a business day
- Empty: never empty
- Filled: decided, by
platform
ComputeDateRequest¶
meridian.v1.ComputeDateRequest, a message.
settlement¶
message SettlementDateInputs · since v22 · preview
Asks for an instrument's settlement date (W3.20).
- Means: by its market's rule
- Does not mean: a stated date
- Empty: unset unless the question is a settlement date
- Filled: as-reported, by
plugin
spot¶
message SpotDateInputs · since v22 · preview
Asks for a pair's spot date.
- Means: from a trade date, or a moment through the pair's cut
- Does not mean: a tenor date
- Empty: unset unless the question is a spot date
- Filled: as-reported, by
plugin
tenor¶
message TenorDateInputs · since v22 · preview
Asks for a tenor date.
- Means: from a trade date and a tenor
- Does not mean: a spot date
- Empty: unset unless the question is a tenor date
- Filled: as-reported, by
plugin
as_of_ns¶
moment · since v22 · preview
Asks as of a recorded time.
- Means: the records in force then; the same inputs and versions always give the same date, the wall clock never read
- Does not mean: a valid time
- Empty: 0 is the latest held
- Filled: as-reported, by
plugin - Unit: nanoseconds since the epoch
roll¶
message RollInputs · since v22 · preview
Asks for a date rolled by a convention.
- Means: on a set of calendars
- Does not mean: a settlement date
- Empty: unset unless the question is a roll
- Filled: as-reported, by
plugin
business_day¶
message BusinessDayInputs · since v22 · preview
Asks whether a date is a business day.
- Means: on a set of calendars
- Does not mean: a roll
- Empty: unset unless the question is a business day
- Filled: as-reported, by
plugin
ComputeDateReply¶
meridian.v1.ComputeDateReply, a message.
date¶
date · since v22 · preview
Answers the date.
- Means: ISO 8601
- Does not mean: a guess: nothing is guessed
- Empty: empty unless computed
- Filled: derived, by
instrument
outcome¶
enum DateOutcome · since v22 · preview
Says why a date was or was not computed (requirement 9).
- Means: computed, calendar not held, outside coverage, or rule not held
- Does not mean: a refusal: a malformed input is refused, naming the field
- Empty: never unspecified
- Filled: derived, by
instrument
| Value | Means |
|---|---|
DATE_OUTCOME_UNSPECIFIED |
not said |
DATE_OUTCOME_COMPUTED |
computed: the date and its basis are given |
DATE_OUTCOME_CALENDAR_NOT_HELD |
a calendar is not held yet: transient, reported missing, the conductor pulls it, the asker retries |
DATE_OUTCOME_OUTSIDE_COVERAGE |
a date falls outside a calendar's coverage: never a business day by default, and nothing computed |
DATE_OUTCOME_RULE_NOT_HELD |
no rule is held for the subject: reported missing as a calendar is |
basis¶
message DateBasis · since v22 · preview
Says what the date was computed on.
- Means: the rule and each calendar, with their versions, so anything recording the date records its basis
- Does not mean: the venue's basis
- Empty: unset unless computed
- Filled: derived, by
instrument
business_day¶
boolean · since v22 · preview
Answers a business-day question.
- Means: whether the date is one on every calendar named
- Does not mean: a roll
- Empty: false unless a business-day question computed true
- Filled: derived, by
instrument
SettlementDateInputs¶
meridian.v1.SettlementDateInputs, a message.
instrument_id¶
identifier instrument · since v22 · preview
Names the instrument.
- Means: the deployment's instrument ID; its market's rule applies
- Does not mean: a venue's symbol
- Empty: never empty
- Filled: as-reported, by
plugin
trade_date¶
date · since v22 · preview
Says the trade date.
- Means: ISO 8601
- Does not mean: a moment
- Empty: never empty
- Filled: as-reported, by
plugin
SpotDateInputs¶
meridian.v1.SpotDateInputs, a message.
pair¶
repeated identifier instrument · since v22 · preview
Names the pair.
- Means: two cash instruments'
INS-IDs, in either order - Does not mean: ISO 4217 codes
- Empty: never empty
- Filled: as-reported, by
plugin - Bounds: 2 to 2 items; past it, refused
trade_date¶
date · since v22 · preview
Says the trade date.
- Means: ISO 8601
- Does not mean: a moment
- Empty: empty where at_ns is given
- Filled: as-reported, by
plugin
at_ns¶
moment · since v22 · preview
Gives an execution's moment in place of a trade date.
- Means: its trade date taken through the pair's cut, plus one day at or after it (Q7)
- Does not mean: a trade date
- Empty: 0 where trade_date is given
- Filled: as-reported, by
plugin - Unit: nanoseconds since the epoch
TenorDateInputs¶
meridian.v1.TenorDateInputs, a message.
pair¶
repeated identifier instrument · since v22 · preview
Names the pair.
- Means: two cash instruments'
INS-IDs, in either order - Does not mean: ISO 4217 codes
- Empty: never empty
- Filled: as-reported, by
plugin - Bounds: 2 to 2 items; past it, refused
tenor¶
message Tenor · since v22 · preview
Says the tenor.
- Means: a count of a unit
- Does not mean: a date
- Empty: never unset
- Filled: as-reported, by
plugin
trade_date¶
date · since v22 · preview
Says the trade date.
- Means: ISO 8601; the tenor date is computed from spot
- Does not mean: spot
- Empty: never empty
- Filled: as-reported, by
plugin
Tenor¶
meridian.v1.Tenor, a message.
count¶
integer · since v22 · preview
Says how many of the unit.
- Means: of the unit; 1 for the short dates
- Does not mean: business days
- Empty: never 0
- Filled: as-reported, by
plugin - Unit: the tenor's unit
unit¶
enum TenorUnit · since v22 · preview
Says the tenor's unit.
- Means: days, weeks, months or years, or the short dates overnight, tom-next and spot-next
- Does not mean: a convention
- Empty: never unspecified
- Filled: as-reported, by
plugin
| Value | Means |
|---|---|
TENOR_UNIT_UNSPECIFIED |
not said |
TENOR_UNIT_DAY |
days, added as calendar days from spot, then rolled by the convention |
TENOR_UNIT_WEEK |
weeks, added as calendar days from spot, then rolled by the convention |
TENOR_UNIT_MONTH |
months, added from spot, by the end-of-month rule where it applies |
TENOR_UNIT_YEAR |
years, added from spot as months are |
TENOR_UNIT_OVERNIGHT |
overnight: one business day from the trade date |
TENOR_UNIT_TOM_NEXT |
tom-next: one business day from the next day |
TENOR_UNIT_SPOT_NEXT |
spot-next: one business day from spot |
RollInputs¶
meridian.v1.RollInputs, a message.
date¶
date · since v22 · preview
Names the date to roll.
- Means: ISO 8601
- Does not mean: a moment
- Empty: never empty
- Filled: as-reported, by
plugin
convention¶
enum BusinessDayConvention · since v22 · preview
Says how to roll.
- Means: following, modified following, preceding, or none
- Does not mean: a calendar
- Empty: never unspecified
- Filled: as-reported, by
plugin
| Value | Means |
|---|---|
BUSINESS_DAY_CONVENTION_UNSPECIFIED |
not said |
BUSINESS_DAY_CONVENTION_FOLLOWING |
to the next business day |
BUSINESS_DAY_CONVENTION_MODIFIED_FOLLOWING |
to the next business day, unless that is in the next month, then to the one before |
BUSINESS_DAY_CONVENTION_PRECEDING |
to the business day before |
BUSINESS_DAY_CONVENTION_NONE |
not rolled |
calendars¶
repeated text · since v22 · preview
Names the calendars a day must be good in.
- Means: by their
CAL-IDs; a day is good only if good in every one - Does not mean: currency codes
- Empty: never empty
- Filled: as-reported, by
plugin
BusinessDayInputs¶
meridian.v1.BusinessDayInputs, a message.
date¶
date · since v22 · preview
Names the date asked about.
- Means: ISO 8601
- Does not mean: a moment
- Empty: never empty
- Filled: as-reported, by
plugin
calendars¶
repeated text · since v22 · preview
Names the calendars asked about.
- Means: by their
CAL-IDs; a business day on all of them - Does not mean: currency codes
- Empty: never empty
- Filled: as-reported, by
plugin
SpotDateRule¶
meridian.v1.SpotDateRule, a message.
pair¶
repeated identifier instrument · since v22 · preview
Names the currency pair a spot-date rule is for (W1.22).
- Means: two cash instruments'
INS-IDs, in either order; a side that is not a cash instrument is refused INVALID_ARGUMENT naming it - Does not mean: ISO 4217 codes, or a pair's direction
- Empty: never empty
- Filled: entered, by
platform - Bounds: 2 to 2 items; past it, refused
counting_mode¶
enum SpotCountingMode · since v23 · preview
Says how a pair's spot lag counts its calendars (W1.22, W3.20).
- Means: the rule's counting mode (contract v23), which core's spot computation honours and the curation tools' rule input carries
- Does not mean: which calendars the spot date itself must be good in, which spot_calendars says
- Empty: unspecified means joint, so every rule held keeps its dates
- Filled: entered, by
platform
| Value | Means |
|---|---|
SPOT_COUNTING_MODE_UNSPECIFIED |
joint, v22's way |
SPOT_COUNTING_MODE_JOINT |
a day counts only if it is a business day on every counting calendar |
SPOT_COUNTING_MODE_EACH_CURRENCY |
each currency's spot on its own calendar, the later of the two, then rolled to a day good on both: the convention for a cross |
InstrumentReplacedEvent¶
meridian.v1.InstrumentReplacedEvent, a message.
replaced_instrument_id¶
identifier instrument · since v24 · preview
Names the record replaced (W3.8).
- Means: a record merged, resolved or merged on the platform; kept by everything made with it, and answered as the record it became
- Does not mean: a deleted record: none is deleted
- Empty: never empty
- Filled: decided, by
instrument
instrument¶
message InstrumentRecord · since v24 · preview
Carries the record that replaces it.
- Means: the record that stays, at its version
- Does not mean: a copy of the replaced record
- Empty: never empty
- Filled: decided, by
instrument
replaced_at_ns¶
moment · since v24 · preview
Says when the replacement was recorded.
- Means: the instrument store's record time
- Does not mean: when the security changed in the world
- Empty: never empty
- Filled: decided, by
instrument - Unit: nanoseconds since the epoch
cause¶
enum ReplacementCause · since v24 · preview
Says why the record was replaced (W3.8; the one-ID spec's requirement 3).
- Means: a person's merge, a provisional record resolved, or a platform merge its staff decided; past replacements backfilled honestly, each saying so
- Does not mean: a reason a person wrote
- Empty: unspecified only on a replacement recorded before v24 and not yet backfilled
- Filled: decided, by
instrument
| Value | Means |
|---|---|
REPLACEMENT_CAUSE_UNSPECIFIED |
not said: a replacement before v24 whose facts are missing, recorded as a gap |
REPLACEMENT_CAUSE_MERGED |
a person merged the record into the one that stays (W3.13) |
REPLACEMENT_CAUSE_RESOLVED |
a provisional record resolved to the platform's INS- record |
REPLACEMENT_CAUSE_PLATFORM_MERGED |
the platform merged two INS- records, followed from the replacement feed (W3.27) |
sequence¶
integer · since v24 · preview
Numbers the replacement in the store's sequence (W3.22).
- Means: monotonic per deployment; ListReplacements reads after it
- Does not mean: a book partition's sequence
- Empty: never zero on a replacement recorded from v24
- Filled: decided, by
instrument - Unit: replacements recorded
ListReplacementsRequest¶
meridian.v1.ListReplacementsRequest, a message.
after_sequence¶
integer · since v24 · preview
Reads the replacements recorded after a sequence (W3.22).
- Means: the last sequence the plugin saw, as GLEIF's delta files and FIX's resend from BeginSeqNo (7) do
- Does not mean: a time
- Empty: zero reads every replacement
- Filled: as-reported, by
operations - Unit: replacements recorded
ListReplacementsReply¶
meridian.v1.ListReplacementsReply, a message.
replacements¶
repeated message InstrumentReplacedEvent · since v24 · preview
Answers the replacements in sequence.
- Means: each as its delivery carried it
- Does not mean: records not replaced
- Empty: empty when none since
- Filled: decided, by
instrument
sequence¶
integer · since v24 · preview
Says the sequence read to.
- Means: the next read's after_sequence
- Does not mean: a count
- Empty: the sequence asked after, when none since
- Filled: decided, by
instrument - Unit: replacements recorded
OfferTemplateFieldsRequest¶
meridian.v1.OfferTemplateFieldsRequest, a message.
instrument_id¶
identifier instrument · since v24 · preview
Names the record the fields are offered for (W3.23).
- Means: a record the deployment holds, followed through its replacement
- Does not mean: a mint request: the plugin never asks for one
- Empty: never empty
- Filled: as-reported, by
reference
template_id¶
text · since v24 · preview
Names the template the fields belong to.
- Means: a template the catalogue holds
- Does not mean: the record's asset class
- Empty: never empty
- Filled: as-reported, by
reference
template_version¶
text · since v24 · preview
Names the template version.
- Means: a version the catalogue holds; one it does not is refused naming it
- Does not mean: the record's own version
- Empty: never empty
- Filled: as-reported, by
reference
fields¶
repeated message TemplateFieldValue · since v24 · preview
Carries the values offered.
- Means: each a value at its template field's path with its provenance; offers, in force once a person accepts them
- Does not mean: values in force
- Empty: never empty
- Filled: as-reported, by
reference
TemplateFieldValue¶
meridian.v1.TemplateFieldValue, a message.
path¶
text · since v24 · preview
Names the template field.
- Means: the field's path in the template; one the template lacks is refused naming it
- Does not mean: a dictionary entry of the contract
- Empty: never empty
- Filled: as-reported, by
reference
value¶
text · since v24 · preview
Carries the value offered.
- Means: as the template's field type writes it
- Does not mean: a value in force
- Empty: never empty
- Filled: as-reported, by
reference
provenance¶
message Provenance · since v24 · preview
Says where the value came from.
- Means: the source the plugin reconciled it from, so a licensed vendor's value stays in the deployment
- Does not mean: the decider: a person decides by accepting
- Empty: unset means the plugin's own source, its raw record named
- Filled: as-reported, by
reference
OfferTemplateFieldsReply¶
meridian.v1.OfferTemplateFieldsReply, a message.
instrument¶
message InstrumentRecord · since v24 · preview
Answers the record with the offers kept.
- Means: at its new version
- Does not mean: the platform's record
- Empty: never unset
- Filled: decided, by
instrument
ListTemplatesRequest¶
meridian.v1.ListTemplatesRequest, a message.
asset_class¶
enum AssetClass · since v24 · preview
Narrows the list to a class.
- Means: the class's templates, its base template among them
- Does not mean: a type
- Empty: unspecified lists every class
- Filled: as-reported, by
reference
| Value | Means |
|---|---|
ASSET_CLASS_UNSPECIFIED |
every class |
ASSET_CLASS_EQUITY |
a share of ownership |
ASSET_CLASS_DEBT |
somebody owes the holder |
ASSET_CLASS_FUND |
a share of a pool, exchange-traded and mutual funds among them |
ASSET_CLASS_DERIVATIVE |
a contract whose value comes from something else, options and futures among them |
ASSET_CLASS_CRYPTO_ASSET |
a crypto asset |
ASSET_CLASS_EVENT_CONTRACT |
pays on whether an event happens |
ASSET_CLASS_CASH |
a currency's cash instrument |
ListTemplatesReply¶
meridian.v1.ListTemplatesReply, a message.
templates¶
repeated message SecurityTemplate · since v24 · preview
Answers the templates held.
- Means: each at its latest version
- Does not mean: instrument records
- Empty: empty when none held
- Filled: decided, by
instrument
ReadTemplateRequest¶
meridian.v1.ReadTemplateRequest, a message.
template_id¶
text · since v24 · preview
Names the template to read.
- Means: a template the catalogue holds; one it does not is answered not found
- Does not mean: an instrument
- Empty: never empty
- Filled: as-reported, by
reference
template_version¶
text · since v24 · preview
Names the version to read.
- Means: a published version, answered the same every time
- Does not mean: the record's version
- Empty: empty reads the latest
- Filled: as-reported, by
reference
ReadTemplateReply¶
meridian.v1.ReadTemplateReply, a message.
template¶
message SecurityTemplate · since v24 · preview
Answers the template at its version.
- Means: whole: its class, fields and match rule
- Does not mean: an instrument record
- Empty: never unset
- Filled: decided, by
instrument
SecurityTemplate¶
meridian.v1.SecurityTemplate, a message.
template_id¶
text · since v24 · preview
Identifies the template.
- Means: the platform's, never a deployment's
- Does not mean: an asset class
- Empty: never empty
- Filled: decided, by
platform
template_version¶
text · since v24 · preview
Names the template's version.
- Means: published and immutable; a change is a new version
- Does not mean: a deployment's copy
- Empty: never empty
- Filled: decided, by
platform
asset_class¶
enum AssetClass · since v24 · preview
Names the class the template is for.
- Means: a base template's class, or a type's
- Does not mean: a type
- Empty: never unspecified
- Filled: decided, by
platform
| Value | Means |
|---|---|
ASSET_CLASS_UNSPECIFIED |
not said; never answered |
ASSET_CLASS_EQUITY |
a share of ownership |
ASSET_CLASS_DEBT |
somebody owes the holder |
ASSET_CLASS_FUND |
a share of a pool, exchange-traded and mutual funds among them |
ASSET_CLASS_DERIVATIVE |
a contract whose value comes from something else, options and futures among them |
ASSET_CLASS_CRYPTO_ASSET |
a crypto asset |
ASSET_CLASS_EVENT_CONTRACT |
pays on whether an event happens |
ASSET_CLASS_CASH |
a currency's cash instrument |
match_rule¶
repeated text · since v24 · preview
Says what makes two records one security.
- Means: the identifier schemes it matches on, identifiers only for the first six templates (the one-ID spec's requirement 17), each by its scheme's spelling: share_class_figi first, the security's key, a composite_figi or a figi (exchange-level) resolved to it before matching and the composite where no share-class FIGI exists; ticker with its venue's ISO 10383 MIC in the Identifier's source, or its VEN- ID where the venue has none; sec_series, sec_class, iso4217, caip19, symbol (ruled 2026-10-14)
- Does not mean: a terms match, which arrives with bonds
- Empty: never empty
- Filled: decided, by
platform
name¶
text · since v24 · preview
Names the template for a person (approved 2026-10-14).
- Means: the platform's words for it, shown where a record names its template
- Does not mean: its ID, which template_id is
- Empty: never empty
- Filled: decided, by
platform
instrument_type¶
enum InstrumentType · since v24 · preview
Says which type within its asset class the template is for (approved 2026-10-14).
- Means: a type on the contract's list, under the template's asset class
- Does not mean: a code of ISO 10962, a reference only
- Empty: unspecified for a class's base template
- Filled: decided, by
platform
| Value | Means |
|---|---|
INSTRUMENT_TYPE_UNSPECIFIED |
no type: a class's base template, or a class's template that is no type's |
INSTRUMENT_TYPE_MONEY_MARKET_FUND |
the money market fund's template, under fund |
INSTRUMENT_TYPE_BINARY_EVENT_CONTRACT |
the binary event contract's template, under event_contract |
base¶
boolean · since v24 · preview
Says the template is its class's base template (approved 2026-10-14).
- Means: true for the one template per asset class carrying identifiers, a description and a currency, which a local record of a type the catalogue lacks names (W3.7); the platform mints no INS- record under it
- Does not mean: a default a record falls back to when minted
- Empty: false: the template adds a type's or a class's terms
- Filled: decided, by
platform
calculation¶
text · since v24 · preview
Names the template version's calculation package (approved 2026-10-14).
- Means: the slot is defined and empty at v24; the package's form is the template calculations' to rule
- Does not mean: a calculation a deployment or a plugin defines
- Empty: empty in every template until the template calculations (row 6i')
- Filled: decided, by
platform
fields¶
repeated message TemplateField · since v24 · preview
Lists the template's fields (W3.24).
- Means: each by its path, its type and whether it is required; a record missing a required field is incomplete (W3.7)
- Does not mean: the record's values
- Empty: never empty
- Filled: decided, by
platform
TemplateField¶
meridian.v1.TemplateField, a message.
path¶
text · since v24 · preview
Names the field within the template.
- Means: its path, as an offer (TemplateFieldValue.path) and a missing field name it
- Does not mean: a dictionary entry of the contract
- Empty: never empty
- Filled: decided, by
platform
type¶
text · since v24 · preview
Says what the field's value is.
- Means: one of the contract's types (format.yaml's
lists.types), as a dictionary entry's type is written - Does not mean: a vendor's type
- Empty: never empty
- Filled: decided, by
platform
required¶
boolean · since v24 · preview
Says whether the template requires the field.
- Means: true: a record without it is incomplete, its missing fields listed (W3.7); the platform mints an INS- record only when its own source's values fill every required field, and queues the request for its staff otherwise (W1.25)
- Does not mean: whether a person must set it
- Empty: false: the field may be empty
- Filled: decided, by
platform
Generated from boundaries/fields.json in meridian-schema at a6a0af7, contract v24.