> ## Documentation Index
> Fetch the complete documentation index at: https://www.bitnob.dev/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Bitnob API requests authenticate with an `X-Auth-Client` API key header against https://api.bitnob.com.
> Always use the sandbox environment for testing. Never put live API keys in sample code.
> Money amounts are integers in the smallest unit of the currency (satoshis for BTC, cents for fiat). Never use floats.
> Every state-changing request takes a client-supplied `reference` and must be treated as idempotent on retry.
> Quotes expire. Re-quote rather than reusing a stale quote id.

# Fees and decline rules

> The USD fee schedule for the virtual card program, including the escalating charges applied to repeated declines.

This page covers all fees associated with the virtual card program, effective 2025. All fees are denominated in USD and apply to B2B partners under the executed Partner Agreement. In addition to standard usage fees, we enforce a Decline Rule Policy to protect card programs from misuse, repeated declined transactions attract escalating fees and may result in permanent card termination.

## Core fees

| Fee | Description |
| - | - |
| Card creation: \$1.00 per card | A one-time fee charged each time a new virtual card is created. It applies regardless of whether the card is ever loaded or used, and is debited from your company balance. |
| Card funding: \$1.00 flat (load \< \$100) / 1% of load (load ≥ \$100) | Charged each time a card is topped up. For amounts below \$100, a flat \$1.00 applies. For \$100 and above, 1% of the load amount is charged. For example, loading \$250 incurs a \$2.50 fee. Debited from your company balance, and charged on the opening `amount` when a card is created too. |
| Cross-border transaction: 2.5% + \$0.50 | Charged on any transaction made outside the United States. If the card is used with a merchant in another country, this fee applies automatically on top of the transaction amount. |
| Contactless transaction: 0.25% per transaction | A small fee applied whenever the card is used via tap-to-pay. Charged on the transaction amount. |
| Chargeback: \$60.00 flat | Applied when a transaction on your card program is disputed by a cardholder. This fee covers the cost of handling the dispute, regardless of the outcome. |

## Declined authorization fee

This fee applies when a card payment fails. A decline rule violation is recorded when a card transaction is declined for one of the following reasons:

**Insufficient balance**: the card doesn't have enough funds to cover the payment being attempted.

**Authorization not completed**: a payment was approved by the card but the merchant never finalized it, so the transaction was reversed and the money returned to the card.

**Card not active**: a transaction is attempted on a frozen card.

Each qualifying decline increments the card's violation counter by one, and an approved authorization resets the counter to zero. The first decline is always free. From the second onwards, a fee applies, and by default a third decline results in the card being permanently closed. The limit is set per company, from 1 to 10.

## Decline fee schedule

| Authorization Attempt | Charge | What Happens |
| - | - | - |
| 1st declined auth | No charge | Free: no action taken |
| 2nd declined auth | \$0.75 | Fee charged, card remains active |
| 3rd declined auth | \$0.75 | Fee charged and card is permanently terminated |

Fees are debited from your company's USD wallet and recorded as a **Decline rule violation fee** transaction. A webhook notification (`virtualcard.transaction.declined.charge`) is sent for each fee charge.

## Card termination

A card is automatically terminated under two conditions. You can also terminate one yourself with [Terminate Card](https://www.bitnob.dev/api-reference/cards/terminate-card.md):

**Violation limit reached**: At the limit, three by default, the card is permanently terminated after a fee is charged.

**Decline fee can't be paid**: If your company's USD wallet can't cover a decline fee, the card is terminated.

> [!NOTE]
>
> Once a card is terminated due to repeated declines, a new card will need to be issued. Standard card creation fees apply (\$1.00 per card).

## How to avoid violations

* [Fund your cards](https://www.bitnob.dev/api-reference/cards/fund-or-withdraw-balance.md) adequately before use to prevent insufficient-funds declines.
* Do not attempt transactions on frozen cards. [Unfreeze a card](https://www.bitnob.dev/api-reference/cards/freeze-or-unfreeze.md) before authorizing payments.
* Track violation counts via the [decline webhook events](https://www.bitnob.dev/docs/card-issuing/webhook-payloads.md#virtual-card-declines) to take corrective action before reaching the termination threshold.

## Webhook events

Full payloads are documented under [Virtual Card Declines](https://www.bitnob.dev/docs/card-issuing/webhook-payloads.md#virtual-card-declines).

| Event | Description |
| - | - |
| virtualcard.transaction.declined.charge | Sent after a decline fee is debited from your wallet |

The webhook payload includes: `cardId`, `feeAmount` (fee in micro-units, where 1 USD = 1,000,000. For example, `feeAmount: 750000` = \$0.75), `reference`, `status`, and `violationCount`.

> [!NOTE]
>
> All fees on this page are subject to the executed Partner Agreement. Disputes must be raised within 14 days of statement issuance.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.