@solana/kit · RPC transport

Solana error #8100002

RPC__TRANSPORT_HTTP_ERROR

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

Message

HTTP error ($statusCode): $message

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

What it means

The RPC endpoint answered with a non-2xx HTTP status before any JSON-RPC processing happened. The statusCode in the context tells you why.

What to do

  • 429 Too Many Requests: you are rate limited. The public api.mainnet-beta.solana.com endpoint allows only a handful of requests per second per IP. Use a provider endpoint (Helius, Triton, QuickNode, Alchemy) with an API key.
  • 403 Forbidden: the endpoint blocks your origin. The public RPC rejects many browser and data-centre requests; a keyed provider endpoint fixes this.
  • 401 Unauthorized: the API key in the URL or header is wrong or expired.
  • 500–504: provider outage or overload. Retry with exponential backoff and consider a fallback endpoint.

Decode it locally instead

npx @solana/errors decode -- 8100002 '<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__RPC__TRANSPORT_HTTP_ERROR) lets you branch on it.

Decode another error

Try: