@solana/kit · JSON-RPC server errors

Solana error #-32018

JSON_RPC__SERVER_ERROR_SLOT_NOT_EPOCH_BOUNDARY

Appears as Solana error #-32018; Decode this error by running `npx @solana/errors decode -- -32018 '…'`

Message

Rewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage

Placeholders (slot) are filled from the error’s context. Paste the base64 argument below to see the real values.

What it means

Errors returned by the RPC node itself. The numeric code is the JSON-RPC error code from the server (negative numbers), wrapped by Kit.

What to do

  • The $__serverMessage in the context is the node's own explanation; read it first.
  • Preflight failures wrap a transaction or instruction error. Paste the full message into the decoder to get the inner error's page.
  • Node-unhealthy, slot-skipped and block-not-available errors are transient or endpoint-specific: retry or switch RPC provider.

Decode it locally instead

npx @solana/errors decode -- -32018 '<base64 context>'

In development, import from @solana/kit as usual and the full message is thrown. In production the message is stripped to keep bundles small; the error object still carries error.context with the same values this page decodes, and isSolanaError(err, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SLOT_NOT_EPOCH_BOUNDARY) lets you branch on it.

Decode another error

Try: