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

# CrossmintPollingConfig

> Flutter Class

**Class**

Configuration for exponential-backoff polling loops used throughout the SDK.

```dart theme={null}
class CrossmintPollingConfig
```

The delay between consecutive poll attempts grows exponentially from
`initialDelay` up to `maxDelay`, with optional random jitter to prevent
thundering-herd effects when many clients poll in parallel.

The total number of attempts is capped at `maxAttempts`.

## Constructors

### CrossmintPollingConfig

```dart theme={null}
const CrossmintPollingConfig({
  this.initialDelay = const Duration(seconds: 1),
  this.maxDelay = const Duration(seconds: 8),
  this.maxAttempts = 60,
  this.jitter = true,
  this.backoffFactor = 2.0,
})
```

Creates a polling configuration.

## Properties

### initialDelay

```dart theme={null}
final Duration initialDelay
```

Delay before the first retry (doubles each attempt up to `maxDelay`).

### maxDelay

```dart theme={null}
final Duration maxDelay
```

Upper bound on the delay between attempts.

### maxAttempts

```dart theme={null}
final int maxAttempts
```

Maximum number of poll iterations before timing out.

### jitter

```dart theme={null}
final bool jitter
```

When `true`, each computed delay is multiplied by a random factor in the range `[0.5, 1.0)` to spread retries across time.

### backoffFactor

```dart theme={null}
final double backoffFactor
```

Multiplicative factor applied to the delay each iteration.

## Methods

### delayForAttempt

```dart theme={null}
Duration delayForAttempt(int attempt, [Random? random])
```

Computes the delay for a given zero-based `attempt` index.
