user13889: I accidentally sent a transaction without a miner's fee and I need it to clear as soon as possible. But, as far as I can tell it's going to take days if it goes through at all. Is there any way that I can pay a fee on top of what I've already sent?

user43277: Check bitcoin-cli bumpfee. I think it does exactly what you want.

user5406: It is impossible to modify a transaction after it has been broadcast to the network. However, it may be possible to replace it with a newer version.
If you're using Bitcoin Core, you can make it forget unconfirmed transactions by starting it with -zapwallettxes.
After that, you generate a transaction that uses at least one of the inputs of the previous transactions, set a decent fee, and broadcast it to the network. As your transaction gets confirmed, the first one becomes invalid because it is trying to spend inputs that have been spent already.
If you don't know which inputs you've used, you may want to send all your money to yourself to prevent that you pay twice due to both transactions confirming.

user434: Rebroadcasting a similar transaction with a fee attached will invalidate the one that's waiting. Basically you initiate a double-spend and the new one (with a fee) will get confirmed.  Once it's confirmed, the old transaction will be invalid and forgotten.
Your client probably does not allow double-spend attempts, but it's possible via blockchain.info. Warning: Don't create a raw transaction unless you really know what you are doing!
People are working on making fee changes easier for us mere mortals; one example is/was (seems to be defunct) ConfirmNext.

13889: <p>I accidentally sent a transaction without a miner's fee and I need it to clear as soon as possible. But, as far as I can tell it's going to take days if it goes through at all. Is there any way that I can pay a fee on top of what I've already sent?</p>
 43277: <p>Check <code>bitcoin-cli bumpfee</code>. I think it does exactly what you want.</p>
 5406: <p>It is impossible to modify a transaction after it has been broadcast to the network. However, it may be possible to replace it with a newer version.</p>

<p>If you're using Bitcoin Core, you can make it forget unconfirmed transactions by starting it with <code>-zapwallettxes</code>.</p>

<p>After that, you generate a transaction that uses at least one of the inputs of the previous transactions, set a decent fee, and broadcast it to the network. As your transaction gets confirmed, the first one becomes invalid because it is trying to spend inputs that have been spent already.</p>

<p>If you don't know which inputs you've used, you may want to send all your money to yourself to prevent that you pay twice due to both transactions confirming.</p>
 434: <p>Rebroadcasting a similar transaction with a fee attached will invalidate the one that's waiting. Basically you initiate a double-spend and the new one (with a fee) will get confirmed.  Once it's confirmed, the old transaction will be invalid and forgotten.</p>

<p>Your client probably does not allow double-spend attempts, but it's <em>possible</em> via <a href="https://blockchain.info/pushtx" rel="noreferrer">blockchain.info</a>. Warning: Don't create a raw transaction unless you really know what you are doing!</p>

<p>People are working on making fee changes easier for us mere mortals; one example is/was (seems to be defunct) ConfirmNext.</p>
