To verify a Solana transaction, query its signature with getSignatureStatuses. A returned status is only successful when err is null; for a settlement that must not be rolled back, wait until confirmationStatus is finalized. A successful sendTransaction response alone proves only that an RPC service accepted the signed transaction for submission.
What a Solana transaction status actually tells you
Every submitted Solana transaction has a signature that identifies the signed message. The signature is the value you should monitor after a wallet or RPC call submits the transaction. The authoritative status check is the JSON-RPC method getSignatureStatuses, which reports whether the cluster has a known status and how strongly the block is confirmed.
As an Amazon Associate I earn from qualifying purchases.
Two fields must be read together:
errdescribes execution.nullmeans the transaction executed without an on-chain error. A non-null value means the transaction failed during execution, even if it has a confirmation status.confirmationStatusdescribes the block’s commitment level:processed,confirmedorfinalized.
For a consequential transfer or other settlement, treat the transaction as complete only when the status entry is non-null, err is null, and confirmationStatus is finalized.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Why the submission response is not confirmation
The sendTransaction RPC method returns a signature when the RPC service accepts the signed transaction for forwarding. Solana’s official reference explicitly cautions: “A successful response from this method does not guarantee the transaction is processed or confirmed by the cluster.”
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
That distinction creates a two-stage workflow:
- Submit the signed transaction and save the returned signature.
- Use that signature in
getSignatureStatusesuntil the result reaches the commitment level your application requires.
Do not label a transfer successful merely because the wallet displayed a signature or the submission call returned without an RPC error. The separate status query is what establishes cluster processing and execution outcome.
Step-by-step: check a signature with getSignatureStatuses
1. Copy the exact signature
Obtain the base-58 transaction signature from the wallet, SDK, or sendTransaction response. Use the complete value; a truncated or mistyped signature will not identify the transaction.
2. Send the status request
The method accepts an array of signatures. For one transaction, the JSON-RPC request body is:
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minute{
"jsonrpc": "2.0",
"id": 1,
"method": "getSignatureStatuses",
"params": [
["YOUR_TRANSACTION_SIGNATURE"]
]
}
The method does not accept a commitment option. Instead, inspect the returned confirmationStatus and compare it with your application’s required threshold.
3. Read the matching array entry
Look at result.value[0], which corresponds to the first signature in the request:
{
"jsonrpc": "2.0",
"result": {
"context": { "slot": 123456789 },
"value": [
{
"slot": 123456780,
"confirmations": null,
"err": null,
"confirmationStatus": "finalized"
}
]
},
"id": 1
}
The slot and legacy confirmations value provide context, but the decision fields are err and confirmationStatus.
4. Handle a null entry correctly
If result.value[0] is null, the node did not return a known status for that signature. Null is not proof that the transaction succeeded, and it is not proof that it failed. Query again after a short delay. If the transaction may be older than the node’s recent status cache, repeat the request with transaction-history search enabled:
Free tools Windows power users keep installed
One-click scans. No signup required.
{
"jsonrpc": "2.0",
"id": 2,
"method": "getSignatureStatuses",
"params": [
["YOUR_TRANSACTION_SIGNATURE"],
{ "searchTransactionHistory": true }
]
}
Use searchTransactionHistory: true when the signature may have fallen outside the recent cache. It is a lookup option, not a confirmation level.
5. Decide from both fields
- Status entry is
null: the lookup has not established an outcome. Poll again or search history when appropriate. - Status is non-null and
erris non-null: report an on-chain execution failure. Do not describe it as a successful transfer. - Status is non-null,
errisnull, and the level isprocessed: execution succeeded in the node’s newest view, but the block can still be rolled back. - Status is non-null,
errisnull, and the level isconfirmed: the block has a supermajority vote and is stronger than merely processed. - Status is non-null,
errisnull, and the level isfinalized: the transaction meets the strongest cluster-recognized commitment state.
Processed vs. confirmed vs. finalized
The levels are ordered from least to greatest assurance: processed < confirmed < finalized. A stronger level also satisfies a weaker threshold. Their practical meanings differ:
| Level | Meaning | Practical use |
|---|---|---|
processed |
The node’s newest processed block view; it may still be rolled back. | Fast feedback while waiting, not a final settlement signal. |
confirmed |
The block has direct votes from more than two-thirds of active stake. | Stronger confirmation when an application can accept less than finality. |
finalized |
The cluster recognizes the block as finalized with maximum lockout. | Preferred threshold for consequential transfers and other irreversible business decisions. |
Confirmation level and execution result answer different questions. A transaction can be confirmed or finalized and still contain an execution error. Conversely, err: null without a sufficiently strong commitment does not establish that the block can no longer be rolled back.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
Choosing the right threshold
Use processed for immediate interface feedback
A wallet or application can show that the node has processed a transaction while it continues waiting for stronger commitment. This is useful for updating a progress indicator, but it should not trigger a high-value release or be presented as final settlement because the block may be rolled back.
Use confirmed when supermajority voting is enough
Confirmed means more than two-thirds of active stake directly voted on the block. It provides stronger assurance than processed for applications whose risk policy accepts a non-final state.
Use finalized for settlement
For a consequential transfer, withdrawal, accounting entry, or other action that should not depend on a block that might be rolled back, require err: null and confirmationStatus: "finalized". The status method does not let you request this level as a parameter; your code must wait until the returned value reaches it.
When a transaction signature is not found
Recent submission: query again
A null status immediately after submission can simply mean the node has not yet returned a status for the signature. Retry the lookup after a short delay rather than declaring success or failure from the first null response.
Older transaction: search transaction history
Recent status information can leave the node’s cache. Add {"searchTransactionHistory": true} as the second parameter when the signature may be old. This asks the RPC service to search historical transaction records that are available to it.
Do not confuse status absence with transaction details
A status lookup that returns null has not established what happened. The same caution applies to getTransaction: it returns transaction details and metadata, but can return null when the transaction is not found or is not confirmed at the requested commitment. A null detail response is therefore not an independent proof of failure.
Inspecting transaction contents with getTransaction
Use getTransaction after the status check when you need instructions, account keys, balances, logs, or other transaction metadata. It answers a different question from getSignatureStatuses: it retrieves details at a requested commitment rather than simply reporting the current signature status.
Supply a configuration object with the commitment that matches your investigation and set maxSupportedTransactionVersion when your client needs to decode versioned transactions. A representative request shape is:
{
"jsonrpc": "2.0",
"id": 3,
"method": "getTransaction",
"params": [
"YOUR_TRANSACTION_SIGNATURE",
{
"commitment": "finalized",
"maxSupportedTransactionVersion": 0
}
]
}
If the result is null, interpret it in the context of the requested commitment and the RPC node’s available records. Do not use the absence of detail to override a status result or to infer that funds moved twice.
Safe polling and retry behavior
Poll the signature, not a new transfer
When the status is null or still only processed, continue checking the original signature. The safest response to uncertainty is to observe the existing transaction until it either reaches the required commitment or returns an execution error.
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
Do not resubmit a consequential transfer too early
Solana’s exchange guidance warns that retrying before the original recent blockhash expires can risk a double spend. A missing or delayed status is therefore not, by itself, a reason to create a second transfer. First check the original signature again, use history search if it may be old, and inspect the transaction details when available.
Separate execution failure from transport failure
An RPC error, timeout, or null status describes what the node returned to your lookup; it does not necessarily describe the transaction’s on-chain execution. Only a non-null status entry with a non-null err establishes an on-chain execution error. Keep those cases distinct in user messages and retry logic.
Monitoring several transactions at once
Because the method accepts an array, a service can check multiple signatures in one JSON-RPC request. Keep the array order and match each returned value by index: the first signature maps to result.value[0], the second to result.value[1], and so on. Each entry still needs its own null, err, and confirmationStatus decision. One failed or missing entry must not be treated as the outcome of every transaction in the batch.
Store each signature with the business operation that created it. That lets a worker resume polling after a process restart and prevents a user-facing status from being attached to the wrong transfer. A stronger level, such as finalized, satisfies a policy requiring confirmed; the reverse is not true.
Designing a polling policy
Polling should be explicit about its terminal states. Continue while the entry is null or while a successful entry remains below the application’s threshold. Stop and surface the on-chain error as soon as err is non-null. Stop as successful only when both the error field and commitment requirement pass.
Choose the delay, maximum polling period, and escalation behavior for your application rather than treating a single response as decisive. If the initial node has no record, a later lookup may find the signature; if the transaction is old, enable history search. A polling timeout is an observation timeout, not proof that the transaction failed. Record the last response and signature so an operator can continue checking it through another suitable RPC service.
For user interfaces, expose the progression without implying finality: “submitted,” “processed,” “confirmed,” and “finalized” are materially different messages. For accounting or custody systems, gate the dependent action on the strongest state required by policy, not on the speed of the first response.
Recommended Free Tools
A practical decision flow for applications
- Save the signature immediately after submission.
- Call
getSignatureStatuseswith the signature in the signatures array. - If the corresponding value is
null, wait briefly and query again. AddsearchTransactionHistory: truewhen the signature may have left the recent cache. - If
erris non-null, surface the execution error and stop treating the transaction as successful. - If
errisnull, compareconfirmationStatuswith the policy for the action. - For high-assurance settlement, continue until the returned level is
finalized. - Only then perform the dependent business action, such as crediting an account or releasing an asset.
This flow avoids the two common mistakes: treating submission as confirmation and treating a status lookup with no entry as a failed transfer.
Common implementation mistakes
Calling the removed singular method
The older getSignatureStatus method was removed in Agave v2.0. Use getSignatureStatuses, which accepts an array of signatures and returns status entries under result.value. Code written for the singular method must be updated to the array request and response shape.
Trying to pass commitment to the status method
getSignatureStatuses does not take a commitment option. Do not expect the node to filter the response to confirmed or finalized. Read confirmationStatus and enforce the threshold in application code.
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
Checking only confirmationStatus
A commitment level does not mean execution succeeded. Always inspect err; success requires err: null.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchAssuming getTransaction is the status API
getTransaction is for retrieving confirmed transaction details at a requested commitment. It can return null for an unavailable or insufficiently confirmed record. Use getSignatureStatuses for the status decision, then use getTransaction for investigation.
Using a truncated or mismatched signature
The lookup is keyed by the exact signature. Copying an explorer URL, shortening the base-58 value, or checking a signature from a different retry can produce a null entry that says nothing about the original transaction. Persist the exact string returned at submission and associate it with the intended operation.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.RPC endpoint considerations
The shared public Solana RPC endpoints are not intended for production applications and may return rate-limit or access-block responses. A production service should evaluate RPC infrastructure that matches its request volume and reliability requirements. Regardless of endpoint choice, preserve the same verification logic: signature lookup, null handling, execution-error check, and an explicit commitment threshold.
RPC implementation details and endpoint access conditions can change. Check the current method references when maintaining code, especially after validator or Agave releases.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →What to display to users
A useful status message should state both outcome and commitment instead of showing a vague “sent” label. For example:
- Waiting: “Transaction submitted; confirmation not yet available.”
- Processed: “Transaction executed and is processed; waiting for stronger confirmation.”
- Confirmed: “Transaction executed and is confirmed by more than two-thirds of active stake.”
- Finalized: “Transaction executed successfully and is finalized.”
- Failed: “The transaction reached the cluster but returned an on-chain execution error.”
Do not call a transaction successful while its status entry is null, while err is non-null, or while your settlement policy still requires a stronger commitment.
Frequently asked questions
Does a transaction signature prove that Solana processed my transaction?
No. A signature proves that a signed transaction was submitted or identifies the transaction, but a successful sendTransaction response does not guarantee processing or confirmation. Query getSignatureStatuses and inspect the returned entry.
What does err: null mean?
It means the transaction executed without an on-chain error according to that status entry. It does not, by itself, mean the block is finalized. Combine it with the required confirmationStatus.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Is confirmed the same as finalized?
No. Confirmed means more than two-thirds of active stake directly voted on the block. Finalized is the cluster’s strongest commitment state, with maximum lockout. Use finalized when a rollback is unacceptable.
Best Value
Why does getSignatureStatuses return null?
The node has no known status for that signature at the time of the lookup. The transaction may still be propagating, the signature may be wrong, or the record may have left the recent cache. Query again and use searchTransactionHistory: true when an older signature needs a historical lookup.
Can I pass finalized as a commitment to getSignatureStatuses?
No. This method does not accept a commitment parameter. Read its confirmationStatus response and wait in your application until it reaches finalized.
When should I call getTransaction?
Call it when you need instructions, account data, balances, logs, or other metadata after or alongside the status check. Provide the commitment and, when necessary, maxSupportedTransactionVersion. A null result can mean the record is unavailable or not confirmed at the requested level.
Should I submit the transfer again if the status is missing?
Not immediately. Continue checking the original signature first. Retrying before the original recent blockhash expires can risk a double spend, so a missing status alone is not sufficient reason to create a second transfer.
Are public Solana RPC endpoints suitable for a production monitor?
The shared public endpoints are not intended for production applications and can impose rate limits or access blocks. Select RPC infrastructure appropriate to your workload, but keep the same status, error, history-search, and finality checks.
Frequently Asked Questions
How do I know if my Solana transaction went through?
Call getSignatureStatuses with the exact signature. A non-null entry with err: null shows successful execution; inspect confirmationStatus to see whether it is processed, confirmed, or finalized.
What is the safest status for a large transfer?
Require a non-null status, err: null, and confirmationStatus: "finalized" before crediting an account, releasing an asset, or recording irreversible settlement.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWhat should I do if the signature is not found?
Query again after a short delay. If the signature may be outside the recent status cache, repeat the call with searchTransactionHistory: true. A null result alone does not prove success or failure.
Why did my transaction show confirmed but still fail?
Commitment and execution are separate. A transaction can be confirmed or finalized while err contains an on-chain execution error, so always check both fields.
The Bottom Line
Save the exact signature, check it with getSignatureStatuses, and read err together with confirmationStatus. Treat null as unknown, not failed; use history search for older signatures; and for consequential settlement wait for err: null plus finalized. Never resubmit a transfer merely because an early lookup is missing.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

