> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rhinestone.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Error handling

## Account errors

* `Eip7702AccountMustHaveEoaError`: when using EIP-7702, you need to provide an EOA account by passing `eoa` param.
* `SigningNotSupportedForAccountError`: the account you provided does not support message signing.
* `WalletClientNoConnectedAccountError`: the `WalletClient` instance you provided is missing a default account. Ensure the wallet is connected and the client has an account.
* `Eip7702NotSupportedForAccountError`: this account type does not support EIP-7702. Try using a different account implementation or [submit](https://github.com/rhinestonewtf/sdk/issues) a feature request.
* `AccountConfigurationNotSupportedError`: your account setup is not currently supported. Try using a different account configuration or [submit](https://github.com/rhinestonewtf/sdk/issues) a feature request.
* `FactoryArgsNotAvailableError`: factory data is not available for this type of account. Most likely an issue with the SDK itself. Please [submit](https://github.com/rhinestonewtf/sdk/issues) a bug report.
* `SmartSessionsNotEnabledError`: smart session validator is not available. Most likely an issue with the SDK itself. Please [submit](https://github.com/rhinestonewtf/sdk/issues) a bug report.

## Execution errors

* `SourceChainsNotAvailableForUserOpFlowError`: when using a UserOp flow (e.g., for account recovery), you need to provide a source chain.
* `UserOperationRequiredForSmartSessionsError`: when using smart sessions, you need to use the UserOp flow.
* `SessionChainRequiredError`: when using smart sessions, each session needs to define a chain where it is activated.
* `IntentFailedError`: the intent failed (reverted onchain). A common reason is that a swap failed due to price action.
* `SimulationNotSupportedForUserOpFlowError`: `simulateTransaction` can only simulate intents.
* `OrderPathRequiredForIntentsError`: when sending an intent, you need to first get the path. When using `submitTransaction`, make sure to call `prepareTransaction` first.

## Orchestrator errors

* `InsufficientBalanceError`: the account doesn't have enough funds. See [Insufficient Balance](/intents/guides/error-handling#insufficient-balance).
* `UnsupportedChainIdError`: this chain is not supported. See [Unsupported chain id](/intents/guides/error-handling#unsupported-chain-id).
* `UnsupportedChainError`: the target or the source chain is not supported. See [Unsupported chain id](/intents/guides/error-handling#unsupported-chain-id).
* `UnsupportedTokenError`: the token you're requesting is not supported. Make sure you're only using supported tokens when setting `tokenRequests`. See [Unsupported token addresses](/intents/guides/error-handling#unsupported-token-addresses).
* `TokenNotSupportedError`: the token you're requesting is not supported. See [Unsupported token addresses](/intents/guides/error-handling#unsupported-token-addresses).
* `AuthenticationRequiredError`: make sure you're providing an API key when using mainnets by passing `rhinestoneApiKey` param. See [Authentication is required](/intents/guides/error-handling#authentication-is-required).
* `InvalidApiKeyError`: the API key you're using has expired or is invalid. See [Invalid API key](/intents/guides/error-handling#invalid-api-key).
* `InvalidIntentSignatureError`: [Invalid bundle signature](/intents/guides/error-handling#invalid-bundle-signature).
* `OnlyOneTargetTokenAmountCanBeUnsetError`: when specifying `tokenRequests`, you need to provide the exact token amounts for all except one token.
* `NoPathFoundError`: we couldn't find a path for the intent you've provided. Try using a different set of token requests on the target chain.
* `IntentNotFoundError`: can't find the intent in the system. Please try again or use different input parameters.
* `RateLimitedError`: you're being rate-limited. Refer to the `retry-after` header and retry later.
* `ServiceUnavailableError`: temporary service outage. Safe to retry later.
* `SchemaValidationError`: request failed schema validation (400/422). Fix payload and retry.
* `BodyParserError`: request body could not be parsed (encoding/size). Fix body and retry.
