DEV Community

Timothymycompc
Timothymycompc

Posted on Originally published at solana-pulse-gateway-1021990235790.us-central1.run.app

Solana RPC error -32015: why 4 in 10 transactions vanish from your app

If your Solana code logs this:

Transaction version (1) is not supported by the requesting client.
Please try the request again with the following configuration parameter: "maxSupportedTransactionVersion": 1
Enter fullscreen mode Exit fullscreen mode

your code asked the RPC for transactions up to version 0 and the one it wanted is version 1. The RPC refuses it instead of answering.

Why it matters now

Version 1 transactions went live on mainnet on 2026-09-15 (the first one we found is in slot 447,120,004). In sampled mainnet blocks they were 13.8% of non-vote transactions the week of Sep 14 and 41.9% from Oct 16 to 30 (44.4% of swaps). Whether you see one depends only on which wallet or SDK the sender used, so a payment can fail for one customer and work for the next.

We reported this bug in 30+ open-source projects. Six maintainers have already fixed it: Agent402, elizaOS, UltiMafia, rotki, taurvia and sol-parser-sdk-nodejs.

The fix

// @solana/web3.js 1.99.0 or later (1.98.x throws on version 1 even with this setting)
const tx = await connection.getTransaction(signature, { maxSupportedTransactionVersion: 1 });
Enter fullscreen mode Exit fullscreen mode
client.get_transaction(signature, max_supported_transaction_version=1)
Enter fullscreen mode Exit fullscreen mode
let config = RpcTransactionConfig { max_supported_transaction_version: Some(1), ..Default::default() };
Enter fullscreen mode Exit fullscreen mode

Same for getParsedTransaction(s) and getBlock.

Which library versions can read version 1

Tested on mainnet on 2026-10-30 against a real version 1 transaction:

  • @solana/web3.js 1.95.8 to 1.98.4: throw, even when asked correctly. 1.99.0+ works.
  • @solana/kit before 7.1.0 returns version as the bigint 1n, so version === 1 is false. 7.1.0+ works.
  • solana-py 0.30.2 to 0.41.0 works with max_supported_transaction_version=1.

Traps

  • getParsedTransactions / getTransactions throw for the whole batch when one entry fails: one version 1 payment hides 49 others.
  • Code that catches the error and returns null reports a paid transaction as "not found".
  • Raw version 1 bytes start with 0x81, so hand-written parsers break too.

Full page, with a live checker for any signature: https://solana-pulse-gateway-1021990235790.us-central1.run.app/fix/transaction-version-not-supported

Top comments (0)