A CRN $\mathcal{C} = (\Lambda,\mathcal{R})$ is *bounded* if, for every configuration $\vec{x}$, there is a $b \in \mathbb{R}^+$ such that $\vec{y}[S] \le b$ for each $\vec{y} \in \mathrm{reach}(\vec{x})$ and each $S \in \Lambda$. (In the discrete model, equivalently, $|\mathrm{reach}(\vec{x})| < \infty$, i.e., the number of reachable configurations is finite.) A CRN is *mass-conserving* if there is a function $m: \Lambda \to \mathbb{R}^+$ such that, for all reactions $(\vec{r},\vec{p}) \in \mathcal{R}$, $\sum_{S \in \Lambda} m(S) \cdot \vec{r}[S] = \sum_{S \in \Lambda} m(S) \cdot \vec{p}[S]$, i.e., a positive mass $m(S)$ can be assigned to each species $S$ such that each reaction preserves the total mass: the total mass of the reactants (left-side of equation) equals the total mass of the products (right side). We first note that this property can be more succinctly described using linear algebra via a positive vector in the left kernel of the stoichiometric matrix. **Observation 1.** A CRN with $n \times k$ stoichiometric matrix $M$ ($n$ species, $k$ reactions) is mass-conserving if and only if there is a vector $\vec{y} \in \mathbb{R}^n_{>0}$ such that $M^\top \vec{y} = \vec{0}$. Above, the vector $\vec{y}$ represents the species masses: $\vec{y}[i]$ is the mass of the $i$'th species. The dot product of $\vec{y}$ with the $j$'th row of $M^\top$ represents the total change in mass when executing the $j$'th reaction once (or in the continuous model, by a unit amount); this dot product is $0$ if the reaction preserves mass. To say every reaction preserves mass is equivalent to $M^\top \vec{y} = \vec{0}$. **Observation 2.** A mass-conserving CRN $\mathcal{C} = (\Lambda, \mathcal{R})$ with mass function $m: \Lambda \to \mathbb{R}^+$ implies that, for each configuration $\vec{x}$ with total concentration/counts $T_\vec{x} = \sum_{S \in \Lambda} \vec{x}[S]$, for any $\vec{c} \in \mathrm{reach}(\vec{x})$ with $T_\vec{c} = \sum_{S \in \Lambda} \vec{c}[S]$, we have $T_\vec{c} \le \alpha T_\vec{x}$ where $\alpha = \frac{\max_{S \in \Lambda} m(S)}{\min_{S \in \Lambda} m(S)}$. This bound would be met in the worst case where $\vec{x}$ has only maximum-mass species and $\vec{c}$ has only minimum-mass species. --- We use a Farkas-like result known as *Stiemke's Lemma* [Olvi L Mangasarian. Nonlinear programming. SIAM, 1994, chapter 2.4, page 32; see also David Gale - The Theory of Linear Economic Models-University of Chicago Press (1989), Chapter 2, Corollary 2]: **Stiemke's Lemma.** Let $M$ be a real matrix. Exactly one of the following has a solution: 1. $M \vec{x} \ge \vec{0}$. 2. $M^\top \vec{y} = \vec{0}$ for $\vec{y} > \vec{0}$. We prove the following discussing concentrations for the continuous CRN model, but the proof equivalently shows the Theorem for the discrete model as well, replacing the word *concentration* with *count* below. **Theorem.** A CRN is mass-conserving if and only if it is bounded. **Proof.** ($\implies$): Immediate from Observation 2. ($\impliedby$): Let $M$ be the stoichiometric matrix of $\mathcal{C}$. Suppose that $\mathcal{C}$ is not mass-conserving; by Observation 1 above, there is no $\vec{y} > \vec{0}$ such that $M^\top \vec{y} = \vec{0}$. By Stiemke's Lemma, there *is* $\vec{x} \in \mathbb{R}^k$ such that $M \vec{x} \ge \vec{0}$. $\vec{x}[j]$ represents an amount by which to execute the $j$'th reaction, and setting $\vec{z} = M \vec{x} \in \mathbb{R}^n$, $\vec{z}[i]$ represents the change in concentration of the $i$'th species when executing reactions by amounts described by $\vec{x}$. The fact that $M \vec{x} \ge \vec{0}$ indicates that no species decreases in concentration, and at least one species strictly increases. Then by executing the reactions according to $\vec{x}$ repeatedly, we can generate unbounded amounts of some species. Thus $\mathcal{C}$ is not bounded. QED **UPDATE:** This is false. The counterexample is $X+Y \to \emptyset$. It is not mass-conserving (the reaction must consume mass), but it is bounded. So really the theorem is something like, $\mathcal{C}$ is not mass-conserving $\iff \mathcal{C}$ is either unbounded (can go to $\infty$) or decaying (can go to $0$).