
For four years, Public Grid's billing system did one thing well: send an invoice, collect a payment, move on. No balances. No transaction history. No credits or adjustments. Just Postgres, a few functions for idempotency, and a flow that worked until it didn't.
Public Grid helps residents across the United States save money by connecting them to renewable energy. With tens of thousands of customers and close to a thousand transactions a day, they'd outgrown the infrastructure they started with.
This is the story of how they rebuilt their billing backbone with Blnk Finance, and what changed when they did.
Public Grid's original setup was straightforward. Transactions went into Postgres. Some functions enforced idempotency. Bills came in, payments went out. That was it.
"It wasn't really a ledger per se," Public Grid's lead engineer said. "We just took transactions as is. One in, another out. We didn't really keep a balance."
For a billing system in its early years, that was enough. But as the product grew and the team started thinking about credits, incentives, penalties, and working with multiple billing providers, the limitations became impossible to ignore. The hacks they'd built to work around the system's constraints weren't going to last.
"I don't think it would have lasted particularly long," the lead engineer said. "They were just bad, for lack of a better word."
The team knew they needed something better. The question was whether to build it themselves or find a partner who had already solved the problem.
Public Grid didn't jump to a decision. They evaluated several options, each with trade-offs that didn't quite fit.
What mattered most to Public Grid was being able to:
They looked at options like TigerBeetle, Formance, and Modern Treasury, to name a few. Each had strengths, but none checked every box. Some ran on proprietary technology that the team couldn't debug if something broke. Others made self-hosting too complex, or came with pricing and developer experience trade-offs that didn't fit what Public Grid needed.
"It was just not a great development experience," the lead engineer said about the alternatives they tried. "If something went wrong, we wouldn’t know how to debug it."
Meanwhile, the engineering team was already sketching out what an in-house ledger could look like. They had a prototype that could track balances, but it calculated everything dynamically and didn't persist balances after transactions.
Maintaining it long-term would have been expensive, and it still wouldn't have had the features they needed.
"We had a prototype of what we could have used … it just wasn't great."
Zach, Public Grid's CEO, found Blnk Finance first. He brought it to the engineering team, and the reaction was a mix of excitement and healthy skepticism.
"We were excited that we didn't have to build everything from scratch," the lead engineer said. "Of course, there was a little bit of skepticism about whether this could actually solve everything at once. But eventually, we got over it."
What helped the most was transparency. When the team started experimenting with Blnk, there was no mystery about how things worked under the hood. Everything was visible in the database.
"There wasn't really any mystery of how it was doing things. You can see everything in the database and validate yourself that it's actually doing what it needs to be doing."
Once the team started evaluating Blnk against their hard requirements, the conversation shifted. Blnk easily handled multi-service billing, balance tracking, queued transactions, and multi-currency support out of the box. It was the most complete and the most performant option they'd found.
"Once we found Blnk, the conversation became just a lot easier," the lead engineer said. "It handled all of our hard requirements better than anything else."
Implementation took about three months from start to finish, with the data migration taking roughly three weeks of that.
Migrating customers was straightforward: provision a balance for each one, and everything falls into place. Migrating their existing transaction history was harder. It took a few iterations to get the pipeline right, but the Blnk team worked closely with Public Grid throughout the process, and that support made the difference.
"Eventually, we got there," the lead engineer said.
The final run took about four hours. After that, the switch was clean.
Had they built the ledger themselves, it would have taken roughly the same engineering time, but with far fewer features at the end of it. Multi-currency, the queue system, balance tracking with proper persistence: none of that would have existed on day one.
The Public Grid team watched five things closely at launch: errors across the stack, transaction speed, queue utilization, traceability, and whether any money went missing.
The results were clear.
"I think that's something we're pretty proud of. There hasn't been cases where we had money go missing. Everything is always accounted for. Everything is auditable."
With Blnk Finance powering Public Grid’s product, a lot became possible:
"Before, it was just: you have a bill, you pay a bill, and that's largely it. Now we can do a lot more."
The business has expanded from the US into Canada, with payments in the Canadian market on the way, and their total transaction count has now tripled in size.
"I think it's less about more customers and more about unlocking the ability to scale well."