Card Status Management

Introduction

Card status is a core part of the security, risk, and operational lifecycle of every Bitnob virtual card.

Understanding how and when a card transitions between states helps your team:

Build better UX for your users,

Reduce fraud and chargebacks,

Respond intelligently to issues,

Ensure cards remain functional only when safe to do so.

Bitnob virtual cards operate under a strict three-state model:

[ACTIVE] ⇄ [FROZEN] → [TERMINATED]


Card States Explained

1.

ACTIVE

Definition:

The card is fully operational. It can be used for all online transactions that fall within card and platform limits.

When does a card become ACTIVE?

Immediately upon successful creation via API.

After being unfrozen (if previously frozen).

What can an ACTIVE card do?

Authorize transactions,

Receive refunds,

Perform recurring/subscription payments (if supported),

Be frozen or terminated by the platform or Bitnob.

What to build:

✅ If you're showing card state in your app, show "Active" as a green or ready status.

✅ Always check that a card is active before initiating top-up or sending cardholder instructions.


2.

FROZEN

Definition:

The card is temporarily suspended. It cannot perform any transactions until reactivated.

A frozen card:

Cannot authorize transactions,

Cannot be funded,

Can be reactivated (unfrozen) unless otherwise escalated.

Who can freeze a card?

You (the platform) via API,

The user (via your app or dashboard),

Bitnob’s system (automatically via fraud, refund, or risk logic).

Reasons Cards Are Frozen Automatically
ReasonDescription
Fraud SuspicionThe system detects abnormal usage patterns, unusual merchant activity, or velocity violations.
Unauthorized RefundsA refund arrives for a card that was never used at the original merchant.
Example:A $20 refund from AliExpress is received on a card that never spent at AliExpress → card is frozen automatically.
Restoring a Frozen Card

To unfreeze, your app can:

Call the unfreeze endpoint,

Trigger user verification or support flow,

Monitor the card.frozen webhook and take UX action.


3.

TERMINATED

Definition:

The card is permanently deactivated. It cannot be used, funded, or reactivated.

Once terminated:

The cardholder must be issued a new card to continue transacting.

The card remains visible in transaction history for audit and dispute purposes.

Who can terminate a card?

You (via API),

Bitnob (automated),

The user (optional flow via your frontend).

Reasons Cards Are Terminated Automatically

TriggerDescription
Fraud ConfirmationIf flagged behavior is confirmed as high-risk or abusive.
Multiple Failed TransactionsExcessive transaction declines indicate abuse or improper configuration.
Card Usage ViolationsAttempts to use at disallowed MCCs, unsupported countries, or expired sessions.

Decline Thresholds That Trigger Termination

Bitnob uses intelligent thresholds to balance security with fairness:

SituationOutcome
Card has at least 1 successful transaction, then gets 4 declinesTerminated
Card has never succeeded, but gets 3 declinesTerminated
Frozen card continues to receive declines matching above rulesTerminated automatically

These rules prevent automated abuse, bot testing, and retry fraud.

Status Transition Model

State Diagram-v2

Developer Guide

ActionAPI Endpoint
Freeze a cardPOST /cards/freeze
Unfreeze a cardPOST /cards/unfreeze
Terminate a cardPOST /cards/terminate
Check card statusGET /cards/:id (returns "status": "active", "frozen", or "terminated")

UX Tips for PMs & Designers

TipWhy
Clearly display card statusPrevent user frustration during declined transactions
Allow users to freeze/unfreeze from your UIBuilds trust and gives control
Trigger alerts for frozen cardsHelp users take quick action
Auto-hide or grey out terminated cardsAvoid confusion, but keep them visible for past spend history
Encourage creating a new card after terminationMakes recovery seamless for the user

Expert Notes

A terminated card may still receive reversals or merchant adjustments.

No new transactions will ever be allowed on a terminated card.

You should never attempt to re-use a terminated card. Always issue a fresh card.

The Trip model will show "status": "terminated" and contain final timestamps.


Webhooks

EventTrigger
card.frozenSystem or platform action
card.unfrozenRe-activated by user or system
card.terminatedFinal lifecycle state — irreversible

Each includes:

cardId,

userReference,

reason (if applicable),

timestamp.

The ability to control a card’s status is not just a feature — it’s a core part of your product’s security posture, trust experience, and fraud response loop.

As a platform, your job is to:

React quickly to status events,

Give users visibility,

Build safeguards into your product logic,

And always respect the lifecycle transitions designed to protect the user and ecosystem.

Did you find this page useful?