Everyone knows that canceling a Bitcoin transaction is impossible. The irreversibility of transactions is one of the distinctive properties of a peer-to-peer cash system, in contrast to centralized payment systems. At one time, Bitcoin Core developers were going to make a change to the client that would allow editing a transaction not yet accepted into the block in order to change the commission, but this functionality has not yet been implemented. And, nevertheless, already now, under certain conditions and with sufficient desire, cancellation of the transaction is possible.
This article is a description of an experiment whose purpose was to test how low fees it is possible to successfully send bitcoins from a Bitcoin Core wallet. The experiment was unsuccessful and led to the fact that five transactions sent with various wallet settings in terms of commissions were stuck. But then the experimenter managed to cancel the frozen transactions and return the blocked amounts.
Is it possible to cancel a Bitcoin transaction?
The general rule states that in a blockchain, a decentralized system that guarantees anonymity, it is impossible to cancel a completed transaction.
The reason is that there are no intermediaries to turn to if the sender, for example:
- mistakenly sent too much amount;
- I entered the details incorrectly.
The peculiarity of the system is that the sender does not have access to the recipient's address. He sees only his wallet number and is able to track the entire path traveled by the transaction.
How not to send transactions
The first 2 transactions were attempted to be sent with the minimum fee set to 0.00001 BTC and the “Try to send without fee if possible” checkbox.
Please note that the client recommends setting 0.00013615 BTC per kilobyte. But for the remaining three transactions, each of which was for the same amount of 0.01 BTC, the recommendation regarding the size of the commission was ignored, and the size of the commission itself was set deliberately lower than the recommended one.
It turned out that all five transactions were stuck without a single confirmation for an indefinite period of time. In our case, for a week.
An additional inconvenience was that the address to which the bitcoins were sent, in turn, could not be used to send bitcoins. An attempt to make a translation was accompanied by the message: “Oops! You have unconfirmed deposits pending. You must wait for your deposits to be confirmed before withdrawing."
If the situation is familiar to you, then there is no reason to panic. To begin with, you can wait a while. If the queue of transactions clears up, then perhaps, in the end, your turn will come. If the wait is too long - as in our case, for a week, then you can try to force the wallet - here this was done using the example of Bitcoin Core - to “forget” about the posted transactions. After all, until the first confirmation arrived, the transaction was not included in the block, which means that only your client knows about it.
How to cancel the transfer of bitcoins if it is frozen?
The long transaction confirmation time on the Bitcoin network is a weak point in the payment system. The BTC algorithm is designed in such a way that it can process only 7 transactions per second, so sometimes users have to wait several hours or even days for a transaction to complete. But it happens that they freeze for a very long time, for what reasons could this happen?
- sudden interruption of the Internet signal;
- Setting the commission too small.
This is an opportunity for the user to try to “roll back” the transaction. Step-by-step instructions will be viewed on the Bitcoin Core client:
- Verify that the transaction is stuck. To do this, check it through Block Explorer. If the transfer still appears in the list and the money is still in your account, then you're in luck! You can also check the status on the Blockchain.info website. To do this, you need to specify the TXID. If the operation has received at least 1 confirmation, then it is no longer possible to cancel the operation and return the bitcoins. If you see the status “Unconfirmed transaction”, then everything is lost.
- Now, in the wallet itself, launch the debug panel: Help - Debug Window - Console.
- If your wallet is encrypted, then you immediately need to open access to it using the appropriate walletpassphrase command.
- Now we get the private key by entering the dumpprivkey command. Instead of » » we insert the number of the wallet from which the transaction was carried out. You should also get private keys from other wallets if they have bitcoins.
- When all the keys have already been saved, you need to exit the client and delete the wallet or wallets itself. The location of the wallet.dat file may vary depending on your system settings. There is no need to remove it completely. It is best to give it a new name or move it to another directory.
- Now we restart the Bitcoin Core software wallet client and import the previously saved private keys into it by entering the importprivkey command in the debug panel. The procedure may take a long time. Do not cancel it under any circumstances and wait for the system to respond!
- In the new wallet, those transactions that were not confirmed should be “forgotten” by the network, and the funds should be returned to your account.
Unfortunately, this method is not applicable to cloud wallets. And in general, you shouldn’t go to such extremes - it’s better to always keep track of who, where and how much money you are sending, then there will be no problems with returns!
How to cancel a Bitcoin transaction if it has not yet been confirmed? You can create another one “on top” of it. When using Bitcoin Core, follow the instructions:
- From the main menu you need to go to the following sections: “Help” - “Debug window” - “Console”.
- Then enter the following commands: walletpassphrase - enter the password, dumpprivkey - enter the address and get the private key. You will need it later, so you should save it in a separate file. Important! Do not give the key to unauthorized persons.
- Rename the wallet file. Bitcoin Core will not find it and will create a new empty wallet.
- We return to the console and enter the following commands: importprivatekey - insert the private key obtained earlier. The scanning begins, which will take about 1 hour. Once the scan is complete, a complete list of confirmed transactions will appear. Among them, our translation should be absent. Important! During scanning, the operation could have been processed by miners, which means it cannot be cancelled. Check the list of Bitcoin transfers carefully.
- We create a similar transaction with a higher commission. This transaction will be confirmed faster, and the previous transfer will remain forever unconfirmed due to the double spending rules.
For a client where there is no functionality for calculating the recommended commission amount, you can use the Blocktrail service. You can use a client who not only does not show, but also does not provide the opportunity to set the amount of the commission, at your own peril and risk.
Canceling stuck transactions sent using other wallets is done in a similar way. It is important to export the private keys of all addresses involved in transactions. Then recreate the wallet - this will likely require you to delete the directory where the wallet program stores the data, and then import the private keys into the newly created wallet.
Transaction cancellation options
However, there are several scenarios in which there is a chance to still cancel the transaction. This is possible if:
- payment was made for an order placed in the online store;
- It will be possible to find the owner of the wallet to which the money was sent by mistake. The search can be performed on forums, on social networks, in data on addresses and translations of the Blockchain.info website, using a network block browser.
Despite the strictness of the rule that does not allow you to cancel a transaction in the blockchain system, there is still a small chance of getting your money back.
How to cancel an unconfirmed transaction
If the transaction has not yet been confirmed, it is possible to cancel it. After checking the status, for which the TXID is indicated, and making sure that the transaction has not yet been confirmed, you can take steps to cancel it. Operations are carried out in the debug console:
- Enter the walletpassphrase command and password.
- Enter dumpprivkey and specify the address. The private key is obtained. The wallet file is renamed.
- After entering the importprivatekey command, you will need to indicate the received key.
- After completing an approximately hour-long scan, the list of confirmed transactions is checked to see if ours is among them.
- To speed up the process, you need to create a new transaction with a higher commission.
There is a possibility that the transaction will be confirmed during the scan. Then you won't be able to cancel it.
How to roll back a stuck transaction
When waiting for a stuck transaction to complete seems too long, you can try to cancel it. Freezing occurs due to:
- Internet connection interruption;
- hastily sending the next transfer while the previous one has not yet been completed;
- indicating the commission amount at a level that is lower than what the system recommends.
The situation is corrected after checking the transaction status by performing successive operations in the debug console. Performed:
- obtaining a private key;
- export of private keys of addresses where bitcoins are also located;
- closing a client, deleting a wallet;
- restarting the client, importing private keys into the new wallet it created.
How not to send transactions
After the first attempts to minimize the size of commissions, users quickly come to understand how not to send transactions. It is not recommended to do this:
- by checking the box so that the payment is made without commission if possible;
- indicating the minimum commission fee.
The likelihood that payment will go through in the near foreseeable future is extremely low.
If the user is interested in completing the payment quickly, it is better to indicate a higher commission.
Using a blockchain wallet results in the need to perform a cryptocurrency exchange. Choosing an exchanger requires a careful approach:
- checking its reliability, for which we study reviews on specialized Internet resources;
- availability of actually provided technical support 24/7, favorable exchange rates and a current multi-level affiliate program.
Connecting to a multi-level “affiliate” for an active client over time creates a powerful source of passive income. He receives bonuses and deductions from transactions of attracted clients of the exchanger.
Refund of bitcoins when paying in online stores
The option to return the listed bitcoins is most likely if they were used to pay for a purchase in an online store. The main thing is that it is a reliable site and not created with fraudulent intentions. It is possible to contact the recipient of the funds transferred by mistake (accidentally transferred more than required) using the contact information provided on the website. Payment details are provided to confirm the validity of the request.
An online store that cares about its reputation will correct the mistake made by the buyer so as not to lose the client.
How to return bitcoins back to your wallet when paying in online stores
Bitcoins are actively used not only as an asset on the exchange, but also as a means of payment. Sometimes when making a transfer, a user may accidentally send a larger amount than he intended. In this case, you should contact representatives of the online store, provide transfer information and ask to return the BTC. If a similar situation occurs when purchasing goods from trusted sellers, then they, as a rule, agree and return the user’s funds.
It is much worse if the funds are sent to an unknown address. In such a situation, the likelihood of the cryptocurrency being returned is minimized, but you can try to find the owner of the wallet and contact him.
To do this, follow these steps:
- Enter the wallet number in the Google search engine. The owner of the address may have already revealed their identity. Try contacting him using forums or social networks.
- Explore the data on the blockchain. The Blockchain.info website contains information about addresses and transfers. Enter the desired address in the search bar and transaction data, as well as sender/recipient addresses, will appear on the monitor.
- Try to find users who received or sent bitcoins to the seller by entering their wallets into a search engine. There is a chance that they will help you find the owner of the address you need
Scenarios of incorrect deposits and withdrawals
Missing/incorrect Memo, Tag or Payment ID:
For the BEP 2 network (BNB) and for coins such as XRP and XLM, you need to provide the Memo, Tag or Payment ID displayed on the deposit screen.
Your deposit will not be credited if you provide incorrect information or do not provide this information at all.
So be sure to enter the address as well as Memo/Tag which are required for certain coin deposits.
The same goes for withdrawals. If the target exchange requests a Memo or Tag, please include this required information before making a withdrawal.
Sending the wrong coin/token to Binance:
Another mistake that users make is depositing a coin or token that has been delisted by the exchange.
Previously, you could successfully deposit a coin into your Binance account and store the address locally. Before depositing to the same address again, check if Binance supports the same coin/token you are depositing.
Do not send to the wrong receiving address or deposit tokens not listed.
Making a deposit to an address that does not belong to the exchange:
By default, most cryptocurrency wallets include a checksum feature that prevents coins from being sent to the wrong address.
For example, you cannot deposit Bitcoin to an Ethereum address. However, you can send Bitcoin to a Bitcoin Cash address and vice versa.
There is also a chance that you might accidentally deposit to the wrong address, thinking that the address belongs to your Binance account.
Please remember that the exchange support service cannot help you with this. You need to contact the relevant parties. It is difficult to determine the owner of a specific address or the specific exchange that owns that address.
So always double check the address on your exchange or wallet before sending.
Transferring funds to the wrong network:
The most common user mistake is sending funds to the wrong network. We'll soon explain how to recover cryptocurrency transferred to the wrong network.
Before we look at recovery steps, here's how you can avoid choosing the wrong network.
Conclusion
Most cryptocurrency exchanges list ETH and ERC20 on the Ethereum mainnet. Only Binance allows users to choose the Binance Smart chain, which is their own blockchain.
This allows you to store ERC20 tokens (based on Ethereum) as a pegged BEP20 token.
Choosing the right transmission network can seem quite daunting if you are a beginner. But once you understand the difference between BSC and ETH, you can't go wrong.
In most cases, you can recover incorrectly sent tokens. But be very careful when sending cryptocurrency. They can be lost forever, especially if you accidentally send the wrong token to a custodial wallet or cryptocurrency exchange.
Incorrect network transmissions
Here are three different situations:
1. Tokens sent to the exchange or custodial wallet:
If you do not have access to the seed phrase or private keys, then most likely you are using a custodial wallet. This is similar to the address provided to you by the cryptocurrency exchange.
If you have sent tokens to an exchange or custodial wallet, you will have to contact the wallet provider or the exchange's customer support. In this case, you may or may not receive funds. It all depends on how reliable the service provider is.
2. Tokens are sent to a wallet that only supports Ethereum.
Almost all BSC wallets support ERC20 tokens, but not all Ethereum wallets support BEP20 tokens. If you have sent tokens to a wallet that only supports Ethereum or BSC, you will need to access the private key/seed phrase.
You need to access the seed phrase or private key and then import it into a wallet that supports both networks.
3. Tokens are sent to a wallet that supports Ethereum and BSC.
For example, wallets such as MetaMask and Trust wallet support both the BSC network and the Ethereum network. If you chose the wrong network and transferred tokens to any of these wallets, you can easily get them back.
The guide below explains how to get back funds sent to the wrong network.