Cover image for customer stories
All Stories
How Public Grid went from bare Postgres to a production-grade ledger
Public Grid is a renewable energy company that helps US residents save money on electricity. After four years of billing on raw Postgres, they rebuilt their financial backbone with Blnk Finance and unlocked an entirely new set of capabilities.

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.

The cracks in the foundation

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.

Shopping for a ledger

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:

  • easily self-host,
  • debug issues in a stack they understood, and
  • ship to production without months of integration work.

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."

Finding Blnk Finance

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."

Three months to go live

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.

Increased reliability, better customer experience

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.

  • Increased reliability across the full stack, from gateway to database.
  • No dropped transactions. Blnk's infrastructure handled their volume without issues.
  • Full traceability. Every transaction could be traced to its source. No more guessing if someone was double-charged.
  • Reduced customer complaints. Since going live, Public Grid reported that there hasn't been a case where money went unaccounted for.
  • Everything auditable. The team can see exactly what happened, when, and why.

"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."

What changed

With Blnk Finance powering Public Grid’s product, a lot became possible:

  • Credits and incentives. They can now issue credits, apply rewards, and adjust balances directly, something that was impossible with their old flow.
  • Penalties and adjustments. Late fees, corrections, and balance adjustments are now clean ledger operations instead of manual workarounds.
  • Multi-currency support. When Public Grid expanded into Canada, currency handling was already built into the system. No retrofitting required.
  • Multi-provider billing. One of the CEO's original goals was to work with multiple payment and billing providers without being locked into just one. With Blnk handling the ledger, that became straightforward.

"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."