user5406: I've sent a transaction from blockchain.info, but accidentally included too little fee. What can I do to cancel the transaction or speed up the transaction's confirmation?

This is a complementary question to Why is my transaction not getting confirmed and what can I do about it? which answers the question's broader implications and proposes mitigation mostly focused on Bitcoin Core.

user18403: If transaction is unconfirmed you may just double spend it. It would probably require creating a transaction manually (I have used node.js with BitcoinJS for it), and then submitting it via the console of the bitcoin client. I would suggest also paying a bit higher fee (for the new transaction being confirmed before the old one) and not reusing any of source addresses used by either the old or new transaction, as double spend is easy to detect and people may not trust you.
If the point is to just make the original transaction confirmed you may just try to resend it (using console). It sometime helps as unconfirmed transactions are broadcasted by the network only for limited time.

user30084: If you have access to the core API and there is 'change' from the txn, spend the change  with a high fee:
you will need 

the stuck txn id 
the change private key

vout is the output for the change address. Lookup the txn, the change address is the zero based output from the spend.
( if you don't know, ask - people will help)
1 Get the private key of the change address
bitcoin-cli dumpprivkey <Change Addr>
2 Spend the change
this spends 1.0 BTC adjust as reqd. For your own amount - figure the change amount minus a large fee. Make sure you understand  the fee will be the change from original txn minus the spend to the address. Normally protections are in place to prevent fee bloat - this method ignores them. calculate the amount carefully
bitcoin-cli createrawtransaction '[{ "txid": "the stuck txn", "vout": 1 }]' '{ "<address to send to>": 1.000 }'
you will get a result like this: 
0200000001fae ... 088ac00000000
3 Sign the spend with the priv key of the change address
using the ouput from step 2 and the priv key from step 1 ...
the [] below indictaes we don't want to add any new txns into the spend (keep it simple)
bitcoin-cli signrawtransaction "0200000001fae ... 088ac00000000" "[]" '[ "<my change address PK>"]'
result will be ...
{
  "hex": "020000000 ..... 8ac00000000",
  "complete": true
}
4 Submit the txn to the network
in Step 3 we got a raw data transaction .... let's send it
bitcoin-cli sendrawtransaction "020000000 ..... 8ac00000000"

user49271: I am in the same situation. I contacted my wallet provider and this was the response.

Hello,
The bitcoin mempool is currently backlogged, which is causing a delay
with transaction confirmations. You can follow it live on this chart,
which shows all pending bitcoin transactions on the bitcoin network -
https://blockchain.info/charts/mempool-count. This is impacting the
entire bitcoin network, not just Blockchain.info.
An unconfirmed transaction will eventually be accepted into a block by
whichever mining pool mines the block, or the transaction will
eventually be rejected by the bitcoin network after an estimated one
to seven days. If it eventually is rejected, then the funds would
remain at the bitcoin address they were sent from. The only thing you
can do at this point is to wait and see if the transaction is accepted
into a block. Like all wallet providers, Blockchain.info has
absolutely no control over this, and cannot expedite transactions.
This is always dependent upon the bitcoin network of miners, which we
are not a part of.
Blockchain.info wallets utilize dynamic fees. The following link
explains how this works -
https://blog.blockchain.com/2016/03/16/introducing-dynamic-fees/.


user27519: It looks like your transaction finally went through. I've had a transaction take longer than 24 hours due to not including a large enough miner's fee
And currently there's no way to cancel a transaction after it's already sent, even if it's still unconfirmed. So it's a good idea to triple check the amount you're sending, the transaction fee and that it's going to the correct address.
I think it would be helpful if bitcoin had this feature in the future: cancelling transactions while they're still unconfirmed

user27733: Basically, you can double spend the input and add transaction fees. Firstly, this sounds crazy but it works! Somebody also made an introduction video on how to do this: https://www.youtube.com/watch?v=ycq7O48aPvQ

user30509: 
I want to delete my unconfirmed transactions from Blockchain.info?  

Unconfirmed transaction means that your transaction is being broadcast through the network until some miner write it down into a block. If the unconfirmed transaction is not confirmed into the blockchain after some days, it is deleted from the network.  
Nowadays, there is no easy way to delete your unconfirmed transaction. Unless you broadcast it again with a higher fee. In that case, the one that enters first into the blockchain (probably the one with higher fee) will automatically delete the other one from the unconfirmed pool (after a propagation delay).  


Is there any way I can recover my bitcoins?  

While your transaction has not being written into the blockchain, it means that you haven't spent your bitcoins yet. Theoretically, you could still write a transaction into the blockchain spending such bitcoins the way you like it.
However, the problem is that not the entire network accept that. Probably, you would have to broadcast it via the console of a bitcoin client.

user5406: If you're one of the recipients of the transaction (i.e. via change output), you can create a child-pays-for-parent transaction by spending the unconfirmed output in a new transaction with a sufficiently high fee.
From what I hear, you can specifically select the inputs for transactions on blockchain.info, so it should be easy enough to craft a transaction to that end.
If you're comfortable doing so, you might want to try to export the private keys corresponding to the unconfirmed transaction and export it into another wallet in order to create a doublespend transaction to recover the funds.
Finally, you'd always have the option wait it out, or to get in touch with blockchain.info's customer support.
Note: I've never used blockchain.info myself, so please provide feedback to improve this answer if you have better insight.

user28129: this is a generic answer applying to "light" wallets - I don't know much about the blockchain.info-wallet

There are several approaches that may work.  I'm not sure which methods are most easily available for a user of a blockchain.info-wallet, but probably #0a and #2, followed by #3, #0b and #1b.
0) Wait it out.
0a) Wait for the transaction to go through.  Most likely there will be free capacity in the network after some hours, some days or a week.  In periods with free capacity, even low-fee transactions will pass.  Rarely one has to wait longer than the next Sunday evening.
0b) Wait for the transaction to be forgotten, and then create a new transaction with a higher fee.  In some few exceptional cases (notably around new year 2017/2018 and in 2021) several weeks or even months have passed without any free capacity.  The original transaction may eventually be forgotten by the network.  Some wallets will then offer to create a new transaction, Mycelium will offer to delete the old transaction, and with some luck a "double spend" will be possible - though this is very unreliable as the original transaction may be purposely or accidentally rebroadcast both by the sender, receiver and any third-party.
0c) From some wallets, the most intuitive panic action is to actively rebroadcast the transaction. This probably won't help at all, and it's the exact opposite of 0b, so it's probably not a good idea
1) Double spend with a higher fee (RBF).
1a) Using the "Replace by Fee"-protocol - this probably does not apply to you, but it's arguably the best way to "unstick" transactions.  If the original transaction is marked up with "RBF allowed", most of the network will accept a replacement transaction with a higher fee.  Not all wallets supports setting this flag, and even fewer has RBF turned on by default - for a good reason, the RBF protocol allows an unconfirmed transaction to be reverted, so using the RBF-flag is a terrible idea if you want someone to trust a zero-conf transaction.  (the RBF-feature has been removed from most Bitcoin Cash software, as they deem it both "harmful" and "not needed").
1b) Doing RBF/"Double spend" even if the original transaction was not marked as RBF.  Miners (and nodes) are supposed to ignore the double spend transaction - but you may be lucky.  You may need to use specialized software to perform such a double spend.  It may work, either because the original transaction has ended up in a "ghost-like" state where it's known by some nodes but not others - maybe some miners are unaware that you're doing a double-spend - or it may work because some miners deliberately accepts double-spent transactions as they can earn more fees on it.
2) Child Pays for Parent (CPFP). if a new transaction is made with a high fee, building on top of the old transaction, most of the miners will include the whole chain of transaction in the block they're mining at.
2a) Get the receiver of the funds to spend the funds they received on a new transaction, with high fee.  This may of course not always be possible, but ...
2b) If not all the money in the wallet was spent, the transaction will typically include two outputs, one "change UTXO" that goes back to the wallet.  If you can spend this one with a higher fee, the transaction may go through faster. Some wallets have a menu option for "accelerating" the transaction through "CPFP".  In some wallets one can manually decide what UTXOs to include in the transaction. One can also send all the funds in the wallet i.e. back to an address belonging to the same wallet, but the fee for that may become excessive as the wallet may be filled up with "dust" making such a transaction big and costly.  Electrum does support spending some specific UTXO, and Mycelium has the "CPFP" acceleration button.  If you can take out a backup seed phrase from your wallet, it can most likely be used in Electrum or Mycelium.
3) Ask the pools for help.  viabtc has their "transaction accelerator" at https://pool.viabtc.com/tools/txaccelerator/, antpool.com also has some similar service, there even exists services where one can pay by credit card to get the transaction prioritized.

5406: <p>I've sent a transaction from <code>blockchain.info</code>, but accidentally included too little fee. What can I do to cancel the transaction or speed up the transaction's confirmation?</p>

<hr>

<p><sup><em>This is a complementary question to <a href="https://bitcoin.stackexchange.com/q/9046/5406">Why is my transaction not getting confirmed and what can I do about it?</a> which answers the question's broader implications and proposes mitigation mostly focused on Bitcoin Core.</em></sup></p>
 18403: <p>If transaction is unconfirmed you may just double spend it. It would probably require creating a transaction manually (I have used node.js with BitcoinJS for it), and then submitting it via the console of the bitcoin client. I would suggest also paying a bit higher fee (for the new transaction being confirmed before the old one) and not reusing any of source addresses used by either the old or new transaction, as double spend is easy to detect and people may not trust you.</p>

<p>If the point is to just make the original transaction confirmed you may just try to resend it (using console). It sometime helps as unconfirmed transactions are broadcasted by the network only for limited time.</p>
 30084: <p>If you have access to the core API and there is 'change' from the txn, spend the change  with a high fee:</p>

<p>you will need </p>

<ul>
<li>the stuck txn id </li>
<li>the change private key</li>
</ul>

<p>vout is the output for the change address. Lookup the txn, the change address is the zero based output from the spend.
( if you don't know, ask - people will help)</p>

<p><strong>1 Get the private key of the change address</strong>
<code>bitcoin-cli dumpprivkey &lt;Change Addr&gt;</code></p>

<p><strong>2 Spend the change</strong></p>

<p>this spends 1.0 BTC adjust as reqd. For your own amount - figure the change amount minus a large fee. Make sure you understand  the fee will be the change from original txn minus the spend to the address. Normally protections are in place to prevent fee bloat - this method ignores them. <strong>calculate the amount carefully</strong></p>

<p><code>bitcoin-cli createrawtransaction '[{ "txid": "the stuck txn", "vout": 1 }]' '{ "&lt;address to send to&gt;": 1.000 }'</code></p>

<p>you will get a result like this: </p>

<p><code>0200000001fae ... 088ac00000000</code></p>

<p><strong>3 Sign the spend with the priv key of the change address</strong></p>

<p>using the ouput from step 2 and the priv key from step 1 ...</p>

<p><em>the [] below indictaes we don't want to add any new txns into the spend (keep it simple)</em></p>

<p><code>bitcoin-cli signrawtransaction "0200000001fae ... 088ac00000000" "[]" '[ "&lt;my change address PK&gt;"]'</code></p>

<p>result will be ...</p>

<p><code>{
  "hex": "020000000 ..... 8ac00000000",
  "complete": true
}</code></p>

<p><strong>4 Submit the txn to the network</strong></p>

<p>in Step 3 we got a raw data transaction .... let's send it</p>

<p><code>bitcoin-cli sendrawtransaction "020000000 ..... 8ac00000000"</code></p>
 49271: <p>I am in the same situation. I contacted my wallet provider and this was the response.</p>
<blockquote>
<p>Hello,</p>
<p>The bitcoin mempool is currently backlogged, which is causing a delay
with transaction confirmations. You can follow it live on this chart,
which shows all pending bitcoin transactions on the bitcoin network -
<a href="https://blockchain.info/charts/mempool-count" rel="nofollow noreferrer">https://blockchain.info/charts/mempool-count</a>. This is impacting the
entire bitcoin network, not just Blockchain.info.</p>
<p>An unconfirmed transaction will eventually be accepted into a block by
whichever mining pool mines the block, or the transaction will
eventually be rejected by the bitcoin network after an estimated one
to seven days. If it eventually is rejected, then the funds would
remain at the bitcoin address they were sent from. The only thing you
can do at this point is to wait and see if the transaction is accepted
into a block. Like all wallet providers, Blockchain.info has
absolutely no control over this, and cannot expedite transactions.
This is always dependent upon the bitcoin network of miners, which we
are not a part of.</p>
<p>Blockchain.info wallets utilize dynamic fees. The following link
explains how this works -
<a href="https://blog.blockchain.com/2016/03/16/introducing-dynamic-fees/" rel="nofollow noreferrer">https://blog.blockchain.com/2016/03/16/introducing-dynamic-fees/</a>.</p>
</blockquote>
 27519: <p>It looks like your transaction finally went through. I've had a transaction take longer than 24 hours due to not including a large enough miner's fee</p>

<p>And currently there's no way to cancel a transaction after it's already sent, even if it's still unconfirmed. So it's a good idea to triple check the amount you're sending, the transaction fee and that it's going to the correct address.</p>

<p>I think it would be helpful if bitcoin had this feature in the future: cancelling transactions while they're still unconfirmed</p>
 27733: <p>Basically, you can double spend the input and add transaction fees. Firstly, this sounds crazy but it works! Somebody also made an introduction video on how to do this: <a href="https://www.youtube.com/watch?v=ycq7O48aPvQ" rel="nofollow">https://www.youtube.com/watch?v=ycq7O48aPvQ</a></p>
 30509: <blockquote>
  <p>I want to delete my unconfirmed transactions from Blockchain.info?  </p>
</blockquote>

<p>Unconfirmed transaction means that your transaction is being broadcast through the network until some miner write it down into a block. If the unconfirmed transaction is not confirmed into the blockchain after some days, it is deleted from the network.  </p>

<p>Nowadays, there is no easy way to delete your unconfirmed transaction. Unless you broadcast it again with a higher fee. In that case, the one that enters first into the blockchain (probably the one with higher fee) will automatically delete the other one from the unconfirmed pool (after a propagation delay).  </p>

<hr>

<blockquote>
  <p>Is there any way I can recover my bitcoins?  </p>
</blockquote>

<p>While your transaction has not being written into the blockchain, it means that you haven't spent your bitcoins yet. Theoretically, you could still write a transaction into the blockchain spending such bitcoins the way you like it.</p>

<p>However, the problem is that not the entire network accept that. Probably, you would have to broadcast it via the console of a bitcoin client.</p>
 5406: <p>If you're one of the recipients of the transaction (i.e. via change output), you can create a child-pays-for-parent transaction by spending the unconfirmed output in a new transaction with a sufficiently high fee.</p>

<p>From what I hear, you can specifically select the inputs for transactions on blockchain.info, so it should be easy enough to craft a transaction to that end.</p>

<p>If you're comfortable doing so, you might want to try to export the private keys corresponding to the unconfirmed transaction and export it into another wallet in order to create a doublespend transaction to recover the funds.</p>

<p>Finally, you'd always have the option wait it out, or to get in touch with blockchain.info's customer support.</p>

<p><em>Note: I've never used blockchain.info myself, so please provide feedback to improve this answer if you have better insight.</em></p>
 28129: <p><em>this is a generic answer applying to &quot;light&quot; wallets - I don't know much about the blockchain.info-wallet</em></p>
<hr />
<p>There are several approaches that may work.  I'm not sure which methods are most easily available for a user of a blockchain.info-wallet, but probably #0a and #2, followed by #3, #0b and #1b.</p>
<p><strong>0) Wait it out.</strong></p>
<p>0a) Wait for the transaction to go through.  Most likely there will be free capacity in the network after some hours, some days or a week.  In periods with free capacity, even low-fee transactions will pass.  Rarely one has to wait longer than the next Sunday evening.</p>
<p>0b) Wait for the transaction to be forgotten, and then create a new transaction with a higher fee.  In some few exceptional cases (notably around new year 2017/2018 and in 2021) several weeks or even months have passed without any free capacity.  The original transaction may eventually be forgotten by the network.  Some wallets will then offer to create a new transaction, Mycelium will offer to delete the old transaction, and with some luck a &quot;double spend&quot; will be possible - though this is very unreliable as the original transaction may be purposely or accidentally rebroadcast both by the sender, receiver and any third-party.</p>
<p>0c) From some wallets, the most intuitive panic action is to actively rebroadcast the transaction. This probably won't help at all, and it's the exact opposite of 0b, so it's probably <em>not a good idea</em></p>
<p><strong>1) Double spend with a higher fee (RBF)</strong>.</p>
<p>1a) Using the &quot;Replace by Fee&quot;-protocol - this probably does not apply to you, but it's arguably the best way to &quot;unstick&quot; transactions.  If the original transaction is marked up with &quot;RBF allowed&quot;, most of the network will accept a replacement transaction with a higher fee.  Not all wallets supports setting this flag, and even fewer has RBF turned on by default - for a good reason, the RBF protocol allows an unconfirmed transaction to be reverted, so using the RBF-flag is a terrible idea if you want someone to trust a zero-conf transaction.  (the RBF-feature has been removed from most Bitcoin Cash software, as they deem it both &quot;harmful&quot; and &quot;not needed&quot;).</p>
<p>1b) Doing RBF/&quot;Double spend&quot; even if the original transaction was not marked as RBF.  Miners (and nodes) are supposed to ignore the double spend transaction - but you may be lucky.  You may need to use specialized software to perform such a double spend.  It may work, either because the original transaction has ended up in a &quot;ghost-like&quot; state where it's known by some nodes but not others - maybe some miners are unaware that you're doing a double-spend - or it may work because some miners deliberately accepts double-spent transactions as they can earn more fees on it.</p>
<p><strong>2) Child Pays for Parent (CPFP).</strong> if a new transaction is made with a high fee, building on top of the old transaction, most of the miners will include the whole chain of transaction in the block they're mining at.</p>
<p>2a) Get the receiver of the funds to spend the funds they received on a new transaction, with high fee.  This may of course not always be possible, but ...</p>
<p>2b) If not all the money in the wallet was spent, the transaction will typically include two outputs, one &quot;change UTXO&quot; that goes back to the wallet.  If you can spend this one with a higher fee, the transaction may go through faster. Some wallets have a menu option for &quot;accelerating&quot; the transaction through &quot;CPFP&quot;.  In some wallets one can manually decide what UTXOs to include in the transaction. One can also send <em>all</em> the funds in the wallet i.e. back to an address belonging to the same wallet, but the fee for that may become excessive as the wallet may be filled up with &quot;dust&quot; making such a transaction big and costly.  Electrum does support spending some specific UTXO, and Mycelium has the &quot;CPFP&quot; acceleration button.  If you can take out a backup seed phrase from your wallet, it can most likely be used in Electrum or Mycelium.</p>
<p><strong>3) Ask the pools for help.</strong>  viabtc has their &quot;transaction accelerator&quot; at <a href="https://pool.viabtc.com/tools/txaccelerator/" rel="nofollow noreferrer">https://pool.viabtc.com/tools/txaccelerator/</a>, antpool.com also has some similar service, there even exists services where one can pay by credit card to get the transaction prioritized.</p>
