BCH NFC Payment Card

Hi everyone,

I’m exploring the idea of creating an NFC card that securely stores a BCH private key, allowing it to function like a Visa card for Bitcoin Cash transactions.

Here’s how it would work:

  1. NFC Card : The card would securely store the private key and be capable of signing BCH transactions when tapped.
  2. POS Terminal : A merchant inputs an amount (e.g., $8) into a POS terminal or device, which quickly converts it into BCH and prepares a transaction.
  3. Transaction Signing : The customer taps their NFC card on the terminal. The card signs the transaction using the stored private key.
  4. Broadcasting : The POS device then broadcasts the signed transaction to the BCH network.

You’d obviously have small amounts of BCH in the wallet that the card holds the key to and top it up as you need. The idea here is making p2p payments almost seemless for both merchant and customer.

This system could provide a seamless and familiar payment experience for customers while leveraging the power of Bitcoin Cash. I’m keen to hear your thoughts on the feasibility, security, and potential challenges of implementing this idea.

3 Likes

I like the idea.

There were similar ideas proposed before.

For the simplest possible solution I think basically to create a simple protocol for the terminal and card to talk to each other, a chip on the card could craft a transaction for the PoS terminal to broadcast.

The chip would not know how much BCH is on it and would be limited to a single private key per card. This is bad for privacy however.

There are more complex schemes possible with the card storing 12 word seed instead and generating new address for receiving and change every time, but could make the chip more expensive, power-hungry and harder to place on a card.

Most people already own the hardware to read and write NFC payments without cards or dedicated POS terminals.

The selene.cash wallet team is using the capacitor framework, which could give the wallet access to read/write NFC data on android and iOS devices, via a plugin.

For a POS, using a regular smartphone phone (or an old phone) may eliminate the equipment cost for the merchant. The Paytaca team may be using capacitor as well(?) for their POS enabled wallet app. So with the same plugin, it may be possible to add NFC payment requests to an existing POS system.


There are lots of NFC payment specifications already, but none of them may actually work with the way utxo chains operate.

A non-spec spec would be to implement something like BIP70 over NFC transport instead of using QR codes.

This is a very old thread on reddit about implementing BIP70 via NFC.

With these proposals, a lot of the design comes down to which users, if any, are allowed to be offline in the process. There was been some newer movement on successors to BIP70 for BitcoinCash, but I think BIP70 is still the defacto standard.

Best BCH wallets shows which wallets have implemented BIP70 already.

Perhaps implementing both send and receiving BIP70 via NFC in a fork of paytaca would be the fastest way to demo the idea and get it to market.

@joemar_taganna is the expert on the Paytaca apps.

1 Like

Tobias Ruck came up with a very cool way of doing this which he called be.cash. Check out the whitepaper or the talk he gave at at our Meetup in London.

1 Like