mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
MOR at $1.58, $14.3M cap, about $1.3M of DEX depth and $57K of daily volume, from CoinGecko and GeckoTerminal. Figures derived from them move with them: a $100K sell is now about two days of volume rather than eleven, and the emission worked example uses today's ~12,050 MOR/day. The protocol-owned share is stated as most of the depth; the exact share was an August read. Co-authored-by: Hanzo Dev <[email protected]>
1019 lines
63 KiB
TeX
1019 lines
63 KiB
TeX
\documentclass[11pt,a4paper]{article}
|
|
\usepackage{../shared/luxcover}
|
|
\usepackage{../shared/proposal}
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage[T1]{fontenc}
|
|
\usepackage{amsmath}
|
|
\usepackage{amssymb}
|
|
\usepackage{booktabs}
|
|
\usepackage{listings}
|
|
\usepackage{xcolor}
|
|
\input{../shared/lstlang}
|
|
|
|
\newcommand{\code}[1]{\texttt{\small #1}}
|
|
\newcommand{\prov}[1]{{\color{muted}\footnotesize\sffamily[#1]}}
|
|
\setlength{\emergencystretch}{3em}
|
|
\sloppy
|
|
|
|
\title{Morpheus on Lux}
|
|
\author{Zach Kelling\\\textit{Lux Industries, Inc.}\\\texttt{[email protected]}}
|
|
\date{2026}
|
|
|
|
\begin{document}
|
|
\luxcoverpage
|
|
|
|
{\small
|
|
\noindent This document is the master record of a read-only evaluation of the Morpheus
|
|
inference marketplace, conducted 2026-08-26 through 2026-08-29 against all 62 repositories in
|
|
the \code{MorpheusAIs} GitHub organization and against live on-chain state on Ethereum,
|
|
Arbitrum, and Base. No repository here is a fork of ours; no change was pushed anywhere. It is
|
|
written for the Morpheus core team and their investors. Numbers carry a provenance label:
|
|
\prov{verified} read line by line from source or chain, \prov{derived} computed from verified
|
|
inputs, \prov{illustrative} assumed for a worked example and not measured, \prov{pending} not
|
|
yet true and conditional on a stated event.\par}
|
|
|
|
\vspace{1.2em}
|
|
\tableofcontents
|
|
\clearpage
|
|
|
|
%======================================================================
|
|
\section{Executive summary}
|
|
%======================================================================
|
|
|
|
Morpheus describes itself as decentralized, verified, and agentic. The deployed code is
|
|
careful engineering at the layers where most projects are weak, and it does none of those
|
|
three things at the layer where it counts. This is not an accusation. Every gap named below is
|
|
disclosed in Morpheus's own code, comments, or configuration, which by any honest standard
|
|
makes it immaturity rather than deception. The point of the evaluation is narrower and more
|
|
useful: each of the words in the marketing already maps to a system we run in production on
|
|
Lux, Hanzo, or Zoo, so the distance between what Morpheus says and what Morpheus enforces is a
|
|
distance we can close with code that already exists.
|
|
|
|
The core finding is one sentence. A provider is paid \code{pricePerSecond} times elapsed
|
|
seconds (\code{SessionRouter.sol:264} \prov{verified}), with no reference in the payment
|
|
calculation to the model served, the tokens produced, or whether any inference occurred, and
|
|
no slashing anywhere in the contract tree (a \code{grep} for \code{slash|penalt|forfeit} over
|
|
the diamond returns nothing \prov{verified}). The receipt the provider signs already carries
|
|
\code{inputTokens} and \code{outputTokens} (\code{morrpcmessage/abi.go:12-20} \prov{verified}),
|
|
and the contract decodes five of its seven fields and drops both counts
|
|
(\code{SessionRouter.sol:236-240} \prov{verified}). Settlement is therefore fakeable, and every
|
|
economic mechanism built on top of it, including the buyback that is supposed to give the token
|
|
value, inherits that defect.
|
|
|
|
The economics around it are legible and unflattering. MOR trades at \$1.58, a market
|
|
capitalization near \$14M, with 24-hour volume of \$57,314 \prov{verified}. Tradeable DEX
|
|
liquidity is about \$1.32M, most of it owned by the protocol itself \prov{verified}. Real
|
|
external revenue, the Lido and Aave yield skimmed from deposits, was about \$476K over the
|
|
trailing four quarters and is falling \prov{verified}; MOR emission over the same period is
|
|
valued near \$5M to \$6M \prov{verified}. Emission outruns revenue by roughly ten to one. The
|
|
schedule that produces it (14,400 MOR/day declining to zero in 2040, 42,000,000 terminal, no
|
|
premine \prov{verified}) is the best property the token has, and the buyback that answers the
|
|
dilution (about \$511K over the trailing year \prov{verified}) is a sound loop that is simply
|
|
outrun.
|
|
|
|
The thesis follows directly. Keep MOR thin. Morpheus does not need to become a chain to become
|
|
real; it needs the settlement it already advertises and a source of value that scales with
|
|
usage rather than with deposits. The heavy machinery, post-quantum consensus, verified
|
|
inference, threshold custody, a learned router, order-book liquidity, self-repaying credit,
|
|
governance with a timelock, already runs on our stack. MOR taps it. It does not rebuild it.
|
|
|
|
The path is three phases with gates between them. Phase 0 stays on Base with no migration and
|
|
is reversible: four one-transaction fixes, a verified-settlement adjunct, and a demand source.
|
|
Phase 1 adds governance, an order-book venue, a bank rail, self-repaying credit, and a native
|
|
bridge. Phase 2, only if volume justifies it, moves settlement onto a Lux L1 with MOR bridged
|
|
as gas, introduces a value token, and cuts emission. Each phase turns on demonstrated on-chain
|
|
revenue, not on a promise.
|
|
|
|
The discipline that governs this document is stated once and kept throughout. We do not claim
|
|
what code does not enforce. That rule applies to our own stack, and Section~\ref{sec:heal}
|
|
carries our punch-list in the first person, unedited, because a pitch that Morpheus should
|
|
adopt our stack ``to become real'' is dishonest until our own stack meets the standard we are
|
|
selling. Where we are early, we say early.
|
|
|
|
%======================================================================
|
|
\section{Findings}
|
|
\label{sec:findings}
|
|
%======================================================================
|
|
|
|
Four categories. Each finding carries an identifier, the evidence in source or on chain, and a
|
|
severity we have deflated rather than inflated. The detailed write-ups live in the security
|
|
assessment and the decentralization study; this section is the verified summary and the credit
|
|
where it is due.
|
|
|
|
\subsection{Security and control}
|
|
|
|
\textbf{CTL-1, Critical.} A 5-of-9 multisig with no timelock has unilateral, instant, unbounded
|
|
control over mint, upgrade, and treasury. Every capital contract is UUPS with
|
|
\code{\_authorizeUpgrade} gated only by \code{onlyOwner} (\code{DistributionV6.sol:776},
|
|
\code{DepositPool.sol:761}, and the same pattern across the tree \prov{verified}). The token
|
|
has no supply cap; \code{mint} requires only \code{isMinter[msg.sender]} and \code{updateMinter}
|
|
is \code{onlyOwner} (\code{MOROFT.sol:50,61} \prov{verified}). The owner is one Gnosis Safe,
|
|
\code{0x1FE04BC15Cf2c5A2d41a0b3a96725596676eBa1E} \prov{verified}. Five keyholders acting
|
|
together can mint arbitrary MOR, upgrade the pool that custodies about \$20M of staked stETH
|
|
\prov{verified}, or retarget the emission stream, in a single block, with no delay in which a
|
|
depositor could observe and withdraw. Every other high-severity item reduces to ``the owner
|
|
does X.'' This one is the root, and it is fixable in one transaction: route ownership through a
|
|
timelock.
|
|
|
|
\textbf{CTL-2, High.} The owner directs 52\% of emission with no on-chain contribution check
|
|
(\code{manageUsersInPrivatePool}, \code{DistributionV6.sol:175}, \code{onlyOwner}
|
|
\prov{verified}); the contributor-to-weight mapping lives in a document, not on chain.
|
|
|
|
\textbf{SUP-1, High.} The 42,000,000 figure is a curve parameter in the reward math, not a
|
|
token invariant. The token itself has no ceiling; the same owner can add a minter and mint
|
|
without bound. The ``capped supply'' property is enforced by convention, not by the contract.
|
|
|
|
\subsection{Settlement and verifiability}
|
|
|
|
\textbf{SET-1, Medium.} Settlement pays for elapsed time and reads nothing about the work
|
|
delivered. \code{modelId} rides on the bid and never enters the bill
|
|
(\code{SessionRouter.sol:264} \prov{verified}). A provider is paid the same for the advertised
|
|
model, a cheaper substitute, or a degraded quantization.
|
|
|
|
\textbf{SET-2, Medium.} The two signed token counts are dropped at the contract boundary. The
|
|
receipt signs seven fields; \code{\_extractProviderReceipt} decodes five
|
|
(\code{SessionRouter.sol:236-240} \prov{verified}). The gap is exactly \code{inputTokens} and
|
|
\code{outputTokens}. The protocol discards, at no saving, the one authenticated work record it
|
|
already collects. The fix reads two words.
|
|
|
|
\textbf{SET-3, Medium.} The ranked party signs its own ranking input. \code{tps} and
|
|
\code{ttft} are accumulated by the provider's own \code{proxy-router} and feed a five-term
|
|
scorer, none of which measures answer correctness (\code{rating/scorer\_default.go:21-25}
|
|
\prov{verified}).
|
|
|
|
\textbf{SET-4, Medium.} Receipt validation checks the signer, not the counterparty, and has no
|
|
self-dealing check; nothing requires consumer and provider addresses to differ
|
|
(\code{SessionRouter.sol:537} \prov{verified}). Bounded by the 1\% daily budget, so a leak, not
|
|
a drain.
|
|
|
|
\textbf{SET-6, Informational.} Attestation proves an enclave ran, not which weights ran or that
|
|
a token reached the user. This is a property boundary, stated so the threat model is explicit:
|
|
attestation is not inference verification.
|
|
|
|
\subsection{Economics}
|
|
|
|
\textbf{ECO-1, Medium.} Emission outruns real revenue by roughly ten to one, and the gap widens
|
|
as price falls. Real yield was about \$476K trailing year and falling steeply, from \$3.24M in
|
|
Q1 2024 to \$63K in Q3 2026 \prov{verified}; emission is valued near \$5M to \$6M/year
|
|
\prov{verified}. A lower token reduces the deposit incentive, which reduces yield, which reduces
|
|
the buyback that supports the token. That feedback runs the wrong way.
|
|
|
|
\textbf{ECO-2, Medium.} Reselling third-party API quota is a documented provider path
|
|
(\code{docs/providers/resale/reselling-venice.mdx} \prov{verified}), and nothing on chain
|
|
distinguishes a resold key from GPU compute.
|
|
|
|
\textbf{ECO-3, Low.} No slashing exists; provider downside is a temporary dispute-hold. A
|
|
misbehaving provider risks time, not capital.
|
|
|
|
\textbf{ECO-4, Informational.} The yield-funded buyback (about \$511K trailing year, 75\% of
|
|
captured yield to buy-and-burn, buy-and-lock, and protocol-owned liquidity \prov{verified}) is
|
|
well designed and sound. Its only problem is scale.
|
|
|
|
\subsection{Decentralization and scale}
|
|
|
|
Decentralization is graded as a vector over six powers (upgrade, custody, halt or censor,
|
|
governance, exit, liveness), where the real score is the lowest load-bearing power, not an
|
|
average. Morpheus today scores 0 on upgrade, custody, halt, and governance: one Safe can swap
|
|
the compute diamond in one block, self-add as minter, recut settlement, and there is no
|
|
on-chain vote surface (\code{MOROFT.sol} is a LayerZero OFT with no vote checkpoints; the MRC
|
|
process is 86 Markdown files that bind nothing, dormant since 2025-11-17 \prov{verified}). The
|
|
honest counterweight is in Section~\ref{sec:heal}: our own stack does not yet clear this bar
|
|
either, and we say where.
|
|
|
|
On scale, the hosted gateway funds every Web2 caller from one shared consumer wallet; after a
|
|
nonce conflict on a session open or close the path serializes, and throughput clears a few
|
|
sessions per second \prov{verified}. That is an architectural ceiling, not a tuning knob.
|
|
|
|
The concentration facts, read from chain on 2026-08-29 (market figures as of 2026-09-18), presented as risks to
|
|
depositors rather than as accusations of intent. Existing supply is 9,286,960 MOR (Base 63\%,
|
|
Arbitrum 36\%, Ethereum under 1\%) \prov{verified}. Price is \$1.58, market capitalization
|
|
\$14.32M, 24-hour volume \$57,314, down 65.2\% on the year and 98.9\% from the all-time high
|
|
\prov{verified}. The Compute Reserve multisig holds roughly 2.87M MOR, 30.9\% of all MOR
|
|
\prov{verified}; the top ten holders on Base are 93.6\% of Base supply \prov{verified}. Tradeable
|
|
DEX liquidity is about \$1.32M, most of it protocol-owned, with a protocol-owned-liquidity
|
|
Safe holding 99.98\% of the main pool's active liquidity \prov{verified}. Daily volume is about 4\%
|
|
of liquidity; a \$100,000 sell equals nearly two days of total market volume \prov{derived}.
|
|
Price discovery and exit both depend on liquidity the protocol controls. This is a fragility any
|
|
depositor should be able to see stated plainly, and it is one a governance and liquidity plan
|
|
(ADOPT-03, ADOPT-06) should address.
|
|
|
|
\subsection{What Morpheus built well}
|
|
|
|
This is not throat-clearing; these are the parts we would keep if we were building on their
|
|
code, and Section~\ref{sec:keep} says so in detail.
|
|
|
|
\begin{itemize}
|
|
\item \textbf{The attestation engineering is serious.} 5,439 lines of Go bind a TDX
|
|
\code{report\_data} to a TLS certificate digest and check an NVIDIA \code{eat\_nonce},
|
|
with RTMR3 computed in CI against a signed manifest \prov{verified}. Most marketplaces
|
|
claim confidential compute and ship nothing; Morpheus shipped a working measurement path.
|
|
\item \textbf{The treasury bifurcation did its job.} Consumer-funded and treasury-funded
|
|
payments take different code paths, and the 1\% daily budget cap bounded the July 2026
|
|
stipend leak to roughly 25,000 MOR/day rather than draining the reserve \prov{verified}.
|
|
\item \textbf{The receipt already carries the work record.} Seven signed fields, including
|
|
both token counts \prov{verified}. The harder half of verifiable settlement, getting a
|
|
signed structured record off the provider, is already built.
|
|
\item \textbf{Accounting is receipt-derived and the audit trail is real.} No premine; the
|
|
\code{Docs/Security Audit Reports/} directory holds genuine Code4rena, Zenith, and
|
|
Renascence reports \prov{verified}. This is a project that paid for adversarial review and
|
|
kept the receipts.
|
|
\end{itemize}
|
|
|
|
The Ponzi accusation, tested directly, is refuted. Depositor principal is withdrawable 1:1
|
|
(\code{DepositPool.sol:265} \prov{verified}) and never redistributed; rewards are freshly
|
|
minted MOR, structurally a block reward. The defensible statement is ECO-1: an inflationary
|
|
reward under-earned by real demand, which is a sustainability question, not fraud.
|
|
|
|
%======================================================================
|
|
\section{The proposal, as a menu}
|
|
\label{sec:menu}
|
|
%======================================================================
|
|
|
|
The response is thirteen one-page proposals, the ADOPT series, each standing for a longer
|
|
paper and each independently readable. They are organized into four tiers by dependency depth,
|
|
not by importance. A tier is a floor: everything in it stands on what is below it. Morpheus can
|
|
take one tier, or one paper, or all four. Nothing here is a bundle that fails unless bought
|
|
whole.
|
|
|
|
\begin{center}\small
|
|
\begin{tabular}{@{}llll@{}}
|
|
\toprule
|
|
\textbf{Docket} & \textbf{What it fixes} & \textbf{Tier} & \textbf{Depends on} \\
|
|
\midrule
|
|
ADOPT-09 & CTL-1 timelock, SET-2/5 decode and bind, SET-4 self-deal & 1 & none \\
|
|
ADOPT-02 & SET-1/2/3, ECO-3: pay for work, not time & 1 & 09 \\
|
|
ADOPT-07 & ECO-1 demand, ECO-2 resale, SET-6 attested supply & 1 & 02 \\
|
|
\midrule
|
|
ADOPT-03 & CTL-1/CTL-2: timelock, vote surface, owner emission & 2 & 09 \\
|
|
ADOPT-08 & ECO-1/ECO-4: buyback fed by volume, not deposits & 2 & 02 \\
|
|
ADOPT-05 & fiat on-ramp: accounts and cards & 2 & none \\
|
|
ADOPT-06 & thin liquidity: order book and price discovery & 2 & 03 \\
|
|
ADOPT-04 & idle \$20M stETH, exit pressure: LMOR credit & 2 & 06 \\
|
|
\midrule
|
|
ADOPT-13 & hand-replicated cross-domain schedule: native bridge & 3 & 04 \\
|
|
ADOPT-10 & demand loop: reciprocal routing across the group & 3 & 07, 08 \\
|
|
\midrule
|
|
ADOPT-01 & no chain, validator set, or consensus of its own & 4 & 03, 13 \\
|
|
ADOPT-12 & keep MOR thin: tap, do not rebuild & 4 & 01 \\
|
|
ADOPT-11 & few sessions per second: settlement throughput & 4 & 01 \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{center}
|
|
|
|
\textbf{Tier 1, on Base, no migration, reversible.} The four one-transaction fixes protect
|
|
depositors and cost nothing structural (ADOPT-09). Verified settlement makes the meter read the
|
|
token counts the receipt already signs (ADOPT-02). A demand source and attested supply make the
|
|
meter worth reading (ADOPT-07). This tier closes CTL-1, SET-1 through SET-5, ECO-3, and half of
|
|
SET-3 without moving a single asset off Base.
|
|
|
|
\textbf{Tier 2, value and governance.} A timelock and a vote surface move control off the bare
|
|
multisig (ADOPT-03). A fee on verified volume funds the buyback from usage instead of deposits
|
|
(ADOPT-08). An order-book venue deepens a book that is mostly protocol-owned (ADOPT-06).
|
|
Self-repaying credit puts the idle stETH and MOR to work without a forced sale (ADOPT-04). A
|
|
bank rail brings fiat-native consumers in (ADOPT-05, the smallest dependency in the set).
|
|
|
|
\textbf{Tier 3, cross-domain.} A native MPC bridge replaces the schedule that is replicated by
|
|
hand across the capital and compute domains (ADOPT-13). A reciprocal routing loop turns the
|
|
group's own inference demand into MOR volume (ADOPT-10).
|
|
|
|
\textbf{Tier 4, a chain of its own, only if warranted.} A Lux L1 or L2 gives Morpheus the
|
|
consensus, validator set, and finality it does not have today, inherited rather than built
|
|
(ADOPT-01). MOR stays thin on top of it (ADOPT-12). Settlement throughput stops being a few
|
|
sessions per second (ADOPT-11). This tier is optional and gated on volume; Section~\ref{sec:path}
|
|
states when it is worth the migration and when it is not.
|
|
|
|
%======================================================================
|
|
\section{Where MOR goes long term}
|
|
\label{sec:mor}
|
|
%======================================================================
|
|
|
|
MOR today is one token doing three jobs. It is emitted on a schedule, escrowed to open
|
|
sessions, and paid to providers. Any token-evolution story has to fix settlement before the
|
|
emission problem is worth discussing, because every value mechanism sits downstream of the
|
|
meter.
|
|
|
|
\subsection{Two tokens, and what gives the second one value}
|
|
|
|
Split the roles. MOR stays the inflationary budget-and-rewards unit: emitted, spent as gas and
|
|
escrow, paid to providers. xMOR becomes the low-velocity store of value. The question that
|
|
decides whether xMOR is real or decorative is simple: what claim does an xMOR holder have that
|
|
a MOR holder does not?
|
|
|
|
\textit{Burn-and-mint} is the weaker construction. Burn MOR to mint xMOR at some ratio. If the
|
|
ratio is fixed and reversible, xMOR is a wrapper and accrues nothing; if one-way, it is MOR
|
|
minus an exit, worth less rather than more, unless xMOR separately carries a right. The mint
|
|
ratio is a governance parameter, and a governance-set conversion between two pools of value is
|
|
exactly the surface the same multisig that directs 76\% of emission can capture. Burn-and-mint
|
|
values throughput, not savings.
|
|
|
|
\textit{Share-token}, in the xSUSHI style, is sounder. Stake MOR into a pool; xMOR is the
|
|
share. Protocol fees buy MOR and add it to the pool, so each xMOR redeems for a growing
|
|
quantity of MOR. Value is an endogenous cash-flow claim, not a parameter: the xMOR/MOR ratio
|
|
rises monotonically with fees collected, and there is no conversion ratio for anyone to set.
|
|
Its one trust point is that fees actually reach the pool, which every honest design shares. Its
|
|
only leakage is timing, deposit before a distribution and withdraw after, and streaming the
|
|
reward over a vesting window collapses that arbitrage.
|
|
|
|
Pick the share-token, and state the thing the client should hear. If fees buy MOR and burn it,
|
|
every MOR holder benefits equally and no second token is needed at all. The only defensible
|
|
reason to mint xMOR is velocity separation, keeping the budget churn from diluting the balances
|
|
people hold for value. That is a real reason. It is not a magic one.
|
|
|
|
\subsection{Burning does not create value}
|
|
|
|
Say it plainly. Price is market capitalization divided by supply, so shrinking supply lifts
|
|
price only if market capitalization holds. Burning adds nothing to market capitalization. A
|
|
deflationary token with no demand is the same pie cut into fewer slices. Burn is real
|
|
value-accrual in exactly one case: when it is financed by fees that real users paid for real
|
|
usage. Then the fee is the value entering the system and the burn is merely how that value
|
|
reaches holders, as scarcity instead of as a dividend. A burn financed by emission or token
|
|
sales is circular: emit, sell, buy back, burn, net zero minus slippage.
|
|
|
|
This is where our own discipline bites. Settlement is fakeable today, so a fee on unverified
|
|
volume is a fee on a number a provider can fabricate, and a self-dealing provider will wash
|
|
inference to drive a burn that lifts a token he holds. The burn is only as honest as the meter
|
|
behind it. Verified settlement (ADOPT-02, and \code{lux/mord} at about 3,400 verified
|
|
sessions/sec/core \prov{verified}, a settlement-rate figure, not network TPS) is the
|
|
precondition, not a companion feature.
|
|
|
|
\subsection{Utility is the engine}
|
|
|
|
Volume comes from MOR being the unit of account for agentic compute: agent budgets, MCP-server
|
|
calls, inference and compute generally. Every call spends MOR, and a fee on each call funds the
|
|
buy-and-burn. Define the variables. Let $E$ be emission in MOR/day, $A$ the number of
|
|
fee-bearing calls/day, $c$ the average revenue per call in USD, $f$ the fee fraction routed to
|
|
buy-and-burn, and $P$ the MOR price in USD. MOR burned per day is $B = fAc/P$. Net supply change
|
|
is $E - B$, and the system is net-deflationary when
|
|
\[
|
|
B > E, \qquad\text{that is,}\qquad Ac > \frac{EP}{f}.
|
|
\]
|
|
The right side is the emission's daily dollar value divided by the fee rate. Everything is
|
|
legible from there.
|
|
|
|
A worked example, verified inputs and an illustrative conclusion. Emission's daily dollar value
|
|
is $EP \approx 12{,}050 \times \$1.58 \approx \$19{,}040$/day \prov{derived}. At $f = 1\%$,
|
|
net-deflationary needs gross fee-bearing volume $Ac > \$1.90$M/day, about \$695M/year
|
|
\prov{illustrative}. At $f = 5\%$, above \$139M/year; at $f = 10\%$, above \$70M/year. Against
|
|
today's roughly \$476K/year of revenue, which is Lido and Aave yield rather than usage, that is
|
|
the true size of the ask. The assumptions (constant price, fee taken in USD-equivalent and
|
|
fully burned, all volume verified) do not hold exactly; the equation shows the shape, not a
|
|
forecast.
|
|
|
|
\subsection{Cutting emission moves the same inequality}
|
|
|
|
$E$ is not a protocol constant needing a hard fork. It is set by owner-controlled pool
|
|
configuration today (\code{manageUsersInPrivatePool}, \code{DistributionV6}, \code{onlyOwner}
|
|
\prov{verified}). Lower $E$ and the crossover bar $Ac > EP/f$ falls proportionally. Halve
|
|
emission to 7,200/day and the 1\% requirement halves to about \$510M/year; cut it tenfold and it
|
|
falls to about \$102M/year \prov{illustrative}. Emission reduction and a usage-driven burn are
|
|
the same lever pushed from two ends. The honest footnote is that the same owner power that can
|
|
cut emission is the centralization CTL-1 and CTL-2 flag; the ability is real, and so is the
|
|
risk, which is why ADOPT-03's timelock precedes any emission change.
|
|
|
|
\subsection{The ICO funds the transition, not the demand}
|
|
|
|
On \code{lux.exchange}, conditional on SEC approval of the proposed regulation \prov{pending}.
|
|
Its job is price discovery, treasury, and protocol-owned liquidity, not a substitute for
|
|
demand. The float is thin (depth about \$1.3M, mostly protocol-owned, 24h volume about \$57k
|
|
\prov{verified}), and a raise deepens the book and funds the build-out of the fee-bearing
|
|
utility. It does not manufacture usage. The raise should clear only into demonstrated on-chain
|
|
revenue. Selling the token before the meter is honest and the utility exists is selling the
|
|
thing we just called theater.
|
|
|
|
\subsection{What can go wrong}
|
|
|
|
Two-token models add complexity and a conversion surface someone can capture; prefer
|
|
buy-and-burn on MOR unless velocity separation earns the second token. A burn with no demand is
|
|
theater, and a burn on unverified volume is worse. Emission cuts take income from the recipients
|
|
of the 76\% owner-directed emission, who will resist. The ICO needs real demand first or it
|
|
prices thin float into a spike that round-trips. And every appreciation claim here is downstream
|
|
of one unshipped thing: verified settlement. Ship the meter, then the fee, then the burn, then
|
|
the token that holds its value. In that order.
|
|
|
|
%======================================================================
|
|
%======================================================================
|
|
\section{Listing and liquidity}
|
|
\label{sec:listing}
|
|
%======================================================================
|
|
|
|
ADOPT-06 named the venue problem and the order-book fix: a book that is mostly protocol-owned,
|
|
where a \$100k sell is eleven days of volume, and where a two-sided book replaces a passive
|
|
reserve \prov{verified}. This section is the layer above the venue. It is about how MOR reaches a
|
|
liquid market, what kind of market that is, and how far that market extends. Three moves, ordered
|
|
by how much review each needs: list MOR, bridge and lend against it, and carry the broader
|
|
cross-listed market above it.
|
|
|
|
\subsection{MOR as a first-class Lux asset}
|
|
|
|
MOR is \code{Offering: unregulated} in the asset taxonomy \prov{verified: asset-class.ts}, so
|
|
none of this touches the securities surface. Three wirings, all crypto, all shippable now:
|
|
|
|
\begin{itemize}
|
|
\item \textbf{Featured listing.} The interface's token list pins the ecosystem set --- MOR
|
|
alongside AI, ZOO, and LUX --- at the top of the surface a user sees first. This is a
|
|
one-file change at a single chokepoint, and the four are defined once as a typed
|
|
\code{FeaturedToken} list whose class field refuses a security by construction.
|
|
\prov{verified: pkgs/lx TokenSelector suggested-tokens hook; \code{FeaturedToken} in pkgs/exchange/src/featured.ts}
|
|
\item \textbf{Native bridge.} MOR is a LayerZero OFT on Ethereum, Arbitrum, and Base
|
|
\prov{verified}. Lux's own bridge already carries Arbitrum and Base, so MOR enters the
|
|
set it already spans. Adding MOR is asset registration --- three token entries plus an
|
|
on-chain allowlist --- and an L-token wrapper; no new chain integration.
|
|
\prov{verified: lux/bridge token registry, chain manifests, and \code{allowedTokens}}
|
|
\item \textbf{LMOR.} MOR as collateral in \code{lux/liquid} self-repaying lending, so a holder
|
|
borrows against MOR without a forced sale --- the ADOPT-04 move applied to MOR itself, and
|
|
the concrete form of ``put the treasury's idle assets to work.'' Two paths: a Morpho
|
|
market is one transaction and gives overcollateralised MOR credit today; the self-repaying
|
|
market is the ADOPT-04 design and needs a yield-bearing MOR to retire the debt.
|
|
\prov{verified: lux/liquid --- Morpho \code{createMarket} vs the Alchemix-style Liquid market}
|
|
\end{itemize}
|
|
|
|
\noindent What this needs from Morpheus: the MOR OFT address on each chain, and confirmation of
|
|
the AI, ZOO, and LUX addresses. Nothing here moves a Morpheus contract or needs the 5-of-9.
|
|
|
|
\subsection{The interface is a renderer, not a broker}
|
|
|
|
The venue above carries more than MOR, and the model that lets it do so cleanly is already the
|
|
one our interface is built on. It converts a user's chosen parameters into a transaction the user
|
|
signs in their own wallet. It never holds a key, never executes or settles, never routes an
|
|
order, and is paid only by the user \prov{verified: COMPLIANCE.md}. Under the SEC Division of
|
|
Trading and Markets staff statement of 13 April 2026 (File No. 4-894), a provider of such an
|
|
interface --- a Covered User Interface Provider --- is not a broker or dealer under Exchange Act
|
|
section~15, provided it meets the statement's enumerated conditions. Our \code{COMPLIANCE.md} is
|
|
written against that statement directly \prov{verified}.
|
|
|
|
Stated plainly, because a design built on it inherits its expiry: the statement is staff views
|
|
with no legal force, withdrawn 13 April 2031 absent Commission action, and Regulation Crypto
|
|
Assets (Release 33-11434) is a proposal, not law \prov{verified}. What follows is designed
|
|
against both; it is not compliance with either.
|
|
|
|
\subsection{Three things such an interface lists}
|
|
|
|
The live Uniswap interface is the reference. It carries, in one surface:
|
|
|
|
\begin{enumerate}
|
|
\item \textbf{Ecosystem tokens, featured.} For LX, the set above: MOR, AI, ZOO, LUX.
|
|
\item \textbf{A launchpad long tail, aggregated.} Uniswap's Launches surface --- an ``all
|
|
launchpads'' filter, a trending list, ``Pools is live: trade new Robinhood Chain tokens''
|
|
--- indexes tokens as launchpads mint them. The first target for LX is pools.trade on
|
|
Robinhood Chain. Aggregation routes to the token's liquidity on its \emph{source} chain; it
|
|
does not bridge the token onto Lux and does not settle a security. In \code{lux/dex} the
|
|
gateway already registers providers by priority; a launchpad is one more route-only
|
|
provider, and adding the next one is a new registry entry, nothing else.
|
|
\prov{verified: lux/dex gateway provider registry; a route-only \code{LaunchpadProvider}}
|
|
\item \textbf{Tokenized equities, shown globally and geo-gated.} Uniswap lists NVDA under
|
|
Stocks, ``Issued by Robinhood,'' beside Coinbase, Xstock, Bstocks, and Ondo wrappers of the
|
|
same underlying, and blocks the swap where the issuer's wrapper requires it: ``NVDA
|
|
unavailable in your region'' \prov{verified: live interface}.
|
|
\end{enumerate}
|
|
|
|
\subsection{What we have, and what is switched off}
|
|
|
|
Two codebases carry this lineage. \code{lux/exchange} is a debranded fork of the Uniswap
|
|
interface; \code{lux/exchange2} is a ground-up, securities-native rewrite \prov{verified: git}.
|
|
Neither yet renders the Launches or Stocks surfaces; the histories are disjoint, so enabling them
|
|
is a feature-directory port, not an upstream merge \prov{verified}. The tokenized-equity taxonomy
|
|
already exists --- \code{AssetClass.STOCK} and an \code{Offering} union spanning \code{reg\_cf},
|
|
\code{reg\_a\_plus}, \code{reg\_s}, \code{reg\_d}, and \code{rule\_144a}
|
|
\prov{verified: asset-class.ts} --- but the render is off: \code{Features.publicSecurities}
|
|
defaults false, \code{canTrade} has no caller, and no equity appears in any token list. The
|
|
taxonomy exists; the render does not \prov{verified: equities.md, features.ts, regulated-provider.ts}.
|
|
|
|
The binding constraint is not interface code. Uniswap's Launches and Stocks read its hosted
|
|
data-api, which does not serve Lux chains. The real work is the data plane: index launchpad and
|
|
tokenized-asset state for Lux, or aggregate it through the \code{lux/dex} gateway, which is
|
|
that data plane. \prov{verified: the lux/dex gateway connector is the source}
|
|
|
|
\subsection{Two boundaries that do not move}
|
|
|
|
\begin{description}
|
|
\item[Interface versus issuer.] Listing someone else's tokenized security is the
|
|
Covered-User-Interface posture above. Issuing our own offering --- a MOR raise, or any Reg
|
|
CF, Reg A+, Reg S, or Reg D placement --- is the issuer or portal role, a different and
|
|
heavier one. Both are modeled in the \code{Offering} union; the ICO in
|
|
Section~\ref{sec:mor} is the issuer path, gated on the proposed regulation
|
|
\prov{verified}.
|
|
\item[Aggregation versus bridging.] Featuring MOR, an OFT we bridge natively, is not the same as
|
|
carrying a tokenized equity. An equity token keeps its issuer's non-US wrapper wherever it
|
|
trades; the interface mirrors that restriction, it does not shed it by rendering. So the
|
|
equity surface is shown globally, gated in the United States pending the rules now being
|
|
finalized, and it ships only behind counsel. The flag flip is the client's, not ours ---
|
|
the render is off by a flag with no reader today, and the region block is net-new: only a
|
|
UK information banner exists, so a fail-closed US block is a control to build, not toggle.
|
|
\prov{verified: features.ts, regulated-provider.ts, the UK-only region banner}
|
|
\end{description}
|
|
|
|
\noindent MOR is the shippable core today. The launchpad tail follows as the gateway connector
|
|
lands. The equity surface is a built-but-gated capability whose switch is a legal decision, not
|
|
an engineering one. One interface, three depths of review.
|
|
|
|
\section{What we bring}
|
|
\label{sec:bring}
|
|
%======================================================================
|
|
|
|
This is the catalogue of what is available to adopt. Every entry is a real repository or paper
|
|
on disk. Maturity is one of \textbf{verified live} (running in production on Lux, Hanzo, or Zoo,
|
|
not yet on Morpheus), \textbf{built, not deployed} (code with tests, not activated on a live
|
|
chain), or \textbf{research} (paper or proof, not shipped). One caveat is kept throughout:
|
|
``gives Morpheus'' means available to adopt, not already wired in. Nothing here settles a
|
|
Morpheus session today.
|
|
|
|
\subsection{Consensus and post-quantum}
|
|
|
|
\textbf{Quasar 3.0} (\code{lux/consensus}, \code{lux/quasar}; LP-020). DAG-native BFT that
|
|
finalizes a block with one \code{QuasarCert} aggregating three lanes: a BLS12-381 classical fast
|
|
path, a Corona Module-LWE threshold signature, and a Z-Chain verifier rollup. \textbf{Verified
|
|
live} (LP-020 states activation on the Lux primary network 2025-12-25). For Morpheus, this makes
|
|
the thin-MOR thesis concrete: a Morpheus L1 for session and settlement state can rent classical-
|
|
fast and PQ-durable finality on the same certificate rather than build consensus.
|
|
|
|
\textbf{Pulsar / Corona / Magnetar threshold family} (\code{lux/pulsar}, \code{lux/threshold};
|
|
LP-073). Lattice threshold signatures with a lifecycle framework for permissionless validator
|
|
sets; Pulsar (threshold ML-DSA) is an active NIST MPTC submission. \textbf{Built, not deployed}
|
|
as a reusable primitive. For Morpheus, a threshold-sealed close-of-session receipt signed by a
|
|
provider set rather than one hot secp256k1 key, which addresses the single-hot-key custody
|
|
problem directly.
|
|
|
|
\textbf{Unified PQ transport} (\code{lux/papers} LP-202). One UDP port carrying QUIC over ZAP,
|
|
an X25519MLKEM768 hybrid KEM in the TLS 1.3 handshake, hybrid classical and ML-DSA-65 peer
|
|
identity. \textbf{Research} (specification). For Morpheus, the transport fix for the plaintext
|
|
prompt path: prompts currently cross \code{:3333} in cleartext, and this is the drop-in PQ
|
|
session layer.
|
|
|
|
\textbf{P3Q unified-slot verifier} (\code{lux/precompile/p3q}; LP-219). One EVM precompile slot,
|
|
one ABI, a leading \code{kind} byte dispatching per-family threshold-signature verifier cores.
|
|
\textbf{Built, not deployed}. For Morpheus, any contract, a settlement diamond included, can
|
|
verify PQ threshold certificates on-chain without a bespoke precompile per scheme.
|
|
|
|
\subsection{Verified inference and A-Chain}
|
|
|
|
\textbf{Inference precompile 0x0303} (\code{lux/precompile/inference}). A deterministic int8
|
|
transformer as an EVM precompile, pure Go with CGO=0, so every validator recomputes it
|
|
byte-identically; GPU kernels are a KAT-proven byte-equal accelerator. \textbf{Built, not
|
|
deployed}. For Morpheus, the missing settlement input: a deterministic small-model verification
|
|
path is one honest way to bind payment to work for models small enough to reprice on-chain.
|
|
|
|
\textbf{Attestation precompile 0x0301} (\code{lux/precompile/attestation}). Stateless TEE-quote
|
|
verification (NVTrust GPU, TPM/SGX/SEV-SNP/TDX), chained to an embedded vendor root at the
|
|
quote's own timestamp, fail-closed, no mutable device registry. \textbf{Built, not deployed}.
|
|
This is the primitive behind Morpheus's own live TEE work (RTMR3, SecretVM), but as a
|
|
consensus-checkable precompile rather than an off-chain check.
|
|
|
|
\textbf{A-Chain inference bridge} (\code{lux/precompile/aivmbridge},
|
|
\code{lux/precompile/modelregistry}). Two operations, submit-inference-intent
|
|
(\code{modelSpecHash}, \code{promptHash}) and verify, plus a model registry precompile.
|
|
\textbf{Built, not deployed}. For Morpheus, a \code{modelId} that is a registered, hashed model
|
|
spec rather than a line in a local JSON file, which makes the resale substitution ECO-2
|
|
documents detectable.
|
|
|
|
\textbf{Lux AI / A-Chain} (\code{lux/ai}). OpenAI-compatible decentralized inference network,
|
|
Q-Chain shared attestations, cross-network minting. \textbf{Built, not deployed} (our
|
|
punch-list fixed a \code{lux/ai} unauthenticated RPC on 2026-08-29; see
|
|
Section~\ref{sec:heal}). For Morpheus, an existing inference-settlement chain to tap under
|
|
thin-MOR rather than growing Morpheus into one.
|
|
|
|
\textbf{Zoo proof-of-inference} (\code{zoo/proofs}). A Freivalds matrix-product verifier over
|
|
$\mathbb{F}_p$ ($p = 2^{61}-1$) that catches a fabricated product with probability at least
|
|
$1 - 1/p$ per challenge, zero false rejection over an exact integer accumulator, wired to an
|
|
activation trace so an operator cannot mint against an output it never computed.
|
|
\textbf{Research} (proofs, some Lean-formalized). For Morpheus, a cheap probabilistic check that
|
|
a claimed forward pass actually happened.
|
|
|
|
\textbf{mord} (\code{lux/mord}). A Lux L1 that runs an inference marketplace as chain state,
|
|
separating capacity, work, and identity into three settlement quantities instead of Morpheus's
|
|
one \code{pricePerSecond * elapsed}. \textbf{Built, not deployed} (our POC: 40 tests plus
|
|
adversary tests, benchmarked at about 3,400 verified sessions/sec/core; not deployed, not
|
|
audited; that number is settlement-rate, not network TPS). The reference design for what
|
|
un-fakeable settlement looks like on their own market shape.
|
|
|
|
\subsection{Agentic runtime}
|
|
|
|
\textbf{Enso learned router} (\code{hanzo/enso}, ledger at
|
|
\code{hanzo/ai/object/routing\_event.go}). Classifies each request, prices it, routes to the
|
|
best model across enabled providers, learns from in-app feedback and an LLM-as-judge signal,
|
|
routes in microseconds on CPU. The ledger stores task label, routed model, token counts,
|
|
latency, cost, an optional opaque feature vector, and a scalar reward, and stores no prompt text
|
|
or hash. \textbf{Verified live} (powers \code{model=auto} on Hanzo Cloud). For Morpheus, a
|
|
router that improves on a time-priced market and is the deployed proof that confidential routing
|
|
is buildable: it consumes a low-dimensional statistic plus a scalar outcome, not content.
|
|
|
|
\textbf{Hanzo agent SDK, agents, runtime} (\code{hanzo/agent}, \code{hanzo/agents},
|
|
\code{hanzo/runtime}). Multi-agent orchestration over an MCP tool surface, role and workflow
|
|
agents, and a sandboxed execution runtime for AI-generated code. \textbf{Built and verified
|
|
live} (runtime ships releases). For Morpheus, the agentic execution layer that sits on sessions
|
|
as the substrate for agent turns.
|
|
|
|
\textbf{MCP tool surface} (\code{hanzo/chat}, \code{mcp\_\_hanzo\_\_*}). Model Context Protocol
|
|
tool use wired through \code{api.hanzo.ai/v1}. \textbf{Verified live}. Standard tool-calling for
|
|
provider-side agents without inventing a protocol.
|
|
|
|
\textbf{Hanzo Dev} (\code{hanzo/dev}). A terminal coding agent, sandboxed repo edits, models
|
|
over the metered gateway. \textbf{Verified live}. A reference consumer of metered per-session
|
|
inference.
|
|
|
|
\subsection{Confidential compute}
|
|
|
|
\textbf{FHE precompile} (\code{lux/precompile/fhe}). CKKS via the pure-Go \code{luxfi/lattice},
|
|
threshold decryption through a T-Chain (LP-333). \textbf{Built, not deployed}. For Morpheus,
|
|
compute over consumer data where the operator should not read inputs.
|
|
|
|
\textbf{ZK, STARK-FRI, and anchor precompiles} (\code{lux/precompile/zk},
|
|
\code{lux/precompile/starkfri}, \code{lux/precompile/anchor}; LP-221). Proof-verification and
|
|
commitment precompiles, plus an anchor precompile that stores a Merkle root of CRDT state with
|
|
per-app height monotonicity. \textbf{Built, not deployed}. The anchor primitive is exactly what
|
|
the two-economy problem needs: Morpheus runs capital on Ethereum and compute on Base with a
|
|
schedule replicated by hand (\code{SessionRouter.sol:58} says so \prov{verified}), and anchoring
|
|
lets one domain verify the other's state root instead of trusting a manual copy.
|
|
|
|
\textbf{MPC custody stack} (\code{lux/threshold}, \code{lux/kms}, \code{lux/mpc}). Universal
|
|
threshold signing across many chains (CGGMP21 ECDSA, FROST Schnorr), MPC-backed KMS with per-org
|
|
namespaces. \textbf{Built and verified live} (the canonical Lux KMS). For Morpheus, splitting the
|
|
one provider hot key into capacity, work, and identity authorities with different blast radii.
|
|
|
|
\subsection{Settlement, bridge, governance}
|
|
|
|
\textbf{Lux primary settlement and MOR OFT} (\code{lux/node}, LayerZero OFT). MOR is already a
|
|
live LayerZero OFT on Ethereum, Arbitrum, and Base. \textbf{Verified live}. For Morpheus,
|
|
settle on a chain with real finality instead of application-layer storage on one Base diamond.
|
|
The honest counterweight (LP-314) is that a sovereign L1 buys nothing worth the migration for
|
|
much of the market, so this is an option, not a mandate.
|
|
|
|
\textbf{Lux Bridge} (\code{lux/bridge}). MPC cross-chain bridge, embeddable SDK,
|
|
\code{api.bridge.lux.network}. \textbf{Verified live}. Native movement of MOR and stake across
|
|
the capital and compute domains without a hand-replicated schedule.
|
|
|
|
\textbf{l2-template and Quasar-rooted L1} (\code{lux} L2 template, \code{lux/evm}). An L2 stood
|
|
up in minutes, rooted to Quasar PQ finality. \textbf{Built}. The minimal-effort route to a
|
|
Morpheus-owned chain that inherits PQ finality rather than renting rollup execution.
|
|
|
|
\textbf{Lux DAO and vote} (\code{lux/dao}, \code{zoo/vote}). Governance contracts plus a UI,
|
|
white-labeled per org. \textbf{Verified live} (\code{zoo/vote} deployed). An on-chain governance
|
|
surface for parameter changes and treasury actions. Stated plainly: adopting a DAO UI does not
|
|
by itself add a timelock or bound the mint; those are contract changes.
|
|
|
|
\subsection{Fintech}
|
|
|
|
\textbf{LX order-book DEX} (\code{lux/dex}). Pure-Go matching engine, order book, oracle
|
|
aggregator, JSON-RPC/WebSocket/gRPC SDKs. \textbf{Verified live} (reference implementation runs
|
|
standalone, ships releases). For Morpheus, real order-book depth for MOR against the thin AMM
|
|
the protocol itself backstops.
|
|
|
|
\textbf{Lux Exchange} (\code{lux/exchange}). A Uniswap-forked front end plus a securities and
|
|
ICO surface. \textbf{Built}; the securities/ICO path is \textbf{pending} SEC approval of a
|
|
proposed regulation, a stated dependency and not a granted approval. Do not represent it as
|
|
available.
|
|
|
|
\textbf{Liquid self-repaying lending} (\code{lux/liquid}; LP-310). Deposit yield-bearing
|
|
collateral, borrow a 1:1-pegged synthetic, let yield retire the debt on a time-decay schedule;
|
|
curated strategy adapters (Aave, Lido, Pendle, Morpho, Yearn). \textbf{Built, not deployed}. For
|
|
Morpheus, an LMOR construction: self-repaying credit against MOR or against the roughly \$20M
|
|
stETH \prov{verified} the treasury already holds, so holders borrow without selling into the
|
|
\$57k/24h \prov{verified} volume.
|
|
|
|
\textbf{Lux Bank} (\code{lux/bank}, \code{lux/captable}). Accounts, cards, cap-table.
|
|
\textbf{Built, not deployed}. A fiat and accounts on-ramp for the hosted-gateway audience,
|
|
account-native consumers behind delegated sessions rather than one shared hot wallet.
|
|
|
|
\subsection{Data and observability}
|
|
|
|
\textbf{GPU-native EVM and verification} (\code{luxfi/evm}; LP-203). Unified C-Chain and L1 EVM
|
|
plus GPU-native transaction verification. \textbf{Built} (EVM ships releases) and
|
|
\textbf{research} (the billion-TPS figure is a paper claim, not a measured production number,
|
|
labeled illustrative). Batched signature and proof verification throughput for a settlement
|
|
chain. As with mord, the benchmark rate is not sustained network TPS.
|
|
|
|
\textbf{Hanzo gateway, IAM, telemetry} (\code{hanzo/gateway}, \code{hanzo/iam}). The trust
|
|
boundary at \code{api.hanzo.ai} (JWT verified against IAM JWKS, client identity rewritten, rate
|
|
limits, circuit breakers) and OIDC identity at \code{hanzo.id} (PKCE, SCIM, WebAuthn/MFA).
|
|
\textbf{Verified live}. Morpheus's \code{api.mor.org} multiplexes many callers onto a few
|
|
on-chain sessions behind spend limits that ship inert and are armed per environment; a
|
|
verified-identity gateway with armed limits is the deployed answer.
|
|
|
|
\textbf{Zoo Gym decentralized training} (\code{zoo/gym}). An OSS LLM fine-tuning framework plus
|
|
a protocol paper for ring-topology training across heterogeneous GPUs. \textbf{Built}
|
|
(framework) and \textbf{research} (decentralized-training protocol). A provider-side path to
|
|
sell training and fine-tuning yield, not only inference, on the same GPU fleet.
|
|
|
|
\subsection{What this catalogue does not claim}
|
|
|
|
Kept explicit. Nothing here settles a Morpheus session now; every ``gives Morpheus'' is an
|
|
adoption, not a wiring. ``Verified live'' means live on Lux, Hanzo, or Zoo; the only
|
|
Morpheus-side live PQ or TEE work is Morpheus's own, credited above. The billion-TPS and
|
|
3,400-sessions/sec figures are benchmark and rate numbers, not network TPS. The
|
|
\code{lux/exchange} securities and ICO path is pending a regulatory approval that has not been
|
|
granted. LP-312 through LP-326 are research papers grounded on Morpheus's deployed contracts;
|
|
they are the argument for adoption, not evidence of it.
|
|
|
|
%======================================================================
|
|
\section{Building on their work}
|
|
\label{sec:keep}
|
|
%======================================================================
|
|
|
|
A migration that discards the good parts is not an improvement; it is a rewrite with a survivor
|
|
bias toward whatever we happened to build. So the honest split is stated first, and it is short.
|
|
|
|
\subsection{Keep}
|
|
|
|
\begin{description}
|
|
\item[The attestation stack.] The 5,439-line TDX-to-TLS binding with RTMR3 in CI is real
|
|
confidential-compute engineering. Keep it and give it a consensus-checkable home
|
|
(attestation precompile 0x0301) so what today is an off-chain check becomes a settlement
|
|
input. The local-attestation path in \code{lux/ai/pkg/attestation} removes the external
|
|
NRAS and SecretVM availability coupling (SET-6); adopt it or keep their own, but keep the
|
|
measurement work.
|
|
\item[The bounty and audit design.] Real Code4rena, Zenith, and Renascence reports and a
|
|
well-structured bounty program. Keep the process; it is the standard this evaluation holds
|
|
itself to.
|
|
\item[The treasury bifurcation.] Separate consumer and treasury payment paths with a 1\%
|
|
daily budget cap. It contained the July 2026 stipend leak. Keep the split; the fix that
|
|
day-locked stipend on \code{min(closedAt, endsAt)} is exactly the right shape.
|
|
\item[Receipt-derived accounting.] Stipend size and emission are pure functions, legible and
|
|
independently checkable. Keep the receipt (it already signs both token counts) and read the
|
|
two words the contract currently drops (SET-2).
|
|
\item[The emission schedule.] 14,400/day to zero in 2040, 42,000,000 terminal, no premine.
|
|
The best property the token has. Keep it, and add the invariant cap the token lacks (SUP-1)
|
|
so the property is enforced rather than conventional.
|
|
\item[The community and the token.] MOR stays MOR. The migration keeps the ticker, the
|
|
holders, the OFT deployment, and the schedule. Nothing here asks the community to move to a
|
|
new token.
|
|
\end{description}
|
|
|
|
\subsection{Replace}
|
|
|
|
\begin{description}
|
|
\item[The settlement calculation.] \code{\_getProviderRewards} pays elapsed time. Replace the
|
|
payable event with a quorum-agreed receipt that commits to the output token count, so the
|
|
fee base is reproducible (ADOPT-02). This is the one seam; everything above and below it
|
|
stays.
|
|
\item[The bare multisig.] A 5-of-9 with no timelock is the root finding. Replace it with a
|
|
Safe plus Governor plus timelock, with a nonzero floor on the delay (ADOPT-03).
|
|
\item[The buyback's fuel.] Deposit yield inverts when price falls. Replace it with a fee on
|
|
verified volume (ADOPT-08), so the loop scales with usage.
|
|
\item[The hand-replicated cross-domain schedule.] Replace the manual copy between Ethereum and
|
|
Base with a native bridge and state-root anchoring (ADOPT-13, anchor precompile).
|
|
\item[The self-signed ranking.] Replace the provider-signed \code{tps}/\code{ttft} scorer with
|
|
a learned router keyed on an independent quality signal (Enso), which is orthogonal to and
|
|
composes with quorum verification (SET-3).
|
|
\end{description}
|
|
|
|
%======================================================================
|
|
\section{Heal thyself}
|
|
\label{sec:heal}
|
|
%======================================================================
|
|
|
|
This section is first-person and unedited, because the pitch that Morpheus should adopt our
|
|
stack to become real is dishonest until our own stack meets the standard we are selling. The
|
|
rule it enforces: do not make a claim the code does not yet enforce. Every item below is a
|
|
failure in our own tree (\code{luxfi}, \code{hanzoai}, \code{zooai}), verified against source on
|
|
2026-08-29. The decentralization study grades six powers as a vector, and ``theater'' is the gap
|
|
between a claimed state and the measured one. Each item moves a power off zero or closes a
|
|
claimed-versus-measured gap.
|
|
|
|
\subsection{Update: the on-chain governance path, built and proven (2026-08-30)}
|
|
|
|
Since the audit above, the governance items (B3, B4, B5) moved from open to \emph{built and
|
|
demonstrated}. We stood the full stack up on a local network and exercised the decentralization
|
|
end to end, verified on-chain, not described.
|
|
|
|
\begin{itemize}
|
|
\item A one-shot deploy brings up the entire stack --- DEX, emissions, treasury, bridge,
|
|
work-market, and the governance instrument --- with every authority resting on a single 1/1
|
|
Safe: the honest bootstrap state \prov{verified: local net}.
|
|
\item The governance instrument is the audited \code{DeployGovernance} wiring, and it comes up
|
|
clean: the deployer renounces the Timelock admin (\code{deployer=false}, \code{self=true}), the
|
|
Governor is the sole proposer, and the Safe is canceller/veto only. No residual deployer or EOA
|
|
power \prov{verified: on-chain reads}.
|
|
\item \code{lux.vote} is wired to the live Governor, and an admin dashboard (\code{admin.lux.cloud})
|
|
renders every governable surface with its current owner and a button that hands it from the Safe
|
|
to the Timelock. We fired one such handoff through the 1/1 Safe on-chain --- an AMM factory's
|
|
authority moved Safe~$\rightarrow$~Timelock, transaction status success \prov{verified}.
|
|
\end{itemize}
|
|
|
|
So the mechanism the pitch depends on --- bootstrap under one key, then relinquish every parameter
|
|
to token-holder governance --- is no longer a proposal; it runs, and each surface it touches ends
|
|
up controlled by the Governor through the Timelock, not by a key. That answers B3, B4, and B5 on
|
|
the mechanism: the honest 1/1 bootstrap replaces the 3-of-5-from-one-mnemonic costume, the
|
|
deployer-admin timelock is renounced by the correct script, and \code{lux.vote} over a live
|
|
Governor replaces a branded front end over null contracts.
|
|
|
|
\textbf{The claim we make, and the one we withhold.} We claim: Lux has built and demonstrated,
|
|
on-chain and end to end, an open on-chain governance system --- \code{lux.vote} --- and the path
|
|
from a single bootstrap key to full token-holder control, with the Governor and Timelock live. We
|
|
do not claim Lux is \emph{already} fully decentralized on mainnet: today the mainnet parameters
|
|
still rest on the bootstrap key, and the network reboot plus the parameter-by-parameter handoff to
|
|
the Timelock are the executing step, not a finished one \prov{pending}. Asserting the finished
|
|
state before that handoff would be the exact theater we flag in Morpheus. So we state the measured
|
|
position: the infrastructure is real and proven, the mainnet handoff is one execution away, and
|
|
the same dashboard runs it.
|
|
|
|
\subsection{The same twelve traps, in our own five systems}
|
|
|
|
Before the punch-list, the mirror. The five economic and settlement failures we flag in
|
|
Morpheus are not uniquely Morpheus's; we ran the same twelve-trap rubric over our own systems.
|
|
Status is \code{present} (the defect exists and is reachable), \code{at-risk} (exists on a path
|
|
not yet exploitable or a live design gap), \code{avoided} (closed in the reachable path, with
|
|
the limit stated), or \code{n/a}. ``papers'' is the LP inference program read as a
|
|
specification, so its \code{avoided} means closed by design, not deployed.
|
|
|
|
\begin{center}\footnotesize
|
|
\begin{tabular}{@{}lccccc@{}}
|
|
\toprule
|
|
\textbf{Trap} & \textbf{lux-ai} & \textbf{mord} & \textbf{hanzo-ai} & \textbf{gov/emission} & \textbf{papers} \\
|
|
\midrule
|
|
T1 unverified pay for claimed work & at-risk & \textbf{present} & at-risk & \textbf{present} & avoided \\
|
|
T2 no slashing of a bond & avoided & \textbf{present} & n/a & \textbf{present} & avoided \\
|
|
T3 uncapped mint & at-risk & avoided & n/a & at-risk & present \\
|
|
T4 owner upgrade, no delay & n/a & avoided & n/a & at-risk & at-risk \\
|
|
T5 no vote surface & n/a & avoided & n/a & at-risk & present \\
|
|
T6 owner-directed emission & n/a & n/a & n/a & at-risk & present \\
|
|
T7 prompt transport confidentiality & at-risk & n/a & at-risk & n/a & avoided \\
|
|
T8 resale indistinguishable & \textbf{present} & \textbf{present} & avoided & n/a & avoided \\
|
|
T9 revenue decoupled from volume & avoided & at-risk & avoided & \textbf{present} & present \\
|
|
T10 thin protocol-owned liquidity & n/a & n/a & n/a & at-risk & present \\
|
|
T11 consumer equals provider & at-risk & at-risk & avoided & \textbf{present} & present \\
|
|
T12 self-signed ranking & at-risk & at-risk & avoided & at-risk & at-risk \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{center}
|
|
|
|
The sharpest admission is that the self-signed meter, the exact Morpheus defect, is
|
|
\code{present} in mord (\code{market/settle.go:101-108}, the doc comment concedes ``a Meter is a
|
|
claim, not a proof'' \prov{verified}) and in the on-chain AI mint
|
|
(\code{AIMining.submitProof} mints for a proof whose only checks are dedup, a timestamp window,
|
|
and a hashcash difficulty test \prov{verified}). mord closes T1 only when the aivm quorum hash
|
|
replaces its meter as the settlement input; the fix already exists one directory over
|
|
(\code{luxfi/ai/pkg/rewards} ships \code{SlashProvider} and \code{SettleQuorum}), and mord does
|
|
not yet import it. We are proposing to sell verification we have not yet made the default in our
|
|
own systems. Until at least mord's T1/T2 and \code{lux/ai}'s RPC path are closed, a competent
|
|
Morpheus reviewer reading our tree would find we ship the same defect. The punch-list below is
|
|
the work that makes the pitch honest.
|
|
|
|
\subsection{Blocking, before the pitch}
|
|
|
|
\begin{description}
|
|
\item[B1, DONE 2026-08-29.] \code{lux/ai}'s served RPC was unauthenticated and returned a
|
|
fabricated completion. Fixed: an \code{authMiddleware} (constant-time bearer check, fails
|
|
closed when no key is set) now gates chat, embeddings, and task-submit; the chat handler
|
|
refuses (503/501) instead of fabricating a completion; \code{handleSubmitResult} rejects
|
|
results for unknown tasks, so no unassigned work is credited. Tests in
|
|
\code{cmd/lux-ai/auth\_test.go} pass. The canonical quorum settlement path
|
|
(\code{chains/aivm}) remains authoritative; the placeholder no longer lies about it.
|
|
\item[B2.] vMOR is flat 1:1, not duration-weighted as an earlier note of ours claimed
|
|
(\code{VotesERC20StakedV1.sol:407} mints \code{amount} directly, gating only on one global
|
|
\code{minimumStakingPeriod}). Fix: implement Curve-style duration weighting, or delete the
|
|
claim (already corrected in the token-design note), and set quorum above the owner-directed
|
|
emission share so the vote cannot be captured by emission recipients.
|
|
\item[B3.] The \code{lux/dao} launch Safe is 3-of-5 from one mnemonic; effective control set
|
|
is one (\code{governance.md:22-28}, \code{LUX\_MNEMONIC}). Fix: rotate to independent
|
|
hardware keys held by distinct named people, publish the proofs, and move \code{owner()} of
|
|
the DAO modules to the token-controlled timelock.
|
|
\item[B4.] The \code{lux/standard} production timelock keeps the deployer as sole proposer and
|
|
admin, never renounced (\code{DeployMultiNetwork.s.sol:249-254}). Fix: renounce
|
|
deployer-admin; move the proposer role to the Governor.
|
|
\item[B5.] The reference tenant \code{zoo/vote} points at null contracts
|
|
(\code{config/zoo.json}, governor and factory addresses null). Fix: deploy the governor set
|
|
and fill the config, or stop citing \code{zoo/vote} as a live governance instance. A
|
|
branded front end over no contracts is theater.
|
|
\end{description}
|
|
|
|
\subsection{Required for a real end-state}
|
|
|
|
\begin{description}
|
|
\item[R1.] The \code{l2-template} chain is centrally sequenced at birth, single-replica MPC,
|
|
KMS, and bridge, with an uncapped-mint admin token (\code{init.sh:240,181,184}). Fix:
|
|
distribute the validator set to independent operators, split MPC/KMS/bridge across distinct
|
|
operators, cap or remove the generated mint, and measure the realized Nakamoto coefficient
|
|
rather than asserting one.
|
|
\item[R2.] Uncapped mint in \code{MOROFT} and the generated \code{Token.sol}
|
|
(\code{MOROFT.sol:50,61}). Fix: for any chain we control, cap or remove the mint. For
|
|
Morpheus, the same fix is ADOPT-03 and SUP-1 on their side.
|
|
\item[R3.] The Lux primary genesis seats about five stakers and five bootstrappers,
|
|
reward-forfeiture only, no principal slashing. Permissionless entry exists in code
|
|
(\code{AddPermissionlessValidatorTx}); the live set is the gap. Fix: open the producer set
|
|
to independent operators and publish the distribution.
|
|
\item[R4.] mord is a single-operator PoC (\code{mord/README.md:5-6}). It is an integrity
|
|
improvement, not a decentralization claim; deploy it under a validator set before calling it
|
|
decentralized. Honest as disclosed.
|
|
\end{description}
|
|
|
|
\subsection{Commitments, the ones that cost us something}
|
|
|
|
These are not code. They are what we must agree to, or the ``open governance'' claim is theater
|
|
regardless of the contracts. We do not hold a controlling share of the vote, and if any reward
|
|
flow routes through us we disclose it and cap our weight below a control threshold. We cannot
|
|
both direct emission and claim we do not control governance. Permissionless validator entry must
|
|
exist in the live set, not only in the code. Keyholders are named people with published proofs.
|
|
No retained privileged upgrade path survives once the token-controlled timelock is authoritative.
|
|
|
|
Every failure above is disclosed in our own code or configs, which by the study's own standard
|
|
makes it immaturity, not theater. The discipline is simple: do not make a claim the code does
|
|
not yet enforce. Where we are early, we say early. This punch-list is the difference between
|
|
shipping that discipline and shipping a better-looking version of what we are asking Morpheus to
|
|
leave behind.
|
|
|
|
%======================================================================
|
|
\section{The path}
|
|
\label{sec:path}
|
|
%======================================================================
|
|
|
|
Three phases, with a gate between each. A gate is a measured condition, not a date. The
|
|
migration is phased and reversible, and the seam is one layer: replace the settlement engine,
|
|
keep everything above and below it.
|
|
|
|
\subsection{Phase 0: on Base, no migration, reversible}
|
|
|
|
Deploy the four one-transaction fixes (ADOPT-09): route ownership through a timelock (CTL-1),
|
|
decode all seven receipt fields and bind the approval address (SET-2, SET-5), and add the
|
|
self-deal check (SET-4). Deploy verified settlement as an adjunct to the existing diamond
|
|
(ADOPT-02): attestation-gated registration and a quorum check that must confirm before
|
|
\code{\_getProviderRewards} pays. Stand up a demand source and attested supply (ADOPT-07): Hanzo
|
|
as a first attestable provider through the same config-only backend path any provider uses, with
|
|
Enso routing behind \code{api.mor.org}. Providers keep their nodes; consumers see no change.
|
|
This phase closes CTL-1, SET-1 through SET-5, ECO-3, and half of SET-3.
|
|
|
|
\textbf{Gate to Phase 1:} the timelock owns the proxies and the diamond; verified settlement
|
|
confirms before payment on a non-trivial share of live sessions; a named demand source is
|
|
producing measurable settled volume.
|
|
|
|
\subsection{Phase 1: governance, finance, bridge}
|
|
|
|
Deploy governance (ADOPT-03): Safe plus Governor plus timelock with a nonzero delay floor, and a
|
|
vMOR vote surface, closing CTL-2 and moving the seat of control off the bare multisig. Route the
|
|
buyback's fuel to a fee on verified volume (ADOPT-08). List MOR on the LX order book to deepen a
|
|
book that is mostly protocol-owned (ADOPT-06). Deploy LMOR self-repaying credit against the idle
|
|
stETH and MOR (ADOPT-04), and the bank rail for fiat-native consumers (ADOPT-05). Bridge MOR
|
|
natively across the capital and compute domains and anchor state roots rather than replicating
|
|
the schedule by hand (ADOPT-13). MOR the token, its emission, and its capital stay on Ethereum
|
|
and Arbitrum; the only change to the token is the buyback's additional source.
|
|
|
|
\textbf{Gate to Phase 2:} governance parameters sit behind the timelock with a floor above zero;
|
|
the fee-fed buyback is live and its dollar flow is published against emission; settled verified
|
|
volume is large enough that a few sessions per second is a binding constraint.
|
|
|
|
\subsection{Phase 2: a chain of its own, thin MOR, emission cut}
|
|
|
|
Only if the Phase 1 gate is met. Move settlement onto a Lux L1 or L2 (ADOPT-01) that inherits
|
|
Quasar PQ finality rather than building consensus, with MOR bridged as gas and mord as the
|
|
reference VM; keep MOR thin on top of it (ADOPT-12); lift the throughput ceiling (ADOPT-11).
|
|
Run the ICO on \code{lux.exchange} conditional on the regulatory approval \prov{pending}, to
|
|
fund the transition and deepen liquidity, not to substitute for demand. Introduce xMOR as a
|
|
share-token and cut emission, both of which move the same net-supply inequality from
|
|
Section~\ref{sec:mor}. One provenance note we carry from our own audit: ML-KEM is live on Lux
|
|
mainnet, while ML-DSA and SLH-DSA are present but not activated, so post-quantum signatures are a
|
|
Phase 2 claim, not a current fact.
|
|
|
|
%======================================================================
|
|
\section{What each party gets, and what we must commit to}
|
|
\label{sec:parties}
|
|
%======================================================================
|
|
|
|
The migration is a Morpheus governance decision. We cannot execute it, and we should not write
|
|
or speak as though the choice is ours. What follows is what each party gets if the community
|
|
chooses it, and, stated with equal weight, what we must commit to for it to be real rather than
|
|
theater.
|
|
|
|
\begin{stake}{Morpheus gets}
|
|
\item A token that earns from volume rather than deposit yield, with the emission schedule,
|
|
the holders, and the ticker unchanged.
|
|
\item Settlement that reads the work its receipt already signs, so payment matches the
|
|
whitepaper.
|
|
\item Governance with a delay and a vote where today there is a bare multisig.
|
|
\item Post-quantum consensus, verified inference, threshold custody, and a native bridge,
|
|
inherited rather than built by a five-person team.
|
|
\end{stake}
|
|
|
|
\begin{stake}{Hanzo gets}
|
|
\item The demand and routing layer (\code{api.mor.org} plus Enso), and, running attested
|
|
inference, the largest verified provider on the network.
|
|
\end{stake}
|
|
|
|
\begin{stake}{Lux gets}
|
|
\item The settlement, verification, and transport layer, and the settlement fee for securing
|
|
it.
|
|
\end{stake}
|
|
|
|
\begin{stake}{Zoo gets}
|
|
\item A live governance tenant: MOR holders voting on a real economy through the DAO stack.
|
|
\end{stake}
|
|
|
|
\begin{stake}{What we must commit to, or none of the above is real}
|
|
\item Close our own punch-list first. mord and the on-chain AI mint currently reproduce the
|
|
exact Morpheus settlement defect in our own code; until at least mord's verified path and
|
|
\code{lux/ai}'s RPC path are the default, we are selling verification we have not made our
|
|
own default. B1 is done; the rest are not.
|
|
\item Name a demand source and a volume before claiming the buyback math works. The earning
|
|
model converts demand into token value; it does not manufacture demand. If $V$ is zero, no
|
|
take-rate saves it.
|
|
\item Do not hold a controlling share of the vote, and disclose and cap any reward flow that
|
|
routes through us.
|
|
\item Say early where we are early. Every ``verified live'' in this document means live on
|
|
Lux, Hanzo, or Zoo, not on Morpheus, and every research paper is an argument for adoption,
|
|
not evidence of it.
|
|
\end{stake}
|
|
|
|
The honest obstacle is convincing existing providers to bond stake and accept slashing where
|
|
today they bear none, and convincing the multisig to hand parameters to a timelock. Phase 0's
|
|
reversibility, and the fact that it turns on real revenue, are the argument that has to carry
|
|
the vote. We supply the engine and the proof. The Morpheus community chooses whether to run it.
|
|
|
|
\end{document}
|