
Let's get one thing straight: you don't rebuild a core product because you're bored, you rebuild it because you've spent enough time watching customers hit the same walls.
Voucherify's loyalty engine worked. It scaled and handled millions of redemptions across dozens of markets. But "works" and "does what brands actually need now" started becoming two very different things.
So we made the call: rebuild from scratch. A new loyalty engine, designed around everything we learned running loyalty programs for 350+ brands over the past decade.
Here's what we changed, why it took guts, and why it matters if you're shopping for loyalty infrastructure right now.
.png)
When you run a loyalty platform long enough, patterns emerge. Not from your roadmap, but from support tickets and the creative hacks your customers build on top of your system.
Three patterns kept showing up:
We didn't add features to the old loyalty engine. We redesigned the data model, the configuration layer, and the runtime from the ground up.
Here are some highlights:
This is the thing I’m most proud of. A single loyalty program can now hold multiple point wallets, each with its own currency, earning logic, and expiration rules. A travel brand can run miles and status points in the same program. A retailer can issue bonus points with a 30-day expiry alongside standard points that roll annually.
Earning rules now bind to specific wallets. You can award 2x points to the bonus wallet for electronics purchases and 1x to the standard wallet for everything else. You can set earning multipliers by product category, by channel, by customer segment, by time window, or any combination.
And earning rules don't just award points. They can trigger rewards directly. A customer hits a milestone or completes an action, and instead of adding points, Voucherify issues a reward on the spot.
Now, each wallet supports three point expiration models: rolling (X days from the moment of earn), calendar-based (end of quarter, end of year), and sliding window (earned in a rolling period, evaluated continuously). You pick the model per wallet, not per program. These three models cover what we've seen across hundreds of programs, but the framework supports adding new ones, too.
.webp)
Pending points is another big thing we improved on. When a customer makes a purchase, the points land in a pending state. They exist, the customer can see them, but they can't spend them. The points become active when a custom condition fires: delivery confirmed, return window closed, payment cleared. If the condition never fires, the points never activate.
I'd seen too many programs where a well-intentioned double-points weekend quietly ate through the quarterly loyalty budget. So now you set earning and spending limits at two levels. Global limits cap what a member can earn or spend over a time period. Transaction limits cap a single interaction. Both run independently, both apply across wallets.
.webp)
We also rethought how the engine handles returns. The old way was all-or-nothing: claw back every point or pretend the return didn't happen. Now, partial returns adjust points proportionally. Customer buys three items, earns 300 points, sends one back. Voucherify recalculates based on what they kept.
Tiers now support multiple calculation methods: cumulative balance, total earned, total spent, monetary value, or event count. A program can promote customers based on how much they've spent this year, not just how many points they've accumulated. But they can also be driven by segments, so members can be placed into a VIP tier simply because they're on a premium subscription plan.
Each tier can override the program's default rules:
Downgrade logic is built in, too. You set the evaluation period, the conditions, and what happens when a customer slips.
.webp)
The old engine had one points-to-cash conversion rate. 100 points equals a dollar. Everywhere and for everyone. Very fair, very unhelpful.
The new loyalty engine has a formula builder, and honestly it's one of those features that sounds dry until you see what people do with it. Exchange rates per walle, different rates by tier. Standard members redeem at 100:1, VIP gets 80:1.
And because the formulas operate at the wallet level, bonus points can redeem at a completely different rate than standard points within the same program.
Points pooling comes in two flavors. Households will use invite-and-accept: you control who joins and what they can spend. Teams will be open: scan a QR code and start contributing.
Different mechanics because a family pooling grocery spend needs trust controls, while a group of coworkers chasing a shared reward needs a low barrier to entry.
Besides specific features, we rebuilt the dashboard alongside the engine. The old UI reflected the old architecture: earning rules in one place, tiers in another, redemption settings buried three clicks deep.

Now the entire loyalty program lives on a single configuration page. You see the full picture in one view, make changes in context, and publish when ready.
There's a reason we invested this heavily in structural flexibility right now. The way incentives get delivered is about to change fundamentally.
Consumer AI agents, shopping assistants, automated purchasing workflows: these systems will negotiate, compare, and transact on behalf of customers. They won't browse a loyalty page. They'll query an API. And the loyalty system that can respond with the right incentive, validated against real rules and guardrails, in real time, wins.
Think about where this goes. A customer joins your loyalty program and gets a card in their Google Pay or Apple Wallet. That wallet is connected to an AI assistant. The customer says "order me more coffee beans" and the assistant picks a retailer, applies the loyalty pricing, earns the points, all without the customer opening a browser. The loyalty engine participated in the transaction, but no human interacted with it directly.
That's not science fiction, the pieces already exist. Google Pay links to Gemini, Apple Wallet is part of the Siri ecosystem. The missing piece is a loyalty engine that can talk to those systems natively.
Vincent, our AI incentive optimization agent, already operates on top of this architecture. It creates campaigns from natural language, analyzes competitive pricing, adjusts live offers, audits configurations and flags inconsistencies. The foundation we're building for wallet integrations and agent-driven commerce is the same foundation Vincent already runs on.
If you're picking a loyalty platform today, ask three questions:
We rebuilt our loyalty engine because we'd seen enough programs outgrow their infrastructure. The goal was simple: build the system we wish we'd had from the start.
It's live now. If you want to see what a loyalty program looks like when the architecture isn't the bottleneck, let's talk.