1\section{Computation}2\label{app:computation}34\paragraph{Discretisation of $F$.} The carrying-cost distribution Beta$(a,b)$ on $[c_L,c_H]$ is represented by $n$ types placed at the5conditional means of $n$ equal-probability bins, with the bins' masses as weights; the mean of the discretisation equals the Beta6mean exactly. Convergence in $n$ is reported in Table~\ref{tab:conv_types}: with 9 types the mean price differs from the 81-type7solution by \convTypesRelErr{} percent.89\paragraph{Stationary equilibrium.} For a given $\theta$, $\Lambda_s=\phi A\theta^\alpha$ and $U=k$; each $V(c_i)$ is the Brent root of $\Phi$ with10bracket $[(-c_i+\delta w_0)/(r+\delta),\,w_H-U]$ (widened by doubling when the support is unbounded), tolerance $10^{-12}$; hazards, stocks11and the free-entry residual follow in closed form. The residual is evaluated on 60 log-spaced points of $[0.02,60]$ and Brent's12method is applied to every sign change; the number of roots is stored with each result. In the baseline and in all 60 random draws13of Table~\ref{tab:uniqueness_draws} there is exactly one root (\uniqMultiple{} draws with several roots, \uniqNone{} without).1415\paragraph{Financing extension.} With $x=(\ln\theta,U_c,\operatorname{logit}\tilde\pi)$ and $U_m=(k-\pi U_c)/(1-\pi)$, the residual vector16consists of the cash and mortgage buyer Bellman equations divided by $r$ and of the stock-consistency condition17$\tilde\pi=B_c/(B_c+B_m)$, where $B_c=\pi Q/\xi_c$, $B_m=(1-\pi)Q/(\phi_m\xi_m)$, $\xi_c=\lambda_b\int(1-G(v^*_c))dN$, $\xi_m=\lambda_b\int(1-G(v^*_m))dN$,18$n(c)=sf(c)/[\eta_c(c)+\phi_m\eta_m(c)+\delta]$ with $\eta_c=\lambda_s\tilde\pi(1-G(v^*_c))$ and $\eta_m=\lambda_s(1-\tilde\pi)(1-G(v^*_m))$, pending stock19$m(c)=\eta_m n/\nu$, and $Q=\int(\eta_c+\phi_m\eta_m)n$. The identity $\theta=(B_c+B_m)/S$ is implied by the flow accounting and is20reported as a diagnostic (it holds to $10^{-15}$). The system is solved by a hybrid Powell method with a Levenberg--Marquardt21fallback, from the baseline-screen equilibrium; all residuals are below $10^{-15}$ and three different starting points return the22same solution. The expected mean prices by financing type are $\bar p_c=V+\beta M(v^*_c)$ and $\bar p_m=V+\beta[E(w\mid w\ge v^*_m)-V-U_m]+\Delta_b$.2324\paragraph{Posted prices.} $y(c)$ solves $(y-a)g(y)=1-G(y)$ by Brent's method, nested inside the Brent root for $V$; the buyer's25surplus per meeting with a type-$c$ seller is $H(y(c))$.2627\paragraph{Planner.} The flow surplus \eqref{eq:welfare} is maximised over $(\ln\theta,v^*(c_1),\dots,v^*(c_n))$ by Nelder--Mead28followed by Powell's method, started at the decentralised allocation; success flags and function evaluations are stored.2930\paragraph{Transition.} On a grid with step $\Delta t$ (0.02 years in the reported experiments, horizon 8 years), the seller value is31updated backward by $V_j=[V_{j+1}+\Delta t(-c+\delta w_0+\Lambda_{s,j}\beta H(V_{j+1}+k))]/[1+(r+\delta)\Delta t]$ from the terminal steady state;32the stock is updated forward by $n_{j+1}=(n_j+\Delta t\,sf)/[1+\Delta t(\eta_j+\delta)]$ from the initial steady state; the free-entry33condition gives $\theta_j=\{(rk+\kappa_b)/[\phi_jA_j(1-\beta)\int H(V_j+k)dN_j]\}^{1/(\alpha-1)}$; the tightness path is updated with damping340.3 until the maximum change is below $10^{-7}$ (27 to 46 iterations). Terminal stocks match the new steady state to $10^{-12}$;35convergence in $\Delta t$ is reported in Table~\ref{tab:conv_dt}.3637\paragraph{Monte Carlo validation.} Listings are simulated individually: a type is drawn from $f$, meetings arrive at rate $\Lambda_s$,38withdrawal at rate $\delta$, each meeting draws $w\sim G$ and the sale occurs at the first $w\ge v^*(c)$ at the Nash price. Three seeds and39$n\in\{2{,}000, 20{,}000, 100{,}000\}$ listings; the maximum absolute relative error between simulated and analytic moments at40$n=100{,}000$ is \mcMaxRelErr{} percent, and identical seeds reproduce identical samples.4142\paragraph{Reproducibility.} All experiments are run by \texttt{python -m src.simulation --exp all} from \texttt{config/baseline.yaml}43(SHA-256 hash of the configuration and the software versions are stored with each result), tables by \texttt{python -m src.tables},44figures by \texttt{python -m src.plotting}, tests by \texttt{pytest}, and the manuscript by \texttt{latexmk}; every number in the text45is a macro generated from the result files.4647\begin{table}[H]48\centering49\caption{Convergence in the number of seller types (model-generated)}50\label{tab:conv_types}51\footnotesize52\input{tables/tab07c_convergence_types}53\end{table}5455\begin{table}[H]56\centering57\caption{Convergence of the transition solver in the time step (permanent 20 percent fall in $A$, horizon 4 years)}58\label{tab:conv_dt}59\footnotesize60\resizebox{\textwidth}{!}{\input{tables/tab07d_convergence_dt}}61\end{table}6263\begin{figure}[H]64\centering65\includegraphics[width=\textwidth]{fig13_numerical_convergence.pdf}66\caption{Numerical convergence (model-generated). Panel (a): relative deviation of equilibrium objects from the 81-type solution67as the number of seller types increases. Panel (b): relative deviation of transition objects from the finest time step.}68\label{fig:convergence}69\end{figure}70