Transaction version (0) is not supported
The RPC node, wallet, or program does not support versioned transactions (version 0). It only understands legacy transactions.
Common causes
- Old RPC node. The node runs a Solana validator version that predates versioned transaction support (pre-1.13).
- Legacy SDK code. Your code sends a
VersionedTransactionto an endpoint that expects a legacyTransaction. - Wallet does not support v0. Some older wallet adapters do not handle versioned transactions.
- RPC method parameter missing. Methods like getBlock and getTransaction require
maxSupportedTransactionVersion: 0to return versioned transactions.
How to fix
- Add
maxSupportedTransactionVersion. When calling RPC methods, include the parameter:
const block = await connection.getBlock(slot, {
maxSupportedTransactionVersion: 0,
});
const tx = await connection.getTransaction(signature, {
maxSupportedTransactionVersion: 0,
});
- Update your RPC node. Ensure the node runs Solana validator v1.13 or later.
- Use a legacy transaction. If you do not need Address Lookup Tables, use a legacy
Transactioninstead ofVersionedTransaction. - Update wallet adapter. Use the latest version of
@solana/wallet-adapterwhich supports versioned transactions.
Legacy vs. versioned transactions
| Feature | Legacy | Versioned (v0) |
|---|---|---|
| Max accounts | 35 (fits in 1232 bytes) | 256 (with Address Lookup Tables) |
| Address Lookup Tables | No | Yes |
maxSupportedTransactionVersion needed | No | Yes |
FAQ
What is a versioned transaction? Version 0 (v0) transactions support Address Lookup Tables, which allow referencing up to 256 accounts without increasing transaction size. They were introduced in Solana v1.13.
Do all RPC providers support versioned transactions?
Yes, all modern RPC providers support v0 transactions. If you encounter this error, check that you are passing maxSupportedTransactionVersion: 0 in your RPC calls.
Can I mix legacy and versioned transactions? Yes. You choose per transaction. Use legacy when you do not need lookup tables, and versioned when you do.
Error text variants
-
Transaction version (0) is not supported -
versioned transaction not supported -
unsupported transaction version
Updated: