Files
papers/mpc-custody/sections/06-settlement-flow.tex
zeekay cb1155764d paper(ssb-partnership): Salaam Somali Bank — Shariah-native, diaspora-linked, Africa-wide modernisation
19-page paper (luxcover format) covering:
- SSB profile + diaspora corridor + why now (Honeycoin / VALR comparables)
- Partnership hypothesis (Simplici.io + Lux Network + SF Private Pay)
- Africa-at-Home concentric-rings deployment model
- Shariah-to-Lux primitive mapping (Murabahah, Mudharabah, Musharakah,
  Ijaarah, Sukuk, Takaful as typed on-chain objects with AAOIFI-aligned
  invariants)
- 5 augmentation workstreams (Shariah-native onboarding, on-chain
  Shariah contracts, diaspora corridor, drought-linked parametric
  Takaful, trade-finance digitisation)
- Commercial + compliance posture + phased roadmap
2026-06-10 22:35:36 -07:00

37 lines
1.7 KiB
TeX

\section{Settlement Flow}
\label{sec:settlement}
%% =====================================================================
The full settlement lifecycle for a securities trade on a regulated EVM L1:
\begin{enumerate}[nosep]
\item \textbf{Order.} User submits a trade order via the ATS API.
\item \textbf{Match.} The CEX matching engine (Lux CEX) matches
the order against the order book.
\item \textbf{Record.} The matched trade is recorded in PostgreSQL
(source of truth for trade data).
\item \textbf{Queue.} The trade is queued in the
\texttt{pending\_settlements} table.
\item \textbf{Sign.} A settlement cron (30s interval) picks up
pending trades, constructs the on-chain transactions
(mint/burn of SecurityToken), and initiates MPC signing.
\item \textbf{MPC.} The user's device share ($\mathbf{s}_1$) and
the operator's share ($\mathbf{s}_2$) cooperate to produce
a threshold signature.
\item \textbf{HSM.} The HSM co-signs the transaction, attesting
that the signing environment is uncompromised.
\item \textbf{Broadcast.} The signed transaction is broadcast to
a regulated EVM L1.
\item \textbf{Confirm.} The chain confirms the transaction. The
indexer picks up the event and updates the read cache.
\item \textbf{Notify.} The user receives a settlement confirmation.
\end{enumerate}
If the chain is temporarily unavailable, trades continue to match and
record in PostgreSQL. The settlement cron retries pending settlements
until chain connectivity is restored. The database is the durable
record; the chain is the authoritative record once settlement confirms.
%% =====================================================================