You can tell that this is a carefully rehearsed PR account since the issues at Coinbase never was about "cancelled orders". That's a very literal and lawyerly rebuttal of Istof's comment. A trustworthy human being would have known exactly what events Istof was referring to, and answered that accusation rather than trying to hide behind semantics.
The issue at Coinbase ( https://news.ycombinator.com/item?id=6932224 ) was them taking weeks to fulfil orders, while sitting on your money, during which time the price of bitcoin was fluctuating wildly, and then processing them at the original bitcoin price, rather than the current (lower) price. End result is the customer getter far fewer bitcoins than the current market rate and accusations that Coinbase was pocketing the difference.
One of the submissions about it: https://news.ycombinator.com/item?id=6929705 Note that it took considerable pressure from the HN community (and possibly YC) before Coinbase even refunded the guys losses. They wanted to just give him a token $50 worth of bitcoins, when the profit Coinbase had made from delaying the transaction was more like $12k.
This wasn't a one off either, there were other stories on HN ( e.g. https://news.ycombinator.com/item?id=6933360 ) and threads full of people on /r/bitcoin detailing similar experiences. Nobody could get their money out or get any reply from the company and for a while it looked like it was another mt.gox. There was a total failure of support and communication.
Hi, my name is Craig. I'm a real engineer. The reason I answer things this way is because I haven't actually been given explicit permission to respond to these kinds of things on behalf of the company, and I never want to open a can of worms by saying more than I should or than is necessary. So, you are wrong. This is definitely the real me here.
You are also wrong about the issue. What you are referencing is a specific time about a year ago. Note that all the posts you reference are exactly 343 days ago. Those issues have long been resolved on both individual and general scales. To bring them up now as if they are current issues is dishonest. We had one support person and a ticket queue of 8,000 items in the middle of a massive bubble and pop. That is why support "went dark". It took weeks to respond because it was not humanly possible to respond faster. We were working night and day. Now we have a team of 40 support with live chat, so it won't happen again.
The more common criticism we receive, and the one I was responding to, is the notion that we cancel orders due to "high risk" as an excuse when the price goes up (not down), because the coin is now more valuable and we'd profit by keeping it ourselves. That's just not how we work, and we have never done that. (It is never noted that we cancel as many transactions due to high risk when the price goes down, with the effect of actually saving false-positive users money they otherwise would have lost.) If you do not think this is our biggest criticism, or if you think the ones you referenced are still relevant, then you do not know enough about Coinbase to be making the claims that you are.
Coinbase stores one private key that we can access, and one private key that is encrypted with the user's vault password on the front-end and sent to us encrypted for storage. The third key is the user's and we never see that.
We have no ability to access multisig vault funds without the user passphrase, which never touches our server.
Is there a way to sign a transaction offline but still run it through Coinbase? When it comes to decrypting private keys in the browser, unless the user inspects the javascript each and every time they use the site, there is no guarantee that it hasn't been silently replaced by code that steals keys.
Excellent! Thank you for putting forth the extra effort and thinking this through. Many comparable online solutions in the Bitcoin space do not offer similar offline tools, making them a non-starter for business use.
Yes. You can sign transactions completely independently from Coinbase, provided you have your private key, encrypted shared key, and passphrase (the two keys are provided on a sheet of paper which you print out during vault creation).
- Trying to making small payments is terrible; the only way to tell whether a transaction requires fees is to try it, see it fail, and parse the error message to figure out the fee amount.
- The "order" abstraction is bad because it assumes customers will always pay the exact order amount, which is false because users make mistakes (especially since the order page instructs the customer to add miner's fees, and if they do, the amount will be wrong and the order gets reported to us as "mispaid"). I had to put a lot of time into writing our own documentation about how order statuses work, particularly mispaid orders - from trial-and-error that unfortunately had to include some bad customer experiences. Perhaps the worst problem is that when a customer makes multiple payments on an order, they show up in the web interface, but not in the API.
- When you request an email address on the payment page, Coinbase doesn't check that it's a valid address.
- choose_price on orders doesn't work.
- The API just needs more consistency. There are entities with statuses named "complete", "completed", and "Complete". There are things called "hash" and "hsh". The order API gives a number of confirmations for a transaction, but the transaction API doesn't.
From your other comments you seem to be paid in USD but your employer buys bitcoin for you each month and gives you that. You could buy the bitcoin yourself each salary day and nothing would change.
I get paid a USD equivalent. So if bitcoin went down next month, I'd just get a greater amount of bitcoin. I could change to being paid in USD instead, but I choose to be paid in bitcoin.
If your salary is priced in USD, you're really just being paid in USD, not Bitcoin. When you're ready to accept a fixed amount of Bitcoin every pay period, then you're paid in Bitcoin.
At the end of the day I end up with bitcoin in my account, not dollars. So what you're saying does not seem correct to me. The conversion is just a way of determining how much bitcoin I should be paid.
But dollars are not being delivered to me, that's the point. Bitcoin isn't acting as a middleman here-it's the end.
If I were your employer and decided to price your bi-weekly paycheck in terms of segways (each paycheck would be the dollar equivalent of one segway), does that mean you'd be "paid in segways"? No, you're paid in dollars.
You can't really claim someone is paid in dollars unless (1) they receive actual dollars, or (2) the thing they receive instead is guaranteed to be exchangeable for that dollar amount at any point into the future. Neither of these is true of a salary that is delivered in bitcoin, regardless of how it's priced.
> Bitcoin isn't acting as a middleman here-it's the end.
No, Employer > USD > Bitcoin > You. If you're using dollar equivalent for any reason whatsoever, then that's what you're really being paid in. Your salary is being priced in dollars, not Bitcoin.
> You can't really claim someone is paid in dollars unless (1) they receive actual dollars, or (2) the thing they receive instead is guaranteed to be exchangeable for that dollar amount at any point into the future.
Yes I can. Your employer is paying out dollars, that it's converted to something along the way is not relevant, they're paying you in dollars; you just receive something else through a middleman, in this case the Bitcoin network.
I guess I just disagree. To me, what you are "paid in" is the thing that changes ownership from your employer to you on pay day. It seems like you are simply insisting that "paid in" is synonymous with "priced in," in which case this debate is just a matter of semantics and not actually very interesting.
Also, to begin with, this conversation was about what I am paid in, not what my employer pays out. In your last sentence it sounds like you are confusing them, or using them interchangeably. I see no reason that they should be considered the same thing.
On rare occasions we are not able to provide bitcoin at a locked-in price. When we can't, we offer the ability to place an order in USD for an amount of BTC equal to the exchange rate at the time that we receive your USD from the bank, 4 business days later. When this is offered as an option, we display a note on the buy page that says: "Note! We've exceeded our normal buy limits for today. If you would still like to purchase you will receive the market price of bitcoin on [some date] after your funds have arrived." You are also required to agree to a term like this before placing an order: "I acknowledge that the amount of BTC I receive will vary based on future exchange rates." Some users check the box without reading it; maybe this happened to you.
We're trying very hard to scale our support team. We've gone from 1 to 12 support in a matter of months, and we are hiring more support staff, and it is still difficult to keep up. We are responding, but it is almost impossible to grow fast enough. That said, 10 days sounds way too long. If you send your coinbase email address to me at craig(at)coinbase, I'll get your ticket prioritized.
Thanks Craig, posting about my personal issue here feels a bit like cheating, but it was nice of you to jump in. I can imagine support is already a priority, but consider this my nudge about it.
Yes, but there are situations where you don't honor the confirmed price even for instant buy purchases or sales. You can read about my experience below in a separate thread!
...at the time that we receive your USD from the bank, 4 business days later.
Is there really no faster way for coinbase to receive a payment? This doesn't seem practical, or rather it seems a bit too practical for a company that wanted to set up a one-way "pump" to profit by alternatively: immediately completing, or stretching out, transactions based on which action pulls value directly out of the customer's pocket.
4 days is very reasonable. My broker settles most trades in 3 days. And, that's for public stocks which have been around for a couple hundred years and are well understood. 4 days is also in line with what credit card gateways will settle in for higher risk accounts. And, yes, bitcoin is high risk. Oldschool guys who still don't like email get to decide what's high risk so bitcoin will set off red flags for a while.
That being said, I personally think coinbase should burn some of that VC fuel to bring that 4 days down. They will lose money to do it but they'll gain customers like you who aren't used to a 4 day settlement period.
Sure, but why can't I transfer money to you, receive confirmation that the transfer has completed, wait some reasonable amount of time (no more than a month maybe?) and then convert to BTC at the exact moment I prefer? Then I would feel like an investor, rather than a chump.
EDIT: actually it would be nice if you responded to some of the many seemingly-reasonable customer complaints on this page.
They on purpose don't allow balances in USD as maybe then they will be considered a bank. Once you go thru their verification process, you get buy instantly up to 10 BTC/week without waiting (although sometimes they turn this feature off for whatever reason). Also, you don't need to wait a whole week - you get hourly increases of the 10 BTC quota, which is nice... when it works.
I don't have any applicable skills for the team, but the company perks remind me of a fun start-up that wants its workers to work their asses off (free lunch and -dinner-? Better throw in the Dr. Pep). I like that. Hope you guys do well.
Craig,
is the zero-charge for bitcoins purchased with dollars? If so, is it applied when we place the order on Friday, or when the order is executed by coinbase?