Recently, Rep. Steve Stockman posed for a photo op with his Bitcoin address on a big QR code, which got shared. He has a Bitcoin donation page which asks for identifying info and goes through BitPay, but of course anyone could send him Bitcoin anonymously, without using that page, if they know the address to send it to.

The Libertarian Party and CoinPAC have Bitcoin donation pages that don't outright list their addresses, but block chain analysis of a donation would probably reveal their main address(es), and those addresses might have received contributions that didn't go through the donation pages. (The LP's page doesn't even require giving your info for it to show you the donation address.)

Stockman & LP's donation pages use BitPay; CoinPAC's uses Bitcoin Builder (which in turn uses Coinbase).

The Livingston County Libertarian Party (addr) and Jim Fulner (addr) publish their Bitcoin addresses openly on their websites, and the Bitcoin Voters PAC published a list of their Bitcoin addresses in their official FEC registration filing‡. None of them even have Bitcoin donation pages that collect info, so of course anything sent to them presumably wasn't properly attributed.


The FEC requires PACs to know the identity of all contributors (especially for "in-kind" contributions, i.e. anything other than fiat currency). If any of the above received any Bitcoin contributions that didn't get attributed to a specific person (e.g. by going through a donation page that requires disclosing your ID before telling you the address to donate to), that'd probably be an unlawful unidentified in-kind contribution.

For our upcoming FEC advisory opinion request about how to handle Bitcoin, I'd like to have example(s) of how:

  • it's not possible to "refuse" a Bitcoin transaction (e.g. someone contributing to the above outside of their donation pages)
  • it's not possible to reliably refund a Bitcoin to the control of the person who sent it (e.g. a transaction that was laundered or came from an exchange)
  • some transactions are worth less than they cost to get rid of (e.g. dust or complex / intentionally large-byte-size transactions)

Our request proposes a framework for how to deal with these problems (e.g. one could donate unattributed Bitcoin contributions to a charity). I just want real-life examples I can point to that show it's not a purely theoretical issue.


How can I show that Stockman, the Libertarian Party, and/or CoinPAC have received BTC contributions that did not come via their donation pages (and thus BitPay or Coinbase)?

Pointing to specific transactions they received and explaining how it is clear to a third party that those transaction(s) weren't made via BitPay/Coinbase would be extremely helpful.

Other examples of political committees that have published a Bitcoin address or are currently receiving Bitcoins in some way would also be much appreciated.

Thanks in advance!

More info

† See our bitcoin AOR page & my G+ post for some more background.

For the record, we are strictly non-partisan. Our intent here is not to make any particular candidate or party look bad, but rather support transparency in campaign finance.

We want to accept Bitcoin (potential donors have requested it and we think it's a good idea), but we think it needs to be done carefully to be compatible with current law and good public policy.

Comments on our AOR are welcome, but not really on topic here; I'm just pointing to it for context. The question here is simply: how can I identify a transaction as being / not being made via BitPay or Coinbase, just looking at the block chain? (Let's assume there's no subpoena involved. :-P)

‡ So you needn't transcribe:

3 Answers 3


Only way is if Coinbase/Bitpay publicly released their addresses, which they won't.


Send them yourself? Maybe a little risky, since it may be illegal, but it would get your point across. Just send them directly to their address, since you know it, and then be able to prove that you did it while bypassing BitPay/Coinbase. You can prove you bypassed them by showing the transaction was directly from A to B (A being your wallet and B being the candidate/PAC's) and showing A does in fact belong to you.

Explaining that it is impossible to refuse a transaction is purely theoretical, so there's no getting around that.

To explain that it isn't always possible to refund you just have to explain that it isn't uncommon for addresses to be used once and discarded.

To explain the third problem, you should just highlight that it is possible for malevolent actors purposely send donations that would cost more to refund/get rid of than to keep and thus a requirement to do so would be asinine. Then maybe go through the technical aspect of how said transactions can be created.

Edit: Seeing as sending them yourself would be illegal and that is the only way without knowledge of Bitpay's addresses, you're going to need BitPay's address. You're not going to get that. At best you could send coins to them and trace their path to a storage wallet. But there's no way to know that all coins pass through the same storage wallet, so you can't say that any coins sent to the candidate from an address other than the storage address you know are directly from a person.

As a concrete example, say BitPay has two storage wallets A and B and you want to send coins to a candidate. The have you send your coins to wallet A and then they send the amount of coins you want to give from wallet B.

Companies use schemes similar to the above example with arbitrarily many wallets. They do this because knowledge of all their storage wallets would give away competitive info like the total number of coins they have. There are just to many ways for BitPay to obfuscate their internal handling of coins for you to trace anything. So a subpoena is the only way I'm afraid.

  • Actually doing this myself, or encouraging someone else to, would be a Very Bad Idea and definitely illegal. Google "fec bitcoin". Make Your Laws PAC = my work.
    – Sai
    Commented May 13, 2014 at 4:44
  • See my edit. Sorry to disappoint.
    – Tyler
    Commented May 14, 2014 at 3:57

You can't. Transaction inputs are indistinguishable from each other.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.