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

# Payment solana.src.flex.Namespace.facilitator

# facilitator

## Type Aliases

### FlexFacilitator

> **FlexFacilitator** = `FacilitatorHandler` & `object`

Defined in: [packages/payment-solana/src/flex/facilitator/handler.ts:128](https://github.com/faremeter/faremeter/blob/main/packages/payment-solana/src/flex/facilitator/handler.ts#L128)

Extended `FacilitatorHandler` with Flex-specific lifecycle
methods for flushing holds to chain and inspecting the hold manager.

#### Type declaration

##### flush()

> **flush**(): `Promise`\<[`FlushResult`](#flushresult)\[]>

###### Returns

`Promise`\<[`FlushResult`](#flushresult)\[]>

##### getHoldManager()

> **getHoldManager**(): `object`

###### Returns

`object`

##### stop()

> **stop**(): `void`

###### Returns

`void`

***

### FlushResult

> **FlushResult** = `object`

Defined in: [packages/payment-solana/src/flex/facilitator/handler.ts:109](https://github.com/faremeter/faremeter/blob/main/packages/payment-solana/src/flex/facilitator/handler.ts#L109)

Outcome of submitting a single hold to the on-chain program.

#### Properties

##### authorizationId

> **authorizationId**: `bigint`

Defined in: [packages/payment-solana/src/flex/facilitator/handler.ts:110](https://github.com/faremeter/faremeter/blob/main/packages/payment-solana/src/flex/facilitator/handler.ts#L110)

##### error?

> `optional` **error**: `string`

Defined in: [packages/payment-solana/src/flex/facilitator/handler.ts:113](https://github.com/faremeter/faremeter/blob/main/packages/payment-solana/src/flex/facilitator/handler.ts#L113)

##### success

> **success**: `boolean`

Defined in: [packages/payment-solana/src/flex/facilitator/handler.ts:111](https://github.com/faremeter/faremeter/blob/main/packages/payment-solana/src/flex/facilitator/handler.ts#L111)

##### transaction?

> `optional` **transaction**: `string`

Defined in: [packages/payment-solana/src/flex/facilitator/handler.ts:112](https://github.com/faremeter/faremeter/blob/main/packages/payment-solana/src/flex/facilitator/handler.ts#L112)

## Functions

### createFacilitatorHandler()

> **createFacilitatorHandler**(`network`, `rpc`, `facilitatorSigner`, `config`): `Promise`\<[`FlexFacilitator`](#flexfacilitator)>

Defined in: [packages/payment-solana/src/flex/facilitator/handler.ts:147](https://github.com/faremeter/faremeter/blob/main/packages/payment-solana/src/flex/facilitator/handler.ts#L147)

Creates a facilitator handler that verifies Flex payment authorizations,
manages in-memory holds, and submits/finalizes settlements on-chain.

Starts a background interval that periodically flushes settled holds
and finalizes confirmed transactions. Call `stop()` to clear it.

#### Parameters

##### network

`string`

Solana cluster name (e.g. "mainnet", "devnet")

##### rpc

`Rpc`\<`SolanaRpcApiForTestClusters`>

Solana RPC client

##### facilitatorSigner

`TransactionSigner`

Transaction signer for the facilitator

##### config

`FlexFacilitatorConfig`

Supported mints, splits, and timing configuration

#### Returns

`Promise`\<[`FlexFacilitator`](#flexfacilitator)>

A `FlexFacilitator` with verify/settle/flush/stop methods
