<p>To the best of my knowledge, there is not. I did, however (shameless plug) contribute some <a href="https://github.com/bitcoin/bitcoin/tree/master/contrib/bitrpc" rel="nofollow">Python scripts</a> to the official client a while back which could easily be coupled with Python's very simple <a href="http://docs.python.org/library/basehttpserver.html" rel="nofollow">HTTP Server module</a> to perform the tasks you're after. I know it's more of a workaround than an official in-client feature, but it should work.</p>

CC BY-SA 3.0
2011-12-06T19:01:05.387Z
2011-12-06T19:01:05.387Z
David Perry
<p>The <a href="https://github.com/bitcoinjs/node-bitcoin-exit/" rel="nofollow">exit node</a> part of <a href="http://www.bitcoinjs.org/" rel="nofollow">BitcoinJS</a> is sort of what you're looking for. Quote <a href="https://github.com/bitcoinjs/node-bitcoin-exit/wiki" rel="nofollow">from wiki</a>:</p>

<blockquote>
  <p>There are two main ways clients can interact with exit nodes:</p>
  
  <ul>
  <li>REST API – HTTPS-based asynchronous API usable with almost any
  language or platform.</li>
  <li>Socket API – Socket-based API providing realtime
  data events via JSON-RPC and – using Socket.IO – even for pure
  browser-based clients.</li>
  </ul>
</blockquote>

<p>Example of using the REST API:</p>

<p><a href="https://exit.trucoin.com:3125/pubkeys/register?keys=1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa" rel="nofollow">https://exit.trucoin.com:3125/pubkeys/register?keys=1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa</a>
registers a public key to get a handle.</p>

<p><a href="https://exit.trucoin.com:3125/pubkeys/gettxs?handle=ManS6KcKCR1lpY0qCPiDOr9ej6HXQcVADFOMOGaMuD4=" rel="nofollow">https://exit.trucoin.com:3125/pubkeys/gettxs?handle=ManS6KcKCR1lpY0qCPiDOr9ej6HXQcVADFOMOGaMuD4=</a>
uses that handle to get the transactions of the address.</p>

<p>It should also be possible to send a transaction but that part is not very well documented.</p>

CC BY-SA 3.0
2011-12-06T20:00:03.147Z
2011-12-06T20:00:03.147Z
D.H.
<p>Are there any implementations of a Bitcoin client that would run over HTTP, allowing one to communicate by, for example, sending raw message bytes as a POST?</p>

<p>Edit:
I'm not looking for ways to control a Bitcoin client remotely, for example telling it to send some of the coins it is holding, encrypt a wallet or the like. What I want to find is a server that takes HTTP calls and answers back similarly to how the Bitcoin client would. For example, providing its block chain, exchanging list of pending transactions, accepting signed transactions from outside, etc.</p>

CC BY-SA 3.0
2011-12-06T21:34:44.267Z
This would be useful for operating within something like a corporate intranet where the firewall blocks most traffic.
Highly Irregular
CC BY-SA 3.0
2011-12-06T21:58:43.630Z
Or for servers that don't allow for TCP/IP connectivity (for example, I'm struggling with Google App Engine, probably in the end I'll create some web service that will bridge between TCP/IP and HTTP).
ThePiachu
CC BY-SA 3.0
2011-12-28T23:33:02.370Z
See also related or identical question I just asked: http://bitcoin.stackexchange.com/questions/2333/is-there-a-remote-bitcoin-api-that-doesnt-require-anything-to-be-stored-locally
ripper234
<client><alternatives><http>
Bitcoin over HTTP?
ThePiachu
# Bitcoin over HTTP?

(Asked by: username_0 on 2011-12-06)

Are there any implementations of a Bitcoin client that would run over HTTP, allowing one to communicate by, for example, sending raw message bytes as a POST?

Edit:
I'm not looking for ways to control a Bitcoin client remotely, for example telling it to send some of the coins it is holding, encrypt a wallet or the like. What I want to find is a server that takes HTTP calls and answers back similarly to how the Bitcoin client would. For example, providing its block chain, exchanging list of pending transactions, accepting signed transactions from outside, etc.

**Tags:** client, alternatives, http

> **Comments:**
> **username_1**: This would be useful for operating within something like a corporate intranet where the firewall blocks most traffic.  
> **username_0**: Or for servers that don't allow for TCP/IP connectivity (for example, I'm struggling with Google App Engine, probably in the end I'll create some web service that will bridge between TCP/IP and HTTP).  
> **username_2**: See also related or identical question I just asked: http://bitcoin.stackexchange.com/questions/2333/is-there-a-remote-bitcoin-api-that-doesnt-require-anything-to-be-stored-locally  

---

## 2 answers

### Answer by username_4 on 2011-12-06. Score: 4 | Accepted answer

The [exit node](https://github.com/bitcoinjs/node-bitcoin-exit/) part of [BitcoinJS](http://www.bitcoinjs.org/) is sort of what you're looking for. Quote [from wiki](https://github.com/bitcoinjs/node-bitcoin-exit/wiki):

> There are two main ways clients can interact with exit nodes:
>
> * REST API – HTTPS-based asynchronous API usable with almost any
>   language or platform.
> * Socket API – Socket-based API providing realtime
>   data events via JSON-RPC and – using Socket.IO – even for pure
>   browser-based clients.

Example of using the REST API:

<https://exit.trucoin.com:3125/pubkeys/register?keys=1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa>
registers a public key to get a handle.

<https://exit.trucoin.com:3125/pubkeys/gettxs?handle=ManS6KcKCR1lpY0qCPiDOr9ej6HXQcVADFOMOGaMuD4=>
uses that handle to get the transactions of the address.

It should also be possible to send a transaction but that part is not very well documented.


---

### Answer by username_3 on 2011-12-06. Score: 1

To the best of my knowledge, there is not. I did, however (shameless plug) contribute some [Python scripts](https://github.com/bitcoin/bitcoin/tree/master/contrib/bitrpc) to the official client a while back which could easily be coupled with Python's very simple [HTTP Server module](http://docs.python.org/library/basehttpserver.html) to perform the tasks you're after. I know it's more of a workaround than an official in-client feature, but it should work.


---

