mSOL is a share-token with a single job: track Marinade’s stake pool exchange rate

mSOL’s design is opinionated. It is not trying to be a token economy with emissions, incentives, and narrative-driven sinks. It is trying to be a deterministic accounting instrument: a liquid claim on a pool of staked SOL managed by Marinade’s program. Marinade’s docs define what mSOL is in exactly those terms. You deposit SOL (or even a native stake account), you receive mSOL. Later, you return mSOL and receive SOL back, with rewards reflected in the exchange rate.

The key mechanism is explicit and simple: price is computed as the pool’s staked value divided by minted pool shares. Marinade documents this as Price of mSOL = total_staked / tokens_minted.

On-chain, the same idea shows up as “virtual staked lamports” divided by supply. The liquid-staking-program state exposes msol_supply, and conversions use total_virtual_staked_lamports() with share math, as implemented in the program state. That is mechanism design done right. No oracle needed for the base accounting.

Supply: elastic mint and burn, driven by deposits and exits

mSOL supply is elastic by construction. Marinade’s docs describe supply control as minting and burning “in accordance with the overall state of the program.”

When you deposit an existing stake account, Marinade “takes control of the delegated and fully active stake account by becoming staking and withdrawing authority” and then “mints mSOL for the user according to the mSOL/SOL ratio.”

When you do a delayed unstake, Marinade burns your mSOL and issues a claim ticket, which is later redeemed for SOL.

In code, mint-side and burn-side conversions are straight share math. calc_msol_from_lamports() uses shares_from_value(), and the reverse path uses value_from_shares().

That matters because it implies a strong invariance: you cannot mint mSOL out of thin air. Marinade states “the protocol cannot mint new mSOL without SOL being exchanged for them.”

CoinGecko reflects the economic consequence. There is no meaningful “max supply” cap because supply tracks deposits. CoinGecko lists Max Supply = ∞.

Token identity is also stable and explicitly documented. Marinade publishes the mSOL mint address mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So.

mSOL uses 9 decimals, matching SOL.

Allocation frameworks do not apply here in the usual way. There is no premine allocation schedule or vesting program documented for mSOL because acquisition is primarily through depositing SOL into the pool and receiving shares at the prevailing ratio.

Yield path: rewards (and MEV) increase SOL-per-mSOL, not your token balance

mSOL is “rewards-accruing” in the exchange-rate sense. Marinade recalculates its value after each Solana epoch based on staking rewards earned by the stake pool.

The on-chain accounting reinforces that design. The program tracks a virtual staked amount and explicitly handles delayed-unstake tickets by subtracting circulating_ticket_balance when computing total_virtual_staked_lamports(). That makes the exchange rate track what is economically backing the liquid shares, net of pending claims.

MEV is part of the yield path in Marinade’s current design. Marinade states it stakes to validators running the MEV-optimized Jito validator client, collects MEV rewards, and restakes them on the user’s behalf. For mSOL holders, “MEV is added to the price each epoch once rewards are claimed and added to the stake pool.”

Marinade also runs a protection mechanism aimed at reducing validator-performance drag. Protected Staking Rewards (PSR) was introduced in April, 2024 and uses an on-chain bond mechanism to cover reward losses from validator commission changes and prolonged downtime.

PSR’s coverage rules are explicit. Validators cover 100% of rewards lost when uptime is between 50% and 99%. Marinade covers losses corresponding to the lower 50% of uptime. There is also a 1% grace period for downtime and a 1 percentage point grace period for commission increases.

One subtle but important doc-level claim is that Marinade considers there to be a “true price” for mSOL “guaranteed in our protocol,” while DEX prices can diverge when pools are unbalanced, as described in its mSOL token docs.

For integrators, Marinade documents how to compute and consume the “true” mSOL/SOL price from on-chain state. It also documents that its oracle feeds are powered by Pyth and Switchboard, with a stated partnership announcement involving Chainlink.

Fees and fiscal flows: exit fees are explicit, instant exits are market-priced

Marinade’s fee surface for mSOL is currently most legible on exits.

