Skip to main content

Overview

The Credit Utilization widget provides a simple snapshot of how many prepaid credits have been consumed relative to the total available. It gives customers an at-a-glance view of usage progress and remaining balance.

Layout

The Credit utilization widget displays how much of a customer’s available credits have been used, combining numeric values with a progress bar to show consumption relative to the total allocation at a glance. The layout includes the following elements:
  • Header: displays credit utilization label.
  • Usage counter: shows consumed vs. total credits (e.g., 1,250 / 6,000 AI Tokens).
  • Remaining balance: highlights credits still available.
  • Progress bar: visual indicator of utilization across the total allocation.
  • Add credits button: a CTA button for prompting customers to top up their balance.
This widget is especially useful for quickly checking consumption status without needing detailed breakdowns.

Add credits

The Add credits button is shown automatically when both of the following conditions are met:
  • Credit top-ups are allowed for the customer’s account.
  • The customer’s current plan includes add-ons that can grant additional credits.
When clicked, Stigg opens a checkout flow that allows the customer to purchase additional credits. The credit amount and pricing are determined by the billing model configured in the top-up add-on within the price wizard. Use the onAddCredits prop to hook into the button click, for example to open a custom modal, trigger analytics, or redirect to a dedicated top-up page:
<CreditUtilization
  currencyId="cred-type-ai-tokens"
  onAddCredits={() => {
    // Custom behavior when "Add credits" is clicked
  }}
/>

Customization

No-code widget designer

The Stigg app offers a no-code widget designer, which allows you to control the widget colors, typography and layout.

Custom CSS

For more advanced customization, custom CSS can be applied using the widget designer of the Stigg app. Alternatively, custom CSS can also be applied using code. Below you can find a list of the supported CSS classes:

Main container classes

Class nameDescription
stigg-credit-utilization-containerMain wrapper container for the CreditUtilization widget
stigg-credit-utilization-cardCard container with border and padding that wraps the content

Content classes

Class nameDescription
stigg-credit-utilization-titleTitle or header text at the top of the widget

Utilization display classes

Class nameDescription
stigg-credit-utilization-usageConsumed or used amount (left side of the fraction)
stigg-credit-utilization-separatorSeparator between used and total values (/)
stigg-credit-utilization-totalTotal granted amount (right side of the fraction)
stigg-credit-utilization-suffixUnits or symbol text shown next to the fraction
stigg-credit-utilization-remaining-labelRemaining label text
stigg-credit-utilization-remaining-valueRemaining balance amount

Progress bar classes

Class nameDescription
stigg-credit-utilization-progressProgress bar showing credit utilization percentage

CTA button classes

Class nameDescription
stigg-credit-utilization-add-credits-button”Add credits” CTA button
stigg-credit-utilization-add-credits-iconIcon inside the “Add credits” button

State classes

Class nameDescription
stigg-credit-utilization-value-errorError message when balance fails to load
stigg-credit-utilization-value-loadingLoading skeleton state
stigg-credit-utilization-value-no-balanceMessage shown when no balance data is available

Snippet

import React from 'react';
import { StiggProvider, CreditUtilization } from '@stigg/react-sdk';

function App() {
  return (
    <StiggProvider
      apiKey="your-stigg-api-key"
      customerId="customer-demo-01"
    >
      <div className="credit-widgets">
        {/* Credit Utilization with Progress Bar */}
        <CreditUtilization
          currencyId="cred-type-ai-tokens" // Required: currency identifier
          showUnits={true} // Optional: show units text
          showSymbol={false} // Optional: show currency symbol
          decimalPlaces={0} // Optional: no decimals for whole numbers
          localization={{
            title: "Credit Usage", // Optional: custom title
            remaining: "Available" // Optional: custom remaining label
          }}
          onAddCredits={() => {
            // Optional: callback invoked when the "Add credits" button is clicked
            // The button is displayed when top-ups are allowed and
            // the plan has add-ons that can grant additional credits
          }}
        />
      </div>
    </StiggProvider>
  );
}

export default App;

Props

currencyId
string
required
Currency or credit type identifier used to fetch credit utilization data.
decimalPlaces
number
Number of decimal places to display for numeric values. Defaults to no limit when not set.
showSymbol
boolean
Whether to display the currency symbol alongside values.
showUnits
boolean
Whether to display the currency unit label (for example, "tokens" or "credits").
onAddCredits
() => void
Callback invoked when the Add credits button is clicked. Use this to open a checkout flow, a modal, or redirect the customer to a top-up page.
localization
object
Text overrides for customizing widget labels and state messages.

Texts

The default widget texts can currently be overridden using code:
import { CreditUtilization } from "@stigg/react-sdk";

// Basic usage
export function CustomerCreditUtilization() {
  return (
    <CreditUtilization
      currencyId="<CURRENCY_ID>"
      localization={{
        title: "Credit utilization",
        remainingLabel: "Remaining",
        loadingState: "Loading credit utilization...",
        errorState: "Failed to load credit utilization",
        noBalanceState: "No credit balance available",
      }}
    />
  );
}

You can find additional text override options here

Additional resources

Credit Utilization Localization