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

# Facilitator parameters

> Constructor and inputs for verify/settle/supported

## Constructor

```ts theme={null}
new Facilitator({
  recipientAddress: string,
  relayer?: string,
  waitUntil?: "confirmed",
  baseUrl?: string,
  apiKey?: string,
});
```

## Methods

* `verify(payload, requirements)`
* `settle(payload, requirements, waitUntil?)`
* `supported(filters?)`

### verify

```ts theme={null}
verify(
  payload: PaymentPayload,
  requirements: PaymentRequirements
): Promise<{ success: true; payer: string } | { success: false; error: string }>;
```

### settle

```ts theme={null}
settle(
  payload: PaymentPayload,
  requirements: PaymentRequirements,
  waitUntil?: "confirmed"
): Promise<{ success: true; txHash: string; network: string } | { success: false; error: string }>;
```

### supported

```ts theme={null}
supported(filters?: {
  chainId?: number;
  tokenAddress?: string;
}): Promise<{
  success: true;
  chains: number[];
  tokens: { address: string; supportedMethods: ("eip3009" | "permit" | "permit2")[] }[];
} | { success: false; error: string }>;
```

> Note: `waitUntil` currently only supports `"confirmed"`.
