Meet us at GFF 2026
All Products

bRUID BIPS

Issuer Processing Platform

Cards · Accounts · Limits · Holds

The answer the switch is waiting for.
Decided, held, and recorded.

bRUID BIPS is the issuer side of the estate. It holds the cards and the accounts, decides every authorization against card status, expiry, currency, per-transaction and daily limits and available balance, and places an atomic hold the moment it approves. Reversals are matched to the transaction they reverse and release exactly what was held.

6 Controls

Checked in order on every request

Atomic Holds

No double-spend under concurrency

ISO 8583

Standards-aligned result codes

Decision Chain

Six Controls, Always In The Same Order

Every authorization runs the same chain. A decline names the control that refused it, so "why was this declined" has an answer rather than a theory.

01

Card

Does the card exist, is it active, and is it neither blocked nor reported lost or stolen?

02

Expiry

Is the card still in date? An expired card is refused before anything touches the account.

03

Account

Does the linked account exist and is it in good standing? A blocked account declines regardless of card state.

04

Currency

Does the transaction currency match the account currency? A mismatch is refused rather than silently converted.

05

Limits

Is the amount within the per-transaction ceiling, and does the day’s accumulated total stay inside the daily limit?

06

Funds

Is there enough available balance — ledger less every open hold — and if so, place the hold atomically.

Balance & Holds

Available Is Never A Guess

An approval places its hold in the same database transaction that checks the balance. Two authorizations arriving at once on the same account cannot both pass the same available figure - one of them waits, sees the other's hold, and is decided against the truth.

Available is always the ledger balance less every hold that is genuinely open. Holds are released when the reversal that matches them arrives, not on a timer and not on trust.

  • Ledger and available tracked separately
  • Holds released only by a matched reversal
  • Open and released holds both queryable
  • State persisted — a restart changes nothing
One account, mid-day
Ledger balance 100%
Open holds 35%
Available to authorize 65%

A settlement moves money out of the ledger. A reversal releases a hold. Only these two change the picture — an authorization that was never answered does not quietly expire into someone's spending power.

Money Back

A Refund Is Not A Reversal

Treating them as the same message is one of the quietest and most expensive mistakes in card processing. BIPS handles them as the two different things they are.

Reversal — undo the authorization

Cancels an authorization that has not settled. It is matched against the original on terminal, trace number, transmission time and amount, and releases exactly the hold that was placed.

An unmatched reversal is declined, not credited. Trusting the amount a reversal claims is how an issuer gives money away to a message it never authorized.

Refund — money back after the fact

A new financial transaction with its own identity, moving money to the cardholder. It is not matched against an original, which is exactly why a merchant can refund partially and more than once.

A refund is deliberately not balance-checked. Applying a funds test to a credit would decline exactly the refunds a cardholder needs most.

Platform

What BIPS Offers

01

Card and account management

Cards, accounts, statuses, expiry, credit limits and per-card transaction and daily ceilings, all editable while the platform is running. Card numbers are validated on save, so an unusable number is refused at entry rather than surfacing later as a gateway fault.

02

Standards-aligned result codes

Result codes follow the jPOS Common Message Format, and every code the platform can return has a matching mapping at the acquiring switch. A code that cannot be mapped reaches the merchant as a generic failure, so the set is kept closed on purpose.

03

Behaviour scripting

Any card can be scripted to approve, hard decline with a chosen code, delay its answer or stay silent — so the timeout, retry and store-and-forward paths through the rest of the estate get exercised before a certification run rather than during one.

04

Full transaction history

Every request and the answer given, with the control that decided it, queryable by card, state or time. Support questions are answered from the record, not reconstructed from logs.

05

Durable state

Cards, accounts, holds and the transaction log are persisted rather than held in memory. A restart mid-run does not reset balances or lose the record of what was authorized.

06

Operations console

Every authorization with its result code and plain-language meaning, the card and account deck, open and released holds, and the outcome mix across recent traffic.

Architecture

Decisions In Code, Money In The Database

Balance and hold invariants are enforced by the database, not only by the application. A bug in the decision path can decline something it should have approved; it cannot create money.

Message Listener

ISO 8583 from the switch

Authorization

The six-control chain

Card Registry

Status, expiry, ceilings

Account Ledger

Ledger and available

Hold Manager

Atomic place and release

Reversal Matcher

Original lookup by key

Credit Handler

Refunds as new credits

Scenario Engine

Scripted behaviour

Transaction Log

Every request and answer

Health & Metrics

Liveness and outcome mix

Issuer-Grade Controls

The side of the transaction that owns the money.

Invariants In The DB

Balance rules enforced below the app

Atomic Decisions

Check and hold in one transaction

HSM-Backed Keys

bRUID Kms managed

Complete Audit Trail

Every request and its answer

Own The Authorization Decision

Cards, accounts, limits and holds on one platform — with the reversal and refund handling that keeps a ledger honest.