Overview
Several RPC methods have been deprecated as Solana has evolved. These methods may still be available for backward compatibility but should not be used in new applications.Deprecated Transaction Methods
getConfirmedBlock
Status: Deprecated Replacement:getBlock
This method was renamed to better reflect that blocks can be at different commitment levels, not just “confirmed”.
Before (Deprecated)
After (Current)
- Replace
getConfirmedBlockwithgetBlock - Add
maxSupportedTransactionVersionparameter for versioned transactions - Consider using
commitmentparameter for different commitment levels
getConfirmedBlocks
Status: Deprecated Replacement:getBlocks
Returns a list of confirmed blocks between two slots.
Before (Deprecated)
After (Current)
- Replace
getConfirmedBlockswithgetBlocks - Maximum range is 500,000 blocks (
MAX_GET_CONFIRMED_BLOCKS_RANGE) - Use
getBlocksWithLimitfor paginated queries
getConfirmedBlocksWithLimit
Status: Deprecated Replacement:getBlocksWithLimit
Returns a list of confirmed blocks starting at a given slot with a limit.
Before (Deprecated)
After (Current)
getConfirmedTransaction
Status: Deprecated Replacement:getTransaction
Retrieves transaction details for a confirmed transaction.
Before (Deprecated)
After (Current)
- Add
maxSupportedTransactionVersion: 0to support versioned transactions - Without this parameter, versioned transactions will return an error
- Specify
commitmentlevel explicitly
getConfirmedSignaturesForAddress2
Status: Deprecated Replacement:getSignaturesForAddress
Returns signatures for confirmed transactions involving an address.
Before (Deprecated)
After (Current)
- Maximum limit is 1,000 signatures (
MAX_GET_CONFIRMED_SIGNATURES_FOR_ADDRESS2_LIMIT) - Results are returned in reverse chronological order
- Use
beforeanduntilparameters for pagination
Deprecated Blockhash Methods
getRecentBlockhash
Status: Deprecated Replacement:getLatestBlockhash
Returns the latest blockhash and fee calculator.
Before (Deprecated)
After (Current)
Before (Deprecated)
After (Current)
feeCalculatorhas been removed- Use
lastValidBlockHeightto determine transaction validity - For fees, use
getFeeForMessageinstead
getFeeCalculatorForBlockhash
Status: Deprecated Replacement:getFeeForMessage or isBlockhashValid
Returns fee calculator for a specific blockhash.
Before (Deprecated)
After (Current)
getFeeForMessagecalculates fees for a specific transaction message- Returns exact fee in lamports, not a fee calculator
- Use
isBlockhashValidto check if blockhash is still valid
getFees
Status: Deprecated Replacement:getLatestBlockhash + getFeeForMessage
Returns fee schedule and recent blockhash.
Before (Deprecated)
After (Current)
getFeeRateGovernor
Status: Deprecated Replacement: None (fees are now market-driven) Returns the fee rate governor configuration. Migration Notes:- Solana now uses market-based prioritization fees
- Use
getRecentPrioritizationFeesto get current fee market data - Base fees are fixed at 5,000 lamports per signature
Deprecated Slot Methods
getSnapshotSlot
Status: Deprecated Replacement:getHighestSnapshotSlot
Returns the highest slot with a snapshot.
Before (Deprecated)
After (Current)
Before (Deprecated)
After (Current)
- New method distinguishes between full and incremental snapshots
- Returns object instead of single number
- Access full snapshot slot via
result.full
minimumLedgerSlot
Status: Deprecated (but still present inrpc_full)
Replacement: getFirstAvailableBlock
Returns the lowest slot that the node has information about.
Before (Deprecated)
After (Current)
rpc/src/rpc.rs:3516-3517
Migration Checklist
When migrating from deprecated methods:- Replace all
getConfirmed*methods with non-prefixed versions - Add
maxSupportedTransactionVersionparameter to transaction queries - Replace
getRecentBlockhashwithgetLatestBlockhash - Use
getFeeForMessageinstead of fee calculator methods - Replace
getSnapshotSlotwithgetHighestSnapshotSlot - Update response parsing to handle new data structures
- Test with
commitmentparameter set explicitly - Update error handling for new error codes
Commitment Level Changes
Thecommitment parameter has evolved:
Old Commitment Levels (Deprecated)
max: Maximum vote stakeroot: Superseded byfinalizedrecent: Useprocessedinstead
Current Commitment Levels
processed: Latest block (may be skipped)confirmed: Optimistically confirmed by clusterfinalized: Finalized by supermajority (cannot be rolled back)
Version-Specific Changes
Versioned Transactions (v1.14+)
Versioned transactions require explicit opt-in:- Queries for versioned transactions will fail
- Error: “Transaction version not supported”
getTransactiongetBlocksimulateTransaction
Additional Resources
- Source Code: Check
rpc/src/rpc.rsfor current method implementations - Error Handling: See RPC Overview for error codes
- Testing: Use devnet/testnet endpoints to test migrations before mainnet
Support
If you encounter issues during migration:- Check the HTTP Methods documentation for current method signatures
- Review commitment level requirements
- Test on devnet first
- Ensure
maxSupportedTransactionVersionis set for transaction queries