<p><a href="http://smartcardwallet.org/" rel="nofollow">http://smartcardwallet.org/</a> claims to have a system where the wallet is stored on a smart card. A custom client is needed to access the wallet, but they say all software is open source.</p>

CC BY-SA 3.0
2013-01-23T08:53:58.493Z
@ThePiachu et al, I've updated the answer, since the link looks relevant.
Highly Irregular
CC BY-SA 3.0
2012-08-10T12:35:32.463Z
Hi Martin! Please try to expand your answer so that it does not just contain a link. A couple of lines describing SmartCardWallet will make the answer much more useful to other users.
D.H.
CC BY-SA 3.0
2012-09-18T11:54:44.250Z
While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference.  Link-only answers can become invalid if the linked page changes.
ThePiachu
CC BY-SA 3.0
2012-08-10T09:56:59.113Z
2013-01-23T08:52:23.703Z
2013-01-23T08:52:23.703Z
martin
<p>It's certainly possible. The card would basically need four functions: add/generate account, add bitcoins, prove bitcoins, spend bitcoins. The card could piggyback on external smart systems so the card doesn't need to do very much.</p>

<p>Each function would be implemented as follows:</p>

<p><strong>Add Account</strong>: An ECDSA private key would either be randomly generated by the card or loaded from an external source. The card would add the key to its store of keys. This would be a secure operation that would require the card's internal key to perform.</p>

<p><strong>Add Bitcoins</strong>: A list of transaction identifiers and output indexes would be loaded into the card. This would also be a secure operation.</p>

<p><strong>Prove Bitcoins</strong>: This operation would prove the ability of the card holder to spend a particular number of Bitcoins. An external device specifies a number of Bitcoins to prove. If desired, approval is sought from the card holder via a PIN or similar mechanism. The card then forms a transaction to pay that number of Bitcoins but damages it so the transaction is invalid (for example, it adds a single transaction input for a billion Bitcoins). Then it signs it. The recipient, seeing the invalid transaction signed knows the card holder could have signed the corresponding valid transaction. (If desired, a challenge can be included to prove the signed transaction was generated on the spot.)</p>

<p><strong>Spend Bitcoins</strong>: This is the same as the prove Bitcoins operation except the transaction is valid, the recipient commits the transaction to the block chain, and the card updates its memory to reflect that the coins are spent.</p>

<p>The only other thing you might need is a 'sync' operation where the card fixes any discrepancies. For example, if a spend operation is done but for some reason it doesn't make it into the block chain, the card needs to know that it still holds those Bitcoins. (And can't spend the 'change' from that transaction.)</p>

<p>This is a minimal implementation. You can certainly add more capabilities.</p>

CC BY-SA 3.0
2011-09-05T18:12:26.817Z
2011-09-05T19:37:12.737Z
2011-09-05T19:37:12.737Z
David Schwartz
<p>is it possible to create a <em>real hardware</em> Bitcoin, e.g. a specified (and verifiable) value which is stored on a smart card or RFID which can be given directly to other people?</p>

CC BY-SA 3.0
2011-09-05T20:02:25.527Z
Isn't this what BilBills is all about?
ripper234
<hardware-wallet>
Hardware Bitcoins (Smartcards, RFID etc.)
Thor
# Hardware Bitcoins (Smartcards, RFID etc.)

(Asked by: username_0 on 2011-09-05)

is it possible to create a *real hardware* Bitcoin, e.g. a specified (and verifiable) value which is stored on a smart card or RFID which can be given directly to other people?

**Tags:** hardware-wallet

> **Comments:**
> **username_1**: Isn't this what BilBills is all about?  

---

## 2 answers

### Answer by username_6 on 2011-09-05. Score: 14 | Accepted answer

It's certainly possible. The card would basically need four functions: add/generate account, add bitcoins, prove bitcoins, spend bitcoins. The card could piggyback on external smart systems so the card doesn't need to do very much.

Each function would be implemented as follows:

**Add Account**: An ECDSA private key would either be randomly generated by the card or loaded from an external source. The card would add the key to its store of keys. This would be a secure operation that would require the card's internal key to perform.

**Add Bitcoins**: A list of transaction identifiers and output indexes would be loaded into the card. This would also be a secure operation.

**Prove Bitcoins**: This operation would prove the ability of the card holder to spend a particular number of Bitcoins. An external device specifies a number of Bitcoins to prove. If desired, approval is sought from the card holder via a PIN or similar mechanism. The card then forms a transaction to pay that number of Bitcoins but damages it so the transaction is invalid (for example, it adds a single transaction input for a billion Bitcoins). Then it signs it. The recipient, seeing the invalid transaction signed knows the card holder could have signed the corresponding valid transaction. (If desired, a challenge can be included to prove the signed transaction was generated on the spot.)

**Spend Bitcoins**: This is the same as the prove Bitcoins operation except the transaction is valid, the recipient commits the transaction to the block chain, and the card updates its memory to reflect that the coins are spent.

The only other thing you might need is a 'sync' operation where the card fixes any discrepancies. For example, if a spend operation is done but for some reason it doesn't make it into the block chain, the card needs to know that it still holds those Bitcoins. (And can't spend the 'change' from that transaction.)

This is a minimal implementation. You can certainly add more capabilities.


---

### Answer by username_2 on 2012-08-10. Score: 1

<http://smartcardwallet.org/> claims to have a system where the wallet is stored on a smart card. A custom client is needed to access the wallet, but they say all software is open source.

> **Comments:**
> **username_4**: Hi username_2! Please try to expand your answer so that it does not just contain a link. A couple of lines describing SmartCardWallet will make the answer much more useful to other users.  
> **username_5**: While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference.  Link-only answers can become invalid if the linked page changes.  
> **username_3**: @username_5 et al, I've updated the answer, since the link looks relevant.  

---