For instant exits, Marinade frames the operation as a swap. For liquid staking, “instant option is a swap via Jupiter from mSOL to SOL at the current market rate.” Marinade’s Instant Unstake page also states that for mSOL “this is executed as a swap from mSOL to SOL via DEX at the current market rate,” routed via Jupiter, in its instant unstake guide.

Critically, Marinade states there is no protocol fee for instant exits on mSOL, while warning that price impact can apply.

For delayed exits, Marinade currently documents a 0.2% (20 bps) delayed unstake fee for Marinade Liquid (mSOL), and frames it as shifting “protocol revenue toward exit-based fees instead of continuously charging staking rewards,” per its protocol FAQ.

The staking side is documented as fee-free at the deposit moment. Marinade’s FAQ states “There is no deposit fee” for Marinade Liquid (mSOL).

Mechanistically, Marinade’s on-chain program represents percentage-based fees in basis points, with a hard denominator of 10,000, and applies them as:

fee(lamports) = lamports * basis_points / 10,000.

That is good. It is transparent. It is bounded. It reduces the risk of “creative math” in governance.

What is less crisp today is the long-term fee mix. A governance proposal (MIP-18), published November 28, 2025, proposes removing a fixed 9.5% performance fee on Marinade products, replacing it with a conditional fee charged only when Marinade outperforms the Solana staking rate, and unifying withdrawal fees via a 20 bps unstake fee on exits from Marinade Native, mSOL, and Marinade Select.

There is also a documentation mismatch you should notice. Marinade’s protocol FAQ (updated very recently) is explicit about the 0.2% delayed exit fee and the “shift” toward exit-based fees, but does not enumerate any current, always-on reward skim for mSOL. Meanwhile, an older multisig-governance page describes an operational parameter rewards-fee and states it is 6%, with a hard maximum of 10% enforced in code.

As a mechanism designer, I do not hand-wave that away. If you are modeling net yield or liquidation safety, you should read the on-chain state, not the prose. Marinade already documents how to read state for exchange-rate calculations. You should apply the same discipline to fees and parameters.

On the revenue allocation side, Marinade states that following MIP-17 the DAO shifted away from automatic MNDE buybacks toward liquidity provisioning, stability, and long-term growth, with buybacks only when approved by the DAO.

Governance and parameter control: deterministic math, upgradeable software, bounded knobs

mSOL’s economic guarantees live at two layers: the share accounting, and the authority model controlling upgrades and parameters.

At the contract level, Marinade documents the liquid-staking-program address and its authorities. The program’s upgrade authority is listed as an ecosystem multisig (6/13), and the admin authority as the Marinade council (4/7).

Separately, Marinade states “the mSOL smart contract is under the control of a 13-party community multisig that requires six signers to make a change.”

Operationally, Marinade documents a multisig (described as “now under Marinade Council”) that can change liquidity pool parameters including max-fee 9% and min-fee 0.1%, and protocol operational parameters including staking-sol-cap 11M and rewards-fee. It also states rewards-fee cannot exceed 10% because that cap is set in code.

This is the core governance trade-off. On-chain math is deterministic. Upgradeable programs and parameterized fee models introduce discretion. Marinade partially mitigates that with explicit multisig thresholds and at least some hard caps.

History matters here because it signals parameter drift. Marinade states it launched its liquid staking protocol and mSOL on mainnet in August 2021, minted the MNDE governance token on November 7, 2021, and launched on-chain DAO governance in April 2022.

Marinade also states Marinade Native launched in July 2023. That product exists partly to avoid smart contract risk by staying inside native stake accounts, and it changes the competitive pressure on mSOL fees.

Risk analysis: dominant risk is mSOL/SOL liquidity stress, not the share math

mSOL’s share math is not where I expect fragility. The dominant risk is the interface between “true price” and “market price,” especially when many holders want out at once.

Marinade is explicit that mSOL can have a “true price, guaranteed in our protocol,” and still trade at a different price on DEXs when pairs are unbalanced. Instant exits are routed through Jupiter across DEXs, which makes the exit price liquidity-dependent by design. If you want a comparable share-token pattern in a different risk stack, read our EZETH tokenomics.

