Transaction taking too long

I had a code prepared to make transactions on Solana Javascript

It was working ok but latelly…everytime i try to make a transaction it returns

Error: Transaction was not confirmed in 60.00 seconds. It is unknown if it succeeded or failed. Check signature 2k2WVcy3u7Q5CGDG1c6sG2JWjgm6hTd6c3UWoCSeHFfsKaKLeNBazNgTLKSHS4iZaPFiM3mgXLL3GqcNc4MW1ayj using the Solana Explorer or CLI tools.

Seems to me the transaction is taking more than 60 seconds…what is already a big issue…but worse than that someone coded a lock that says if its more than 60 seconds it is a fail.

I tried to surround the problem making a second request if the first dont work…but also gives the same error. If this kind of problem cant be solved i will have to give up on solana and find a web3.js that takes longer…but at least work. The way it is now is completelly unreliable.

1 Like

HI @torugor,

Recently the Solana network has been suffering from some sort of performance problems and transactions have been failing to go through. I’m not sure what the cause its, but it should be temporary.

When it takes more than 60 seconds to even find the transaction on the chain, that means it almost surely never event got through in the first place, so that’s why it is saying that the transaction failed.

Failed transactions are harmless and won’t cause any changes to your wallet, but I was running into the same issue yesterday and I wasn’t able to make a simple token transfer because none of the transactions were going through.

Hopefully it will fix soon. On the Solana Explorer you can watch the network’s transactions per second in realtime. On a normal day I think it hovers around 2,000 TPS, but lately it’s been falling as low as 500, so that’s probably why transactions are failing.

1 Like

I found that the transaction speed is very slow recently as you mentioned.
But can you tell me what is the reason of that?
I thought the advantage of Solana is the fast speed and low fee.
What happens in Solana and how it would affect the future of Solana?

@torugor have you being able to make your transaction successful?

@TrustedDev are the transactions slow on Solana apps you use, or are they slow on your own custom Solana app. If they are slow on your own app, you can tweak the confirmation mode to make it faster, but if it is on other apps, then it is likely a network problem.

I’ve not been following Solana’s network status for the last while, so I’m not sure what the current status is, but I believe that Solana will most-likely work out any performance issues over time.

I’d check out the Solana blog to see if there is any mention of any issues or resolutions.

Hi, I am using Solana web3 to run the transaction.

Is there way to increase the speed of transaction or other way to run the transaction without fail using Solana web3?
And how can I tweak the transaction as “confirmation”?

Now the transaction got success in the normal time and got this error when the performance is low.

You can check out this post for more of an explanation:

If there’s a network performance problem, then there might not be any way to get away from failed transactions, but hopefully over time Solana will overcome the performance issues so it doesn’t happen anymore.


Checking my code, I found that I already did that with “confirmed”.
And still I get the error, it means that it’s because of net performance and there is no other way around.
Am I right?

Its really frustrating but seems like for some reason web3 works sometimes and sometimes not.

This bad behaviour happens to me too. I wonder how phantom made his code if there is some way to program other than using web3 and scape this random chance of fail

Phantom is most likely using web3.js, too, and even if it isn’t it uses the same RPC API under the hood to communicate to the Solana network. If Phantom works better I think it has to be one of two things:

  1. Phantom will just retry a transaction if it fails.
  2. Phantom uses a faster RPC server ( this is much more likely )

Most serious projects will have their own RPC server to allow for the best performance. This can’t overcome Solana network performance issues, but if the Solana network is working fine, then a dedicated RPC server will keep your app responding quicker than using the default public mainnet RPC server.

If you want to get your own RPC server hosted, it’s pretty expensive, but this service will do it for you:

Thats a great answer.
Problem in having a bug is not knowing it can be fixed.
If money can fix the problem and clients want to pay the money…all is ok.

Tell you what…

new web3.Connection(web3.clusterApiUrl(“mainnet-beta”),“confirmed”);

Helped a bit…with this process. But latelly it has been impossible to make a single transaction in solana.

If it is required to pay 500 dollars/month to make solana work i will have to use solana after my startup gets way bigger.
I am almost giving up on solana and looking for a new solution. Getting impossible.
They sell its cheap and fast. What i get is slow, costly and unreliable.

Every transaction results in:

Error: Transaction was not confirmed in 30.00 seconds. It is unknown if it succeeded or failed. Check signature using the Solana Explorer or CLI tools. at Connection.confirmTransaction (/workspace/node_modules/@solana/web3.js/lib/index.cjs.js:5631:13) at async Object.sendAndConfirmTransaction (/workspace/node_modules/@solana/web3.js/lib/index.cjs.js:2962:19)||

Well…took a look at

they have a 9 dolars plan which is inside my possibilities.

When i saw on the documentation, they sugest i do
connection.sendTransaction(transaction,[fromWallet] )

while i was using sendAndConfirmTransaction.

After I changed it, my transactions went very fast.

So here is the question…is this confirm really necessary?

Nevermind…discovered confirmation is necessary. Then anyone knows if quicknode is good? considering to use it to solve the problem

Don’t take my word for it, but I’ve “seen Quicknode around”, I think from some different sources as I just try out different blockchain projects, so I would guess that it’s pretty legitimate. Again, though, don’t take that as my confidence in it because I haven’t looked into it specifically.

Also, I’ve been disconnected from Solana for a while, so I haven’t followed the network status, but have you been able to complete Solana transactions on other apps?

I’m just worried that maybe the network is experiencing slowness for one reason for another, and that it might not be the fault of the RPC server. You wouldn’t want to pay for anything if it wasn’t actually going to help…

If you run into transactions not working, maybe try to check out this site to see the network stats and see what the transactions-per-second is at. If it’s lower than normal ( I think it should normally sit at about 2000 TPS ) then having a faster RPC node might not help.

I hardly ever get a fail on phantom.
I see that they use quicknode at least quicknode says they use their services.

One thing i discovered i could do to solve my problem was this:
var connection = new web3.Connection(web3.clusterApiUrl(“mainnet-beta”),{commitment:“confirmed”,confirmTransactionInitialTimeout:120000});

using confirmTransactionInitialTimeout to be above 30 seconds sure will help.
Also retry.
But all this is lame for reliability of a program

OK, then maybe it is just the RPC node and using QuickNode will fix it.

Did you resolve the issue? I am getting the same issue on my end. Can you please let me know?

There might be too much spam going on in the Solana network, and in those cases a lot of transactions are dropped and you will just have to retry.

You can check out the Solana Explorer home page and scroll down to the Live Transaction Stats section to see what the current Transactions Per Second (TPS) is. At the current time (July 19, 2022), the range of TPS is between 1.9K and 2.4K, which seems pretty healthy. Although there may be times of high congestion where the TPS drops to ~500, which may have been what was happening for you.

If you want a free, reliable way to deploy transactions, I’d also highly recommend checking out Alchemy (disclaimer, I’m a Developer Advocate with Alchemy :blue_heart:):