> For the complete documentation index, see [llms.txt](https://docs.stakeup.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.stakeup.finance/technical-docs/smart-contracts/stakeuperrors.md).

# StakeUpErrors

Below are a list of error codes within the Bloom ecosystem.

```solidity
// =================== Staking ===================
/// @notice Emitted if the staking is locked due to a user depositing less than 24 hours ago
error Locked();

// =================== Curve Gauge Distributor ===================
/// @notice Emitted if the caller tries to seed the gauges to early
error TooEarlyToSeed();

/// @notice Emitted if the reward allocation is not met
error RewardAllocationNotMet();

/// @notice Emitted if the contract is not initialized
error NotInitialized();

// ========================= Staking ===========================
// @notice Token amount is 0
error ZeroTokensStaked();

// @notice User has no current stake
error UserHasNoStake();

// @notice User has no rewards to claim
error NoRewardsToClaim();

// ========================= Layer Zero ===========================
/// @notice If the LZ Compose call fails
error LZComposeFailed();

/// @notice If the originating OApp of the LZCompose call is invalid
error InvalidOApp();

/// @notice Invalid Peer ID
error InvalidPeerID();

/// @notice Error emmitted if the nonce of an incoming message is not what its suppose to be
error InvalidNonce();

/// @notice Error emmitted if the msg.value is less than the fee
error InvalidMsgValue();

// ========================= SUP Token ===========================
/// @notice Amount being minted is greater than the supply cap
error ExceedsMaxSupply();

/// @notice Invalid recipient, must be non-zero address
error InvalidRecipient();

// ========================= StUsdc Token ===========================
/// @notice Error emitted if the asset does not match the BloomPool's asset
error InvalidAsset();

/// @notice Insufficient balance
error InsufficientBalance();

/// @notice TBY redeemable
error RedeemableTbyNotAllowed();

/// @notice Keepers are not allowed for this deployment of stUsdc
error KeepersNotAllowed();

/// @notice Rate update too often
error RateUpdateTooOften();

// ========================= General ===========================
/// @notice Zero amount
error ZeroAmount();

// @notice The address is 0
error ZeroAddress();

/// @dev Error emitted when caller is not allowed to execute a function
error UnauthorizedCaller();

/// @notice Contract has already been initialized
error AlreadyInitialized();
```


---

# 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.stakeup.finance/technical-docs/smart-contracts/stakeuperrors.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.
