Years ago I got my first internet enabled mobile, and the carrier advertised it as having "300 free minutes" as part of the trial period, which is great. So I used 297 minutes of internet services in the first month, but aha actually the minutes only referred to telephony, and I was stung with a ~12,000 dollar overdue mobile internet invoice (360 dollars per megabyte or something equally ludicrous)
They got done in by a massive class action, that I was tangentially a beneficiary of, not because of the minutes claim, which was standard practice, but because they had failed to provide anyone with the cost of the data.
I think I paid them 300 bucks or something in the end. After further letting a 600 dollar agreement go to collections and settling with collections for 50%.
It probably depends on the bank, but setting one's overdraft limit to zero doesn't necessarily help and may actually make things worse: some payments may still go through even if you don't have the funds, putting you in unauthorised overdraft, which tends to have a high daily fee.
For consumer products, definitely. Any unreasonably large charge (with a comfortable margin, like 10x) should be waived by default, unless the client specifically requested the limit be removed.
I love hard caps, and am tired of cloud services not even offering those. May make sense for large companies. Makes no sense for hobbyists and small companies. But maybe that's the point?
Many many years ago my girlfriend at the time was on holiday with her mother so I'd added a "Roaming Bundle" to her phone.
While she was away I got a call from our phone provider that she'd racked up £1700 of roaming charges. "But don't worry about it!" said the customer service person, "Just stop your direct debit for this month just in case and we will call you when the bill is generated."
A couple of weeks later, they rang back, confirmed that the final amount was about two grand, and so I said "hang on, there was supposed to be a message when the bundle was halfway used and a message when the bundle was nearly used up - what happened to that?"
"Oh I don't know why you'd have been told that, we've never done that! But you're right, that's what they said, we've already listened to the call. What you *should* have been offered was this *other* bundle which would have cost £150, she's used about 75% of the data that would provide, plus the £25 you originally paid for the first bundle, call it 75 quid then? I'll just take the card number..."
And that, gentle reader, is why I'm still a customer.
Last century most people were only sometimes using the Internet. They'd "Go online", if you're young enough not to recognise that noise in Blue Prince when you use the network, that's a "Dial up modem" which is how a typical person would "Go online" in the mid-1990s. So in this regime counting minutes makes some sense.
I got a preview of the modern world from about 1996 because my first shared student house (shout out to any Hitchers reading) had a single dial-up modem set to always connect to a free-to-use University modem and then used IP Masquerading (the ancestor of today's NATs) so that all of our computers could share this tiny connection.
So by the time of my 21st birthday, I was "always on" in the same sense that you'd always be today, except with much, much lower bandwidth and what I can tell you is that this, not the bandwidth is what makes the difference.
When you're "always on" the reflexive answer to "Wait, where do Porcupines live?" is to look online. It's 1996 so Wikipedia doesn't exist yet. Google doesn't exist yet. But Tim's crap hypermedia system (the "World Wide Web") exists and so you just need to know where to look to find information about porcupines.
I didn't watch videos in 1996 because it'd take hours to receive a short low resolution video, even reading web comics was quite an undertaking, I remember downloading all of Bruno (at the time) https://en.wikipedia.org/wiki/Bruno_(webcomic) over night so I could read it. But the fact you don't have to explicitly "go online" makes a huge qualitative difference even though the bandwidth is tiny.
Things I learned today: the very first mobile (cellular) data protocol was indeed dial-up over the GSM voice line: namely the CSD. What I had in mind - GPRS - came only later... so yes, even on mobile it was initially billed by minute. Wow.
> if you're young enough not to recognise that noise in Blue Prince when you use the network, that's a "Dial up modem" which is how a typical person would "Go online" in the mid-1990s
I have some lovely high-quality video of dialup modems both dialling out and dialling into with good audio, which I'll post up at some point.
We still use them at work, at least until BT finally cut the copper services off at the end of the year.
The similarity between mobile internet (CSD) and dial-up wasn't really obvious from the users' perspective because they weren't explicitly making a call to access the internet. The session was established transparently when data had to be transferred, and the time this took was charged as minutes.
Operators always dreamed of a world built on circuit-switched networks that they fully control instead of packet-switched IP networks where anyone can take part and operators are just a carrier. So the big operators started the mobile internet era with the telephony model.
In the early 2G GSM days, you would connect via "CSD" (Circuit-Switched Data[0]) which essentially emulated a dial-up connection (except it was digital the whole way) and that was billed per minute. Using HSCSD you could bundle multiple CSD channels for higher bandwidth but the minute charges were per channel so the cost added up.
By the time phones got built-in WAP browsers, GPRS had arrived which was billed per byte, but CSD was still supported (I remember using it once or twice in a certain building at uni where GPRS never worked for some reason)
Other way around. The phone plans were billed by the minute. Then came the Internet. In is first generation, Internet was essentially just a long distance call through a modem. Hence it was billed - like the call - by the minute.
Dedicated Internet wires came much later, and then the dedicated phone lines were dropped as voip was better quality and cheaper compared to the dedicated lines.
While the phone still had a dedicated line it didn't actually need a power connection, as the power through the phone wire was sufficient.
I'm thoroughly confused as to how what you're saying differs from my previous post, but I believe you just misunderstand that by "early phone plans" in my post's and the parent post's context, I meant phone plans for Internet access ("early" being the feature phone era).
If you were used to dial-up internet, (IE, where your computer was plugged into a phone line and made a phone call to your internet service provider,) that's a reasonable assumption to make. Some early services billed by the minute, too.
WoW. That's certainly a surprise to me. I'd never expect an invoice after not putting in a card.
I also believe this is totally just a case of "billing and metering is hard, and may actually be a larger engineering effort than your actual service".
I was just looking at them earlier today since our Github actions are slow AF, and while they sounds great, this tells me it'll cost me more time to make sure I babysit it than most other trials.
With most of these, they end, the service stops working, and you have a choice to make: (a) it was worth it sign up, (b) not worth it revert.
Founder of Depot [0] here. Feel free to try us out. We have a real free trial that is time based that doesn’t do odd things like this. Also have usage limits that you can put in place to further clamp down on runaway surprises.
This reminds me of the business practices of the Austrian NIC. Usually domain names expire if you don't renew them. In Austria, unless you explicitly cancel the domain name by fax, they just roll the registration over to the next year and then send you to collections[1] if you don't pay up.
There's no rule that domain names expire unless you renew them, at least for ccTLDs. It's just a convention. Conventions lead to assumptions, and assumptions can be used to scam people.
In general there's two types of businesses: businesses where you pre-pay (e.g. McDonalds), and businesses where you post-pay (e.g. a sit-down restaurant). If you take a conventionally pre-pay service and apply post-pay pricing to it, you have yourself a perfect scam.
> In order to use the Blacksmith Software Inc Service, You must set up an account. During the account setup process, You will be required to connect your GitHub account and install Blacksmith’s GitHub integration in your org, and add a valid payment method, such as a credit card, which will be processed through Stripe. Alternatively, for larger contracts, You may request to be billed via invoice.
> By providing payment information, You authorize us to charge Your credit card for usage fees or, in the case of invoice-based contracts, agree to make timely payments as specified in the invoicing terms.
Unless this guy had a larger contract and requested to be billed via invoice, this is a violation of terms and he should tell them to stuff it.
Having been a happy customer of Blacksmith, Depot, and Ubicloud at various points (all three of which offer GitHub Actions runners at cheaper prices than GitHub themselves), I agree the billing here is weird. It's worth pointing out, though, that you have to use a lot of CI minutes to incur a $1000 bill. You're well outside of hobbyist levels, and that same level of usage would have previously cost double from GitHub themselves. This a business with serious compute needs, being asked to pay real money.
This doesn't seem like the right way to do business long terms. The off chance that someone actually take you up on it and pay your 'bill', you've destroyed a lot of goodwill and alerted the rest of the tech world of your scammy moves.
Also for those that require a credit card for a free trial, I always use a virtual card and cancel it. It's super fun to watch them cry when they can't actually charge you.
Funny, I got a fraud call recently because CrunchyRoll decided to try to renew a subscription I abandoned years ago and the card they have is expired.
I know it wasn't me because I gave up entirely on the service after they changed something about their login systems to reject my password and I could no longer get in. Support wanted me to jump through a lot of hoops and I just refused, choosing instead to just stop doing business there because I wasn't really watching anything at that point anyway.
This was around 2022, mind you, so they tried to renew me after several years with no explanation.
This happens with me every year with Barnes and Noble bookstore. I canceled their annual membership back in like 2018, Starting in 2021 this zombie account started charging me for a renewal. I reached out to support and they disavowed any knowledge of how this could happen, had no record of charging me, and no clue how it could have happened.
Since Amex is nice about allowing someone who charged you in the past - keep charging you even as your card has changed, they allow the charge.
Every year I do a chargeback, every year. Amex can't figure out how to not allow it and B&N has no idea why they charge it. Hmmm...
It's way easier to just not give them a way they can charge you. That way you don't have to deal with a support representative fakely asking you how your weekend was, and who doesn't actually care about your weekend.
This reminded me of our experience with Gusto - we signed up to their R&D credit payroll offset service in May last year - their offset fee is calculated as a percentage of the benefit you get. We filed our federal tax return in September, so there naturally wasn't any payroll offsetting until October. They still charged for services they didn't deliver so it was more cash out on day one which really goes against the purpose of the tool. They argued it was in the small print that said "we charge when you sign up" when I ticked a box. I thought that was quite outrageous. I still do.
I am sure Blacksmith is the easy path if you don't want to do any extra work and I am also sure their solution will scale much better as this is what they do full-time.
However, I can share what we did to ease on our GitHub Actions bills if it helps.
Effectively we have our own runners hooked so that a job is scheduled, a runner picks it up and goes with it. We still use GitHub Actions but our monthly bill is now flat because we pay for a server. It is about 6x cheaper if not more.
The solution is not open source but it boils down to a Go service that orchestrates firecracker vms. All the vms are pre-warmed so there is always a fresh supply of workers to pick jobs of various sizes.
It is basic and it works. We have not had any issues since deployed.
The runners can be anything from 1 cpu 2 GB to 64GB 8 cpus. We can add more worker types in a config file.
I am not exaggerating when I say that we used to pay 1000s per month for this. Now our bills are in the range of a few hundred. Other dev boxes are done in the same way.
> We still use GitHub Actions but our monthly bill is now flat because we pay for a server.
Caveat here being that GitHub is exploring charging a usage-based fee for self-hosted GitHub Action runners [1]. While they've halted it for now, it's something worth being aware of as you assess your costs. This is probably a drop in the bucket compared to the order of magnitude savings you've described.
As someone who has worked with gitlab for the last 5 years, i find it amazing how over complicated the github flow it for CICD! Spin up a server and add the gitlab agent and done! You need more? Fine spin up a EKS k8 cluster and done!
You can do the same with GitHub Actions. Spin up a server and start the actions runner on it and done! But if you want to dynamically scale your runners in response to load using a Kubernetes cluster, then they provide Action Runner Controller and it's a bit more complicated.
> This question is for us: will we keep using Blacksmith, despite them giving us an unpleasant surprise and a prickly support exchange?
Interesting question, and I think it makes sense they’ve chosen to be pragmatic.
However, I wonder if Blacksmith get bitten in the arse by this. Hopefully that changes their behaviour but, like many startups, they might simply fail.
So I suppose the trick becomes to keep using the service without getting locked into it until it becomes clearer whether they will succeed or not, then perhaps you can consider taking advantage of platform features.
Even then, I don’t know how much I trust Blacksmith or would want to make it hard for myself to move away from them.
And on GitHub actions: Microsoft are very good at owning the platform and then making products and features that are just useful enough that it’s not worth switching to a better alternative but absolutely no more. GitHub Actions is an obvious example, Teams is another, but the list is long. To me it reads as a more modern variant of the anticompetitive behaviour of the 1990s. It sets up enough of a barrier to keep others out, and kills innovation. I’m not a fan.
Ooff, this seems a bit sketchy. We recently looked at GA runner alternatives and decided on https://avrea.com. See if you have a better experience with them :)
Avrea.com founder here, if you'd like to try an alternative that won't surprise you with the bill, I'd be happy to give you some more credits for a trial.
I can see their logic - instead of breaking people's builds, they are being the nice guys and letting you pay them back later. BUT, any time you break convention, you've dipped into your trust budget (even if you communicate it way more clearly than was apparently done here.)
Not just the weird billing, which has been annoying the last month I've been trying it, but they have had a couple incidents lately where I feel like I got ripped off because their performance was so spotty and yet I was getting billed for it. https://status.blacksmith.sh/
Actually quite common, as the cost to fight them isn't worth the legal fees.
One must be extremely careful when signing off on something as a company representative.
One internal IP lawyer wanted a legal journal subscription, and left the tap running after they left the firm... that one cost $8k if I recall, as the journal sold the delinquent account to a collection agency. Took 3 weeks to verify it wasn't a scam, as the companies usually go quiet without the account number etc.
Some people are wired that way, and run their company on legal cons. Indeed, one doesn't want to have these people around your firm. =3
> While amusingly as of June 8 Blacksmith’s terms implied that their right to bill you is contingent on you providing payment information, a SaaS app certainly could have terms that obligate users to pay for unexpected overage when on a free trial.
> And let’s be clear: our agents run a lot of CI jobs, so we did expect to hit the limits of the free plan. We used the service and got value for it. So it’s not inherently dishonest, just surprising. My read is that they can do this.
So I read this that the terms say "blacksmith will only bill you if you provide payment information" but then they say that blacksmith can bill you if you don't provide payment information. That seems to contradict the terms, which I would assume underlie the "contract" that you agree to when agreeing to the terms.
Thanks for the warning. I would have chosen to be pragmatic as well but with another vendor. While I applaud your generosity with trust mine would have been evaporated at the first invoice.
That's incredibly scummy. Article author estimates that "only" 5% of people would expect this outcome for a "try for free", "no credit card required" service, but I think that number is well below 1%.
Can't believe they continued using the service after this. I would refuse to pay (they have no legal basis to require payment, and their own terms of service seems to disagree with their behavior) and find a more ethical provider.
Hey folks - Greg here, I do product at Blacksmith.
I want to say upfront - we've never pursued these invoices. If someone feels they didn't get value from the service, we've eaten that cost and always will.
There's a bit of an implicit policy decision on our side here that we did a bad job of communicating - I want to clarify that, and then talk about how we can fix it.
First, we wanted to let customers start using Blacksmith without a credit card. Very few infra startups do this today - CC validation is great for anti-abuse - but doing so has let us support a much greater number of free users.
Many of these free users have turned into full OSS sponsorships (most recently ccusage, and before that, OpenClaw) or large paying accounts, and we haven't wanted to cut those users off from trying us. It's a real pain point to find a credit card to put down for your company or OSS project's CI spend before you've even tried the service.
Second, not having a credit card on file means we don't actually know when credit card-less users intend to continue past their free trial.
Shutting down users CI workloads entirely seemed harsh, especially because doing so would fail builds and require a code change to resolve. If users could start without a credit card, we weren't going to then hold their runners hostage. Instead, we decided to just eat the cost for the small number of users who either abused our services or did not actually mean to use the service.
This worked, mostly - though every month we have gotten a number of support cases with users confused about their invoice. If they didn't intend to use the service past the free tier, we've voided out the invoice, and often given credits against a future bill if they intended to use the service, but were surprised by the behavior.
We have a lot to improve about our billing mechanics - but because our retention rate for these users has been so high, we have assumed great support could catch and resolve the ambiguity.
That said, there's two changes we can make now:
1. we clearly missed the mark on supporting this specific case - we should have offered to void this bill entirely given the surprise factor here.
2. We're prioritizing up making progress on a Wallet implementation that will let folks choose to suspend their runners rather than let them continue to run after they use up their free tier.
We also just launched a new billing/metrics view so users have better visibility into their free tier and Blacksmith usage.
I'm sorry for the bad taste this has left in everyone's mouth - I'll be hanging out here and on greg [at] blacksmith [dot] sh if you want to talk about your account specifically.
I can understand not wanting to kill someone's CI in the middle of active development, but then the product needs a very explicit consent step before converting free minutes into deb
Infisical does this too. They don't make it clear that they charge you for projects and machine identities upfront, and then you get slammed with a $800 bill on your first month.
This reminds me of OpenAI which allows you to overcommit on prepaid tokens and then tries to force you into paying overpaid charges. Only they really can’t. You can’t make someone pay for a service they didn’t agree to with billing that doesn’t exist. I wish OpenAI best of luck with their shenanigans
Unpleaseant experience and all, but sounds like complaining about not reading the full terms and then being shocked after the first bill, which is ok if you are buying a personal service, but that's a no-no in business.
The argument of "like many early startup do, we oversaw this and ignored that" doesn't really make it better.
>Blacksmith helps us build faster, and once we agreed to pay for the (actually useful) service, their support got friendlier. So… we’ll probably switch back.
well, that was one of the most disappointing conclusions that i have read recently.
i am almost more frustrated with this decision than i am with the billing shenanigans. please do not reward this scummy behavior.
Holy shit, all that and then they paid? Worse, decided to use this product on an ongoing basis? I'm not sure who I hate more, Blacksmith for doing this or OP for being such a doormat about it.
So ive done this before when I deal with predatory and 'free trial' companies.
Go get a $20 gas station credit card. They get THAT card, and whatever name you want to provide.
When they demand $x000 for their free trial, they get.... $20!
And before anyone bemoans their 50+ page onesided "contract" that weasel-words revokes 'free trial'... Sure, they can publish a claim and sell off a debt to "John Q Public". We can see how far they'll get with that.
This is another level up (down?) from the standard "gotcha, b####!" post-usage metered cloud service billing that requires a credit card up front which is the main business model for a surprising number of internet companies. They can keep doing it because a significant percentage of their business is from startups that are burning through someone else's money.
But it's interesting that the only real difference is that they let you proceed without putting your credit card info in.
While I think it’s outrageous to send invoices to folks who aren’t paying customers… I’m a little surprised the service even has a niche (I’m old). I guess, with ubiquity of containers in our modern workflows, it seems strange to pay a service for what I assume is a dedicated, or well provisioned VPS, just to run CI. Hell you can probably get Jenkins (further showing my age here) running in less than an hour with Claude, GPT, or Deepseek on an obscure provider that offers cheap bare metal instances.
And for anyone who hasn’t used bare metal instead of over provisioned VPS for services the performance gap is noteworthy and substantial. Yeah, there is some risk because you have to worry about outages, upgrades, and configuration but for something like CI where there’s near zero data loss risk… it seems well worth it if performance of your CI/CD infrastructure is really an issue.
Why am I not surprised that its a YC startup? Lately, being a YC startup seems to have become a negative signal for me, far too many grifters are getting funded by YC, it seems.
That's a typical discrepancy between how US and EU sees civil agreements.
In Europe it's perfectly normal to be bound by terms of a paid service. I would never expect to avoid being liable for payments for services rendered only because I didn’t enter a cc number before exceeding free-tier limits.
Even in the comments below people are stating that this bill is valid only if they want to continue using the service.
I'm old enough to remember that capitalism used to always feel like this. Even worse. Predatory subscriptions, targeting minors in some cases (remember phone ringtones?), toll numbers, unclear fees, surprise bills (my favorite - roaming fees in your home country because the phone stayed logged into the foreign network after an abroad trip). Silicon Valley/YC style startups felt like a breath of fresh air. Generous return policies, subscriptions can be canceled monthly and even do so automatically in a lot of cases (eg disabled credit card). I guess the fact that a lot of what they offered has near zero marginal cost helped. AI changed that part, so we're back to what I would consider the natural state.
The least-resistance path out of such a bad equilibrium is regulation. And they did add a lot of protections in the last decades, which probably helped too. Some would say places like the EU even added too many. But I'm pretty sure that "if you're using our product, you need to pay" would fly even in the most customer-friendly jurisdictions today.
By reading this comment, you agree, on behalf of your employer, to release me from all obligations and waivers arising from any and all NON-NEGOTIATED agreements, licenses, terms-of-service, shrinkwrap, clickwrap, browsewrap, confidentiality, non-disclosure, non-compete and acceptable use policies ("BOGUS AGREEMENTS") that I have entered into with your employer, its partners, licensors, agents and assigns, in perpetuity, without prejudice to my ongoing rights and privileges. You further represent that you have the authority to release me from any BOGUS AGREEMENTS on behalf of your employer.
Blacksmith are wrong, but also they’re a YC company- they may be young founders that haven’t run a SaaS before and genuinely don’t know how to handle free trials.
Billing statements disguised as marketing nudges is a cromulent business practice until the SaaS start sending bills to collections.
I think the author is being kind, both to themselves and startup practicing dark patterns. He walks through his own thinking, raises important questions and also gives the benefit of the doubt that I wouldn’t give.
IMHO, the article gets ahead of criticism well: accepting the valid critiques while also confining the weird/lazy ones to downvotes.
They got done in by a massive class action, that I was tangentially a beneficiary of, not because of the minutes claim, which was standard practice, but because they had failed to provide anyone with the cost of the data.
I think I paid them 300 bucks or something in the end. After further letting a 600 dollar agreement go to collections and settling with collections for 50%.
reply