> For the complete documentation index, see [llms.txt](https://docs.marinade.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.marinade.finance/marinade-protocol/protocol-overview/stake-auction-market/maxstakewanted-parameter.md).

# maxStakeWanted Parameter

{% hint style="info" %}
**TL;DR:** Cap the maximum Marinade stake a validator wants to receive. The CLI takes lamports, dashboards show SOL — confirm units. The 10,000 SOL floor overrides lower settings, and lowering the cap below current stake does not shed existing stake.
{% endhint %}

## Overview

The `maxStakeWanted` parameter sets a ceiling on how much Marinade stake a validator wants to receive through the Stake Auction Marketplace. Marinade will not delegate above this ceiling, but reaching it is not guaranteed. Validators must still place competitive bids and meet eligibility criteria to win stake up to the configured value.

{% hint style="warning" %}
**Unit mismatch alert:** The CLI (`configure-bond --max-stake-wanted`) takes the value in **lamports**. The PSR (Protected Staking Rewards) and validator-facing tools display it in **SOL**. 1 SOL = 1,000,000,000 lamports. Always double-check units before submitting the configuration transaction. A common mistake is typing the SOL amount into the CLI, which sets the cap at 0.000000001× the intended value.
{% endhint %}

## How It Works

A few behaviors to understand before configuring:

* **10,000 SOL minimum floor:** Marinade enforces a `minMaxStakeWanted` of 10,000 SOL. The effective cap is `max(10,000 SOL, current Marinade stake, maxStakeWanted)`. Setting `maxStakeWanted` below 10,000 SOL has no effect: the floor still applies. A validator wanting to be capped below 10,000 SOL cannot achieve this through `maxStakeWanted` alone.
* **Default is no functional cap:** When `maxStakeWanted` is unset or set to `0`, the effective cap is the higher of 10,000 SOL or current Marinade stake. Once a validator's stake grows past 10,000 SOL, the floor becomes inactive and incoming stake is governed only by bid competitiveness, bond size, and decentralization constraints.
* **Applies to new stake only:** The cap affects which new stake Marinade considers delegating each epoch. It does not remove stake that is already delegated. Validators continue paying bids on existing stake regardless of the current cap value.
* **Enforced each auction cycle:** The auction checks the cap every epoch. As long as the cap is in place, Marinade will not delegate beyond it.
* **No effect when already at or above the cap:** If existing delegated stake is already at or above the cap, no new stake will be delegated.
* **The cap cannot reduce existing stake:** Lowering `maxStakeWanted` below current stake does not unstake anything. To shed existing stake, a validator must withdraw the bond to exit SAM, then rejoin with a new lower cap once the existing stake is fully redelegated. See [Eligibility Criteria](/marinade-protocol/protocol-overview/stake-auction-market/eligibility-criteria.md) for the exit flow.

### Setting the Cap

Use the validator bonds CLI to set or update the cap.

```bash
validator-bonds -um configure-bond <vote-account-address> \
  --authority <bond-authority-keypair> \
  --max-stake-wanted <lamports>
```

For example, to cap incoming Marinade stake at 25,000 SOL:

```bash
validator-bonds -um configure-bond <vote-account-address> \
  --authority <bond-authority-keypair> \
  --max-stake-wanted 25000000000000
```

(25,000 SOL × 1,000,000,000 lamports/SOL = 25,000,000,000,000 lamports.)

### Examples

#### **Example 1: Capped Growth**

A validator sets `maxStakeWanted` to 25,000 SOL and currently has 22,000 SOL delegated from Marinade. Even with a competitive bid, sufficient bond, and full eligibility, Marinade will only delegate up to 3,000 SOL more before the cap is reached.

#### **Example 2: Cap Below Current Stake**

A validator currently has 40,000 SOL delegated from Marinade and lowers `maxStakeWanted` to 30,000 SOL. The cap does not remove the extra 10,000 SOL. The validator continues paying bids on the full 40,000 SOL. To actually shed stake, the validator must withdraw the bond to exit SAM, wait for the existing stake to be redelegated, and then rejoin with the new lower cap. This is why starting with a small cap and scaling up incrementally is the recommended approach.

#### **Example 3: Setting Below the 10,000 SOL Floor**

A new validator sets `maxStakeWanted` to 5,000 SOL, expecting to be capped at 5,000 SOL. The effective cap is `max(10,000, 0, 5,000) = 10,000 SOL`. The validator's setting is overridden by the 10,000 SOL floor, and Marinade may delegate up to 10,000 SOL if the bid is competitive. To stay below 10,000 SOL, the validator must rely on bid and bond sizing rather than the cap parameter.

#### Recommended Approach

Start with a small cap and raise it as the bond and operations can support more stake.

The `maxStakeWanted` cap is one-directional in practice: it can always be raised, but lowering it does not actively reduce stake already delegated. Starting low gives validators control over growth and avoids being surprised by a large allocation that exceeds bond capacity. As the bond grows and operations are comfortable with more stake, the cap can be raised incrementally.

#### Disabling the Cap

To effectively remove the limit and prevent capping as Marinade's TVL grows, set the cap to `0`, or to a very large lamport value such as `1000000000000000000` (10^18). With `0` or no setting, the effective cap is `max(10,000 SOL, current Marinade stake)`. Once stake exceeds 10,000 SOL, the floor is no longer binding and growth is governed by bid, bond, and decentralization constraints.

### Common Pitfalls

A few patterns that cause support tickets.

* **Setting the cap in SOL units instead of lamports:** Causes the cap to be \~1 billion times smaller than intended. Always confirm units before submitting.
* **Setting the cap below 10,000 SOL:** Has no effect. The 10,000 SOL floor overrides any lower value.
* **Setting the cap too low and missing redistribution events:** When other validators exit SAM (blacklist, bond withdrawal, bond underfunding), their stake is reallocated to validators with competitive bids. A conservative cap can lock a validator out of these allocations even if the bid would have won.
* **Setting the cap without considering bond capacity:** The cap is independent of the bond, so a high cap with a small bond can lead to receiving more stake than the bond can cover. Insufficient bond relative to active stake triggers the [Bond Risk Reduction Mechanism](/marinade-protocol/protocol-overview/stake-auction-market/bond-risk-reduction-mechanism.md).
* **Expecting the cap to reduce existing stake:** It does not. The cap only filters new allocations.

### Where to View the Current Setting

Two sources reflect the current `maxStakeWanted` value.

* **CLI:** `validator-bonds -um show-bond <vote-account-address>` returns the on-chain value immediately. The CLI is the source of truth.
* **PSR dashboard:** The [PSR dashboard](https://psr.marinade.finance/) displays the current cap in SOL under the validator's bond configuration. Refreshes every few hours.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.marinade.finance/marinade-protocol/protocol-overview/stake-auction-market/maxstakewanted-parameter.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
