Understanding Holds vs. Settlement — Why a Generation Reserves Money Before It's Confirmed

October 11, 2026 · Soulris Team · 2 min read · wallet

The two-step pattern

Every paid action on SoulrisAI — a chat message, an image generation, a video clip — follows the same two-step pattern: a hold is placed first, then it's resolved into a real charge once the request finishes. Nothing is ever charged to your wallet upfront without a hold already in place, and nothing is ever charged more than what was held.

What a hold actually is

Before your request is sent to the AI at all, SoulrisAI sets aside the maximum it could possibly cost. That amount temporarily leaves your available balance — but it isn't spent yet. You'll see it reflected as a drop in what you can spend right now, with the rest of your balance still protected from being double-committed to something else.

Why the maximum, not the likely cost

The hold is deliberately sized to the worst case, not a best guess. If the hold were based on a typical or average cost, a request that happened to run longer or cost more than expected could charge more than your wallet actually has — which would mean you could end up with a negative balance. Holding the maximum up front makes that impossible: whatever the real cost turns out to be, it can never exceed what was already set aside.

What happens when the request finishes

Once the request completes, the hold is resolved — called settlement. The real cost is calculated, the full hold is released back to your available balance, and then only the real amount is charged. In practice this happens in one smooth step from your point of view: your balance simply reflects the real cost, not the (usually higher) held amount.

Because the hold was the maximum and the real cost is usually lower, this often means you get back more than you'd expect — you were never actually at risk of paying the held amount if the real cost came in lower.

What happens if the request fails instead

If a generation fails, is cancelled, or times out before finishing, there's no settlement at all — the full hold is simply released back to your available balance with nothing charged. See how refunds work when a generation fails for the details.

Why this matters to you

This is the mechanism that makes "insufficient balance" messages trustworthy — see understanding insufficient balance mid-chat. It's also why your available balance can look like it dipped more than you expected mid-request before settling back up once the response finishes; that's the hold doing its job, not an overcharge.

Where to see this in practice

Every hold, release, and settlement shows up as its own entry in your wallet's transaction history — see reading your wallet transaction history to see exactly how a single message or generation turns into a sequence of entries, start to finish.