BitPay sponsored angel-hack Seattle that I participated in this summer. Their developer api was horrible and poorly documented wasting everyone time. I was in one of the few groups that got it to work. When asking when we would find out who won the 5 bitcoin prize for best use of it we were told to contact bitpay. I contacted them multiple times and support told me to to contact their CEO who ended up not responding to my emails. I will not use bitpay in the future.
Yeah, prize disbursements were handled terribly. My team won BitPay's prize at AngelHack SF, contacted them repeatedly, and were told to wait until all AngelHacks were over before anything would be done. Months and months later it arrived this week. We actually avoided BitPay intentionally at a couple hackathons after since no one was sure if they were just scammers or not.
That said, I had no problem with their API. They had an easy web checkout link that could be generated that worked fine in an Android WebView for my first implementation. Later at AngelHack SV I used their PHP API to generate invoices for specific prices for goods dynamically and was then still able to send people to their site to finish checkout and get redirected when it completed.
Didn't really see any missing documentation and their site worked fine, responding quite quickly when money was sent to the barcode it showed or the link that could start a wallet app on Android, and their PHP sample code worked trivially. Who knows, maybe they've improved the docs and samples since you used it, though. Or you were trying to hack bitcore, which is a completely different level of difficulty.
Hey, Eric with BitPay here. If you're still waiting on information about AngelHack, email me: eric@bitpay.com
We just this past week launched our new REST API, which should be significantly better than our old API: http://blog.bitpay.com/2014/09/18/announcing-the-new-bitpay-... – we spent a long time thinking very carefully about making the developer experience as smooth as possible, but I'm sure there are things we can be doing better. If you've any ideas on how we can improve it, please let me know.
Hey Rygu! We really appreciate the feedback – we're doing everything we can to make working with Bitcoin extremely simple. What can we do to reduce the complexity?
I've worked with Bitpay while making https://www.incoin.io/ and their developer docs are average to good. It wasn't horrible, the documentation was good enough and Bitpay offered to help (and were super helpful when we asked any questions). In fact, other than having to implement BitAuth ourselves it was pretty painless.
You might be thinking of BitID, which tightly couples payment addresses to identity: https://github.com/bitid/bitid – BitAuth does not use Bitcoin keypairs.
We created BitAuth as a way to avoid coupling payments with identity, which is why the keypairs are independent and include a different prefix (0x02).
>Bitcoin addresses are intended to be single use, disposable keys rather a long term method of identification. A portion of Bitcoin's address design is intended to minimize publicity of EC public keys if at all possible.
A potential work around is to just BitAuth with a HD wallet? Thereby negating any address-reuse issues.
Hey Tony! Great work on your Go implementation of BitAuth: https://github.com/codelittinc/gobitauth – would you mind sending me an email about your AngelHack issues? eric@bitpay.com
Hey Eric! Thanks for the heads up, will send you an email now.
Hah... that library was awesome to work on. Ended up reimplementing the signature algorithm before getting a library that lets us use golang's built in ecdsa libs. Not clever!
Love BitAuth. It's super easy to use and works brilliantly.
I'm developing an app now, where bitcoin payments are part of it. I decided to try bitpay rather than running bitciond myself (less chance to fuck up) but their API is horribly hard to use, gives inconsistent errors and the docs are awful at best.
I'm using their old version, but the errors I get are from the new version. Their library for the language I use is not yet updated. The new docs seem to be better, but I lost faith in them as a developer.