# mSPELL

mSPELL is a staking system allowing users to stake SPELL in any of the supported chains and get a share of protocol revenue in the form of MIM they can claim.

To create a native staking system on every chain that stems from the same protocol revenue on Ethereum Mainnet (protocol fees from all chains are sent back to Ethereum Mainnet), mSPELL uses a combination of 3 contracts:

* mSPELL Staking, available on every supported chain, allowing users to stake their SPELL and claim there MIM.
* mSPELL Reporter, available on every supported chain, a contract that uses LayerZero's messaging infrastructure to let mSPELL Sender know about how much SPELL is staked.
* mSPELL Sender, available on Ethereum Mainnet, which role it is to send the correct amount of MIM to the different mSPELL Staking contracts, by bridging MIM, and using the values obtained from the various mSPELL Reporters.

Unlike sSPELL, mSPELL isn't a token, but a staked position. The user does not receive mSPELL tokens, but has SPELL staked into the mSPellStaking contract.


---

# Agent Instructions: 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://dev.abracadabra.money/token-related/mspell.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.
