<p>Yes this is completely possible. There are services which run fully featured API's that provide almost everything that the client can do.</p>

<p><a href="http://blockchain.info/api" rel="nofollow" title="Blockchain API">http://blockchain.info/api</a></p>

<p>There are other merchant processors which have similar functionality depending on exactly what you want to do also.</p>

CC BY-SA 4.0
2020-01-03T04:20:27.333Z
but these require that you keep your private keys with them, do they not?
ekkis
CC BY-SA 3.0
2013-02-22T12:08:02.617Z
2013-02-22T12:08:02.617Z
MaxSan
<p>If you could somehow track the outputs at your disposal (which you may therefor send in an outgoing transaction you could in fact create a transaction, sign it and submit it to a bitcoind daemon or blockchain.info (via the <code>sendrawtransaction</code> API call) to get it into the network.</p>

<p>Tracking outputs is the sole reason you likely have to run a daemon. Even if you create a single output for 100 BTC and then start creating transactions from that output, by splitting off small amounts and send the change back, it makes the transactions dependent on each other. As soon as a single transaction is not validated (due to a bug, incomplete fees or a double spend), all following transactions will also fail.</p>

<p>Spending bitcoins without being connected to the network overlay is possible, but at some point you'll have to synchronize with the network to ensure the transactions have been accepted and to get fill up the output pool for future spends.</p>

CC BY-SA 3.0
2013-02-22T11:48:17.213Z
2013-02-22T11:48:17.213Z
cdecker
<p>To send bitcoins you need:</p>
<ul>
<li>Private key(s) for the address(es) being spent</li>
<li>Transaction hash + index for each transaction previously received to those addresses whose funds will be used for spending in this transaction</li>
<li>Bitcoin address(es) to send to, including change address if there will be change.</li>
</ul>
<p>The Bitcoin.org client does all this elegantly without the user needing to know anything except what address(es) to pay and the amount.  To construct a transaction manually means obtaining data from the blockchain, performing a cryptographic signature using the private key, and broadcasting that transaction to peer nodes.</p>
<p>The <a href="http://en.bitcoin.it/wiki/Raw_Transactions" rel="nofollow noreferrer">Raw Transactions API</a> article on the Bitcoin.it Wiki describes this further.</p>
<p>~~This is done using Javascript code from Brainwallet.org~~ [Update: this is defunct, link removed]:</p>
<p>Now if you simply need to send from a node that is not on a live connection (but has a current blockchain), you can do this using the Armory client:</p>
<ul>
<li><a href="http://bitcoinarmory.com/using-offline-wallets-in-armory" rel="nofollow noreferrer">http://bitcoinarmory.com/using-offline-wallets-in-armory</a></li>
</ul>
<p>Also the Electrum client apparently can be used to provide to you the raw transaction that could then be broadcast to spend a coin.  Electrum uses a back-end server that does all the work that the Bitcoin.org client would do in building the transaction.</p>
<p>Once you have a raw transaction to broadcast, you can use the <a href="http://blockchain.info/pushtx" rel="nofollow noreferrer">PushTx API</a> on blockchain.info or BrainWallet.org will let you [broadcast a transaction][3] as well.</p>

CC BY-SA 4.0
2020-01-03T03:24:26.873Z
brainwallet.org doesn't resolve.  there's brainwallet.io but that seems like something else
ekkis
CC BY-SA 4.0
2013-02-22T12:07:20.420Z
2020-09-10T01:53:31.017Z
2020-09-10T01:53:31.017Z
Stephen Gornick
<p>How can I send bitcoins in my web app without running the daemon on my server?
Is there a way to do it? Do third parties allow you to send through them?</p>

<bitcoind><daemon><offline>
Sending bitcoins programatically without running a node
BitWarrior
# Sending bitcoins programatically without running a node

(Asked by: username_0 on 2013-02-22)

How can I send bitcoins in my web app without running the daemon on my server?
Is there a way to do it? Do third parties allow you to send through them?

**Tags:** bitcoind, daemon, offline


---

## 3 answers

### Answer by username_1 on 2013-02-22. Score: 2

Yes this is completely possible. There are services which run fully featured API's that provide almost everything that the client can do.

[http://blockchain.info/api](http://blockchain.info/api "Blockchain API")

There are other merchant processors which have similar functionality depending on exactly what you want to do also.

> **Comments:**
> **username_2**: but these require that you keep your private keys with them, do they not?  

---

### Answer by username_3 on 2013-02-22. Score: 0

If you could somehow track the outputs at your disposal (which you may therefor send in an outgoing transaction you could in fact create a transaction, sign it and submit it to a bitcoind daemon or blockchain.info (via the `sendrawtransaction` API call) to get it into the network.

Tracking outputs is the sole reason you likely have to run a daemon. Even if you create a single output for 100 BTC and then start creating transactions from that output, by splitting off small amounts and send the change back, it makes the transactions dependent on each other. As soon as a single transaction is not validated (due to a bug, incomplete fees or a double spend), all following transactions will also fail.

Spending bitcoins without being connected to the network overlay is possible, but at some point you'll have to synchronize with the network to ensure the transactions have been accepted and to get fill up the output pool for future spends.


---

### Answer by username_4 on 2013-02-22. Score: 0

To send bitcoins you need:

* Private key(s) for the address(es) being spent
* Transaction hash + index for each transaction previously received to those addresses whose funds will be used for spending in this transaction
* Bitcoin address(es) to send to, including change address if there will be change.

The Bitcoin.org client does all this elegantly without the user needing to know anything except what address(es) to pay and the amount. To construct a transaction manually means obtaining data from the blockchain, performing a cryptographic signature using the private key, and broadcasting that transaction to peer nodes.

The [Raw Transactions API](http://en.bitcoin.it/wiki/Raw_Transactions) article on the Bitcoin.it Wiki describes this further.

~~This is done using Javascript code from Brainwallet.org~~ [Update: this is defunct, link removed]:

Now if you simply need to send from a node that is not on a live connection (but has a current blockchain), you can do this using the Armory client:

* <http://bitcoinarmory.com/using-offline-wallets-in-armory>

Also the Electrum client apparently can be used to provide to you the raw transaction that could then be broadcast to spend a coin. Electrum uses a back-end server that does all the work that the Bitcoin.org client would do in building the transaction.

Once you have a raw transaction to broadcast, you can use the [PushTx API](http://blockchain.info/pushtx) on blockchain.info or BrainWallet.org will let you [broadcast a transaction][3] as well.

> **Comments:**
> **username_2**: brainwallet.org doesn't resolve.  there's brainwallet.io but that seems like something else  

---

