Skip to main content
Import typed errors and guards from @rhinestone/sdk/errors. Orchestrator errors include a code, statusCode, and traceId; include the trace ID when contacting support.
Retry only an idempotent operation. Do not resubmit a signed transaction unless you have confirmed that the previous submission was not accepted.

Account configuration errors

Catch the category with isAccountError(error).

Transaction and signing errors

Catch the category with isExecutionError(error).

API and quote errors

isRetryable(error) returns true for internal errors, upstream timeouts, unavailable relayers, and simulation failures explicitly marked retryable. Use isSponsorError, isSponsorLimitExceeded, and isInsufficientSponsorBalance to distinguish sponsorship failures. Follow sponsorship setup for balance and policy configuration.

Registry errors

These are local SDK validation errors, not Orchestrator responses.

Session key failures

See Multi-chain sessions and Restrict a session for the required shapes.

Recovery failures

Follow Recover an account for the ordering constraints.

Report a persistent failure

Capture:
  • the SDK version (2.16.1 for these examples)
  • the error class, message, code, and traceId
  • the account address and chain IDs
  • the intent ID or UserOperation hash
  • redacted request parameters and per-operation status
Never include private keys, passkey material, API keys, or JWTs.