Enums
FXOrder
Top-level template. Signatories: operator + sender’s custodian. Observers: sender, receiver, receiver’s custodian, and the market maker (once a quote is accepted).
The
ensure clause requires targetAmount > 0, expiresAt > createdAt, a non-empty intentId, and valid source / target currency identifiers.
SenderInfo / ReceiverInfo
Mirror records on either side of the trade. They carry party identity only.
CurrencyIdentifier
Dual-identifier scheme. iso4217 is the three-letter reference currency; tokenSymbol is the on-ledger token symbol.
SourceAsset / TargetAsset
SourceAsset describes what the sender is selling; TargetAsset describes what the receiver is to be paid. Musubi is receiver-fixed: targetAmount is the primary input; market makers quote sourceAmountMax.
QuoteInfo
Populated at QUOTED. Rate-source fields carry non-derivable market evidence at the moment the quote was captured. The fee amount itself is not stored because it is derivable: feeAmount ≡ mmQuotedSourceAmount − (midMarketRate × targetAmount).
MarketMakerInfo
Populated at QUOTED.
SettlementInfo
Populated at SETTLED.
Related reading
- Privacy — how per-sub-transaction privacy keeps counterparty identity off the market maker’s view.
- Trust model — operator-less, four-eyes co-signature, and the atomic settlement guarantee.