> For the complete documentation index, see [llms.txt](https://docs.robinmesh.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.robinmesh.com/providers/staking.md).

# Staking

$RMESH is an ERC-20 token on Robinhood Chain, and staking it does two different jobs depending on who you are. A provider who stakes qualifies for the 85% payout rate and moves up in routing priority. A holder who stakes, provider or not, collects a slice of the weekly protocol fee distribution, paid in USDG.

***

## Staking as a provider

Lock at least 1,000 $RMESH in the `staking` contract and every job you complete pays out at 85% of its credit value. Without a stake, the rate is 75%.

| Parameter                | Value                                                          |
| ------------------------ | -------------------------------------------------------------- |
| Minimum stake to qualify | 1,000 $RMESH                                                   |
| Unstaked payout rate     | 75% of job value                                               |
| Staked payout rate       | 85% of job value                                               |
| Earnings increase        | \~13.3% more USDG per completed job                            |
| Routing priority boost   | The routing algorithm ranks staked workers above unstaked ones |

Take the Standard tier as a concrete case: a request costs 8 credits ($0.08), which pays $0.060 to an unstaked worker and $0.068 to a staked one. Multiply that gap across real volume and it becomes significant fast.

### The staking flow for native workers

1. Have `robinmesh-node` installed and a registered worker; the \[Native Worker guide]\() covers both.
2. Open `robinmesh.com/app`, head to the Earn tab, and select "Stake $RMESH."
3. Pick your amount (1,000 $RMESH minimum) and a lock period.
4. Approve the transaction in your wallet. ERC-4337 gas sponsorship from RobinMesh means no ETH is needed.

Once confirmed, the `staking` contract records the stake against your registered worker address. From that point on, the `settlement` contract checks this record at payout time and applies the 85% rate to every newly completed job.

***

## Lock periods

Every stake carries a lock period of your choosing. What the lock length changes is your $RMESH reward multiplier; it has no effect on the USDG side, where the 85% rate applies identically across all lock lengths.

| Lock period | $RMESH reward multiplier |
| ----------- | ------------------------ |
| 30 days     | 1.0x                     |
| 90 days     | 1.25x                    |
| 180 days    | 1.5x                     |

These $RMESH rewards flow from the Community/Provider rewards pool, which holds 40% of total supply released over 4 years. Locking for 180 days instead of 30 means 50% more $RMESH per completed job; USDG payouts sit at 85% either way.

A lock is binding: the staked $RMESH stays put until the period runs out. Your USDG job earnings are never locked and remain spendable the moment they arrive.

***

## Staking without running a worker

Running a node is not a prerequisite for staking.

Any wallet with a $RMESH balance can stake it and collect a share of the weekly USDG payout from the protocol treasury. That payout is funded by 50% of the protocol's weekly fee revenue, divided among stakers in proportion to their staked balances.

**How to do it:**

1. Connect your wallet at `robinmesh.com/app`.
2. Open the Staking tab.
3. Set an amount and a lock period.
4. Approve the transaction.

Distributions go out automatically each Monday around 00:00 UTC, sent straight to your wallet. Every one of them is an ordinary public transaction on Robinhood Chain, and you can inspect them on Blockscout.

***

## Slashing

A provider who submits a fake proof of completion, and whose dishonesty is confirmed through the dispute process, gets slashed.

| Event                      | Consequence                                      |
| -------------------------- | ------------------------------------------------ |
| Confirmed fraudulent proof | 5% of staked $RMESH burned                       |
| Burned to                  | Protocol burn address (permanent)                |
| Effect on payout rate      | Drops to 75% if balance falls below 1,000 $RMESH |

The penalty is deliberately proportional: it stings without being ruinous, and it grows with the size of the stake. Someone staking 10,000 $RMESH who is caught faking a proof loses 500 $RMESH for good.

Only a confirmed dispute triggers slashing. Jobs that merely fail or get rerouted carry no slashing risk at all.

***

## Unstaking

After the lock expires, withdrawal is available whenever you want it.

1. Open the Staking tab in the app.
2. Hit "Unstake" beside the expired stake.
3. Approve the transaction.

Your $RMESH comes back to your wallet within that same transaction, with no cooldown between lock expiry and withdrawal.

Holding several stakes on different lock schedules? Each one unlocks and can be withdrawn on its own timeline.

***

## Reading your stake from the chain

Stakes live in the `staking` contract, indexed by wallet address, and anyone can read them straight over Robinhood Chain JSON-RPC. Here is the query using Foundry's `cast`:

```bash
# Read your staked balance out of the staking contract
cast call $(robinmesh-node stake-contract) \
  "stakeOf(address)(uint256)" YOUR_WALLET_ADDRESS \
  --rpc-url https://rpc.mainnet.chain.robinhood.com
```

Prefer a UI? Search your wallet address in the RobinMesh Explorer, or use Blockscout at `robinhoodchain.blockscout.com`. Stake history, lock periods, expiry dates, and accrued rewards are all public; no login required.


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.robinmesh.com/providers/staking.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
