<p>You have many options but Bitcoind is a popular one due to its initial ease.</p>

<ul>
<li>Use Bitcoind</li>
<li>Use an API such as Coinbase or Blockchain.info be careful as these can be slow and not as secure.</li>
<li>Use one of the many libraries made for various languages. <a href="https://code.google.com/p/bitcoinj/" rel="nofollow">Bitcoinj</a> for Java, <a href="https://bitcointalk.org/index.php?topic=30646.0" rel="nofollow">Libbitcoin</a> for C++, <a href="https://github.com/piotrnar/gocoin" rel="nofollow">Gocoin</a> for Golang, and for other languages like Python and Javascript you can always find tools in a github search. This is <a href="https://github.com/search?l=Python&amp;o=desc&amp;q=bitcoin&amp;ref=searchresults&amp;s=stars&amp;type=Repositories" rel="nofollow">the search</a> for Python libraries in python.</li>
</ul>

CC BY-SA 3.0
2014-02-12T06:18:50.903Z
2014-02-12T06:18:50.903Z
John T
<p>No, it's an important part, but it's not the only option.  And it depends entirely on what type of application you want to build and where you are located geographically.</p>

<ul>
<li>If you want a lot of flexibility but don't want to run your own
Bitcoind, look into Blockchain's <a href="http://blockchain.info/api/blockchain_wallet_api" rel="nofollow">wallet API</a>.</li>
<li>If you are in the US and you want to accept Bitcoin, <a href="https://coinbase.com/docs/api/overview" rel="nofollow">Coinbase has a rich API</a> as well.  <a href="https://bitpay.com/bitcoin-payment-gateway-api" rel="nofollow">BitPay has an API</a> also, although I'm less familiar with it.</li>
<li>Other sites exist that let you get quotes, inspect blocks, transactions, etc. through REST-formed requests.</li>
</ul>

<p>Running bitcoind exacts a certain toll for hosting fees as well as managing security.  It's what I've chosen for my business, but it's not the only approach for everyone.</p>

CC BY-SA 3.0
2014-02-11T22:12:13.480Z
2014-02-11T22:12:13.480Z
ChrisW
<p>While @ChrisW's answer is good for situations where you need basic functionality, you have to remember that you'd be relying on third-parties. Which means when they go down, also your application goes down.</p>

<p>It depends on what you need to do, but if you're just looking to send and receive bitcoins and checking balances there's for example <a href="https://code.google.com/p/bitcoinj/" rel="nofollow">bitcoinj</a> which is a Java implementation that you could use within your application without having to rely on a full-node (bitcoind).</p>

<p>This would be a lot faster and easier in my opinion if you're just building a wallet application for example, because it's not a full node and doesn't require you to download the entire block chain, but just the headers.</p>

CC BY-SA 3.0
2014-02-11T22:36:22.230Z
2014-02-11T22:36:22.230Z
Luca Matteis
<p>I am looking at building an application using Bitcoins, and being a newbie the only real resources I have found regarding how to interact with the network is to issue RPC commands to the bitcoin-qt client running as a service.</p>

<p>I've played with this a bit and I am curious if there are other clients that do the same thing? Or is this client the only game in town?</p>

<bitcoin-core><json-rpc>
For Application Development is bitcoind RPC the Only Way?
aceinthehole
# For Application Development is bitcoind RPC the Only Way?

(Asked by: username_0 on 2014-02-11)

I am looking at building an application using Bitcoins, and being a newbie the only real resources I have found regarding how to interact with the network is to issue RPC commands to the bitcoin-qt client running as a service.

I've played with this a bit and I am curious if there are other clients that do the same thing? Or is this client the only game in town?

**Tags:** bitcoin-core, json-rpc


---

## 3 answers

### Answer by username_1 on 2014-02-12. Score: 2

You have many options but Bitcoind is a popular one due to its initial ease.

* Use Bitcoind
* Use an API such as Coinbase or Blockchain.info be careful as these can be slow and not as secure.
* Use one of the many libraries made for various languages. [Bitcoinj](https://code.google.com/p/bitcoinj/) for Java, [Libbitcoin](https://bitcointalk.org/index.php?topic=30646.0) for C++, [Gocoin](https://github.com/piotrnar/gocoin) for Golang, and for other languages like Python and Javascript you can always find tools in a github search. This is [the search](https://github.com/search?l=Python&o=desc&q=bitcoin&ref=searchresults&s=stars&type=Repositories) for Python libraries in python.


---

### Answer by username_2 on 2014-02-11. Score: 1

No, it's an important part, but it's not the only option. And it depends entirely on what type of application you want to build and where you are located geographically.

* If you want a lot of flexibility but don't want to run your own
  Bitcoind, look into Blockchain's [wallet API](http://blockchain.info/api/blockchain_wallet_api).
* If you are in the US and you want to accept Bitcoin, [Coinbase has a rich API](https://coinbase.com/docs/api/overview) as well. [BitPay has an API](https://bitpay.com/bitcoin-payment-gateway-api) also, although I'm less familiar with it.
* Other sites exist that let you get quotes, inspect blocks, transactions, etc. through REST-formed requests.

Running bitcoind exacts a certain toll for hosting fees as well as managing security. It's what I've chosen for my business, but it's not the only approach for everyone.


---

### Answer by username_3 on 2014-02-11. Score: 0

While @username_2's answer is good for situations where you need basic functionality, you have to remember that you'd be relying on third-parties. Which means when they go down, also your application goes down.

It depends on what you need to do, but if you're just looking to send and receive bitcoins and checking balances there's for example [bitcoinj](https://code.google.com/p/bitcoinj/) which is a Java implementation that you could use within your application without having to rely on a full-node (bitcoind).

This would be a lot faster and easier in my opinion if you're just building a wallet application for example, because it's not a full node and doesn't require you to download the entire block chain, but just the headers.


---