If you are integrating mSOL as collateral, treat this as a first-class tokenomics design constraint, not a footnote. Haircuts should reflect stress spreads, not average spreads. If you need deeper primary analysis, we publish LST-related crypto research you can use to sanity-check assumptions.

Top 3 risks

  1. Liquidity-price divergence on exits (dominant). Trigger: a rapid increase in mSOL->SOL sell pressure or a DEX liquidity drawdown. Mechanism: instant exits are executed as a Jupiter-routed DEX swap, so execution price depends on route liquidity and price impact, while Marinade separately defines a protocol “true price.” Who bears it: mSOL holders who must exit instantly, and protocols that liquidate mSOL into SOL under stress. Measurable indicators: widening spread between Marinade “true price” and DEX prices, declining mSOL/SOL depth on major venues, and increased use of delayed unstake rather than instant swap.

  2. Upgradeable-program and parameter governance risk. Trigger: an upgrade to the liquid-staking-program, a change in council-controlled parameters, or a shift in fee policy that materially changes net yield or exit costs. Mechanism: the program has an explicit upgrade authority (ecosystem multisig) and admin authority (council), plus documented multisig-controlled operational parameters and fee bounds. Who bears it: mSOL holders (net yield and redemption conditions) and integrators (oracle and risk model stability). Measurable indicators: governance proposals that change fee structure, upgrades executed by the listed authorities, and documentation/parameter mismatches that force integrators to rely on direct state reads.

  3. Validator performance drag and reward-path complexity. Trigger: validator downtime, commission changes, or shifts in MEV capture that reduce realized staking rewards versus baseline expectations. Mechanism: mSOL value is recalculated after epochs as rewards accrue, and Marinade states MEV rewards via Jito-optimized validators are collected and restaked, while PSR uses bonded coverage rules for certain underperformance cases. Who bears it: mSOL holders as lower SOL-per-mSOL growth, and any protocol assuming a stable yield/discount relationship. Measurable indicators: falling mSOL exchange-rate growth versus Solana staking benchmarks, PSR events tied to validator underperformance, and persistent APY divergence explained by validator set outcomes.

Dominant risk: liquidity stress is the failure mode that propagates fastest because it turns a clean accounting token into a market microstructure problem.

Marinade’s own docs implicitly separate two exit rails. The delayed unstake rail burns mSOL, issues a claim ticket, and eventually pays SOL based on the protocol’s exchange rate, following epoch timing. Marinade even notes that the amount is computed as SOL = [mSOL to burn] * [mSOL price] when unstaking starts, and warns that the bot may need to run to update the price at the beginning of an epoch.

The instant unstake rail is a Jupiter-routed DEX swap from mSOL to SOL. Marinade states there is no extra protocol fee currently added, but the quote embeds the full execution price, including price impact.

In calm markets, arbitrage tends to compress the spread between “true price” and DEX price. Marinade explicitly expects that and encourages users to compare Marinade’s price with DEX prices.

Under stress, the system’s incentives flip. Arbitrage capacity becomes balance-sheet constrained. Liquidity gets pulled. Slippage increases exactly when holders become least tolerant of it. The exit decision becomes adverse selection between (a) paying market impact now, or (b) waiting an epoch and paying a known fee on delayed exit. Marinade documents that delayed exits carry a 0.2% fee and take one epoch before SOL becomes claimable.

The important part is who gets hit first. It is not long-term holders who can wait. It is leveraged holders. It is lending markets liquidating into thin liquidity. It is structured products forced to rebalance on schedule. They concentrate flow into the instant rail and eat the worst execution. That can cascade into further liquidations. Then “LST depeg” headlines show up even if the underlying redemption math is fine.

So the right way to think about mSOL risk is not “will the share math break.” It is “what are the credible, measurable bounds on liquidation slippage and redemption latency, and how do upgrades and fee-policy changes shift those bounds over time.” Marinade gives you many of the primitives to model that. The remaining work is discipline: read on-chain state for parameters, and treat liquidity as part of tokenomics, not just market data. If you want help operationalizing that into liquidation assumptions and oracle guardrails, we do tokenomics consulting.



This article is part of our Tokenomics Deep Dive series.