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

# Errors

> The HTTP statuses, SDK errors, and CLI states that sellers and agents meet most often, with the fix for each.

## HTTP statuses from InFlow

| Status | Code | Meaning | Fix |
| - | - | - | - |
| `401` | No structured body | The credential is missing, not valid, or expired. | Check the API key and the environment. |
| `403` | `SELLER_ACCOUNT_REQUIRED` | The credential is valid, but it does not belong to a Seller account. | Create a key in a Seller account. |

## Seller SDK errors

| Error | Package | Cause | Fix |
| - | - | - | - |
| `InflowApiError` | `@inflowpayai/x402`, `@inflowpayai/mpp` | An InFlow API call failed. | For x402, read `error.code`. For MPP, read `error.body`. For `SELLER_ACCOUNT_REQUIRED`, change the key. |
| `RouteConfigurationError` | `@x402/core` middleware | No registered scheme covers a scheme and network pair that an endpoint advertises. | Pass `await inflowSchemeRegistrations(seller)` as the third argument to `paymentMiddlewareFromConfig`. |
| `MppUnsupportedCurrencyError` | `@inflowpayai/mpp-seller` | The charge currency has no rail in the PSP configuration. | Charge in a supported currency, for example `USDC` or `USD`. |
| `MppCredentialProblemError` | `@inflowpayai/mpp-seller` | The credential check or the broadcast failed. It carries an RFC 9457 problem from the PSP. | Read the problem. Decide between a new challenge and a hard failure. A status of `500` means that the result is not known. Do not create a new payment. |
| `MppCardUnavailableError` | `@inflowpayai/mpp-seller` | The seller configuration does not advertise the USD Visa CARD capability. | Enable cards for your Seller account. |
| `MppStripeUnavailableError` | `@inflowpayai/mpp-seller` | The seller has no Stripe capability that is safe to use. | Connect a Stripe account to your Seller account. |
| `MppStripeAmountError` | `@inflowpayai/mpp-seller` | The amount is less than USD 0.50, more than USD 999,999.99, or not in exact cents. | Charge an amount in this range, in whole cents. |
| `InflowConfigurationError` | InFlow Node.js SDKs | `INFLOW_HTTP_PROXY` is set, but the optional `undici` package is missing. The error appears at the first request. | Install `undici`, or remove the variable. |
| `No payment offers are available for this request` | `@inflowpayai/mpp-seller` | `canOffer` rejected every offer. | Check your `canOffer` hooks. `selectOffers` must also return at least one offer. |

### Catch the account error at startup

```ts theme={null}
import { InflowApiError } from '@inflowpayai/x402';

try {
  await startSeller();
} catch (error) {
  if (error instanceof InflowApiError && error.code === 'SELLER_ACCOUNT_REQUIRED') {
    throw new Error('Configure a Seller account API key for this integration.');
  }
  throw error;
}
```

For MPP, the structured response is in `error.body`. The MPP `inflow` method loads its configuration in the background, so the error can occur at the first paid request.

## CLI states

| State | Meaning | Fix |
| - | - | - |
| `authenticated` is `false` | The CLI has no valid session. | Run `inflow auth login`. |
| The response has an `update` field | A newer CLI is available. | Run the installer again. The current version still works. |
| A human-action error about the vault | The vault is locked or not initialized. | The owner runs `inflow vault unlock` in a terminal. |
| The payment stays pending | The owner did not approve it. | Check with `inflow mpp status` or `inflow x402 status`. Approval expires after 900 seconds. |
| No matching option | The filters exclude every seller option. | Remove the filters. Run `inflow inspect` again. |

## Get help

For other errors, ask in [Discord](https://discord.gg/Z9nmMAgaR4). Include the command or the code, and the full error.


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