<p>Currently there are only a few mobile apps that use the bitcoin protocol itself. Most communicate with a bitcoin client on a remote machine using the <a href="https://en.bitcoin.it/wiki/API_reference_%28JSON-RPC%29">JSON API.</a></p>

<p>Those few that do, rely on <a href="http://code.google.com/p/bitcoinj/">BitcoinJ</a> which is a "selfish" implementation of bitcoin that runs in Java (handily the native language for Android apps). It's got a few key modifications that bring its overhead low enough to run on embedded devices, most notably it does not download all blocks in the block-chain, only those blocks which relate to addresses in its own wallet (hence "selfish" client).</p>

<p>Either method works, and either is as valid a starting point as the other, given the current state of bitcoin's mobile development.</p>

CC BY-SA 3.0
2011-08-30T21:52:39.317Z
2011-08-30T21:52:39.317Z
David Perry
<p>Bitcoin client provides RPC calls which are in JSON, you could communicate via the RPC to make your app.</p>

CC BY-SA 3.0
2011-08-30T21:39:42.943Z
2011-08-30T21:39:42.943Z
Codler
<p>The development forum of course! There is a great deal of code you could repurpose over on github. I would think android development would be easier, and maybe a good starting point.</p>

<p>If you know C++, definitely check out the bitcoin core.</p>

CC BY-SA 3.0
2011-08-30T21:27:53.190Z
2011-08-30T21:27:53.190Z
Alex Waters
<p>You can develop a light weight and yet secure mobile app on top of the <a href="http://code.google.com/p/bccapi/" rel="nofollow">BCCAPI</a>. 
The BCCAPI is implemented in Java and connects to a server that does the heavy lifting required to manage the block chain. However, the server does not have your private keys, and depends on the mobile device to sign transactions.</p>

<p><a href="https://market.android.com/details?id=com.miracleas.bitcoin_spinner" rel="nofollow">BitcoinSpinner</a> is an example of an Android app built on top of the BCCAPI.</p>

<p>If you were to use this to make an iPhone app you would have to port the BCCAPI from Java to a C-like language.</p>

CC BY-SA 3.0
2012-02-23T14:54:20.520Z
2012-02-23T14:54:20.520Z
Jan
<p>I would like to develop a mobile Bitcoin application for the Android and iPhone platforms.  What libraries and resources can I use?</p>

<mobile><development>
How do I develop mobile applications for Bitcoin?
devrandom
# How do I develop mobile applications for Bitcoin?

(Asked by: username_0 on 2011-08-30)

I would like to develop a mobile Bitcoin application for the Android and iPhone platforms. What libraries and resources can I use?

**Tags:** mobile, development


---

## 4 answers

### Answer by username_1 on 2011-08-30. Score: 9

Currently there are only a few mobile apps that use the bitcoin protocol itself. Most communicate with a bitcoin client on a remote machine using the [JSON API.](https://en.bitcoin.it/wiki/API_reference_%28JSON-RPC%29)

Those few that do, rely on [BitcoinJ](http://code.google.com/p/bitcoinj/) which is a "selfish" implementation of bitcoin that runs in Java (handily the native language for Android apps). It's got a few key modifications that bring its overhead low enough to run on embedded devices, most notably it does not download all blocks in the block-chain, only those blocks which relate to addresses in its own wallet (hence "selfish" client).

Either method works, and either is as valid a starting point as the other, given the current state of bitcoin's mobile development.


---

### Answer by username_2 on 2011-08-30. Score: 3

Bitcoin client provides RPC calls which are in JSON, you could communicate via the RPC to make your app.


---

### Answer by username_3 on 2011-08-30. Score: 2

The development forum of course! There is a great deal of code you could repurpose over on github. I would think android development would be easier, and maybe a good starting point.

If you know C++, definitely check out the bitcoin core.


---

### Answer by username_4 on 2012-02-23. Score: 1

You can develop a light weight and yet secure mobile app on top of the [BCCAPI](http://code.google.com/p/bccapi/).
The BCCAPI is implemented in Java and connects to a server that does the heavy lifting required to manage the block chain. However, the server does not have your private keys, and depends on the mobile device to sign transactions.

[BitcoinSpinner](https://market.android.com/details?id=com.miracleas.bitcoin_spinner) is an example of an Android app built on top of the BCCAPI.

If you were to use this to make an iPhone app you would have to port the BCCAPI from Java to a C-like language.


---

