Skip to main content
Faremeter API
Faremeter API / types/src / facilitator

facilitator

Interfaces

FacilitatorHandler

Defined in: packages/types/src/facilitator.ts:26 Handler interface implemented by payment scheme facilitators. Each method returns null when the request doesn’t match the handler’s payment scheme, allowing multiple handlers to be composed.

Properties

getRequirements()
getRequirements: (args) => Promise<object[]>
Defined in: packages/types/src/facilitator.ts:30 Filters and enriches payment requirements this handler can process
Parameters
args
GetRequirementsArgs
Returns
Promise<object[]>
getSigners()?
optional getSigners: () => Promise<Record<string, string[]>>
Defined in: packages/types/src/facilitator.ts:44 Returns signer addresses organized by network (optional)
Returns
Promise<Record<string, string[]>>
getSupported()?
optional getSupported: () => Promise<{ extra?: object; network: string; scheme: string; x402Version: 2; }>[]
Defined in: packages/types/src/facilitator.ts:28 Returns the payment schemes this handler supports
Returns
Promise<{ extra?: object; network: string; scheme: string; x402Version: 2; }>[]
handleSettle()
handleSettle: (requirements, payment) => Promise<null | { errorReason?: string; extensions?: object; network: string; payer?: string; success: boolean; transaction: string; }>
Defined in: packages/types/src/facilitator.ts:39 Settles a payment by executing the on-chain transaction
Parameters
requirements
amount
string = "string.numeric"
asset
string = "string"
extra?
object = "object"
maxTimeoutSeconds
number = "number.integer"
network
string = "string"
payTo
string = "string"
scheme
string = "string"
payment
accepted
{ amount: string; asset: string; extra?: object; maxTimeoutSeconds: number; network: string; payTo: string; scheme: string; } = x402PaymentRequirements
accepted.amount
string = "string.numeric"
accepted.asset
string = "string"
accepted.extra?
object = "object"
accepted.maxTimeoutSeconds
number = "number.integer"
accepted.network
string = "string"
accepted.payTo
string = "string"
accepted.scheme
string = "string"
extensions?
object = "object"
payload
object = "object"
resource?
{ description?: string; mimeType?: string; url: string; } = x402ResourceInfo
resource.description?
string = "string"
resource.mimeType?
string = "string"
resource.url
string = "string"
x402Version
2 = "2"
Returns
Promise<null | { errorReason?: string; extensions?: object; network: string; payer?: string; success: boolean; transaction: string; }>
handleVerify()?
optional handleVerify: (requirements, payment) => Promise<null | { invalidReason?: string; isValid: boolean; payer?: string; }>
Defined in: packages/types/src/facilitator.ts:34 Verifies a payment without settling it (optional)
Parameters
requirements
amount
string = "string.numeric"
asset
string = "string"
extra?
object = "object"
maxTimeoutSeconds
number = "number.integer"
network
string = "string"
payTo
string = "string"
scheme
string = "string"
payment
accepted
{ amount: string; asset: string; extra?: object; maxTimeoutSeconds: number; network: string; payTo: string; scheme: string; } = x402PaymentRequirements
accepted.amount
string = "string.numeric"
accepted.asset
string = "string"
accepted.extra?
object = "object"
accepted.maxTimeoutSeconds
number = "number.integer"
accepted.network
string = "string"
accepted.payTo
string = "string"
accepted.scheme
string = "string"
extensions?
object = "object"
payload
object = "object"
resource?
{ description?: string; mimeType?: string; url: string; } = x402ResourceInfo
resource.description?
string = "string"
resource.mimeType?
string = "string"
resource.url
string = "string"
x402Version
2 = "2"
Returns
Promise<null | { invalidReason?: string; isValid: boolean; payer?: string; }>

GetRequirementsArgs

Defined in: packages/types/src/facilitator.ts:13 Arguments passed to the facilitator’s getRequirements method.

Properties

accepts
accepts: object[]
Defined in: packages/types/src/facilitator.ts:15 Payment requirements the server is willing to accept
amount
amount: string = "string.numeric"
asset
asset: string = "string"
extra?
optional extra: object = "object"
maxTimeoutSeconds
maxTimeoutSeconds: number = "number.integer"
network
network: string = "string"
payTo
payTo: string = "string"
scheme
scheme: string = "string"
resource?
optional resource: object
Defined in: packages/types/src/facilitator.ts:17 Optional resource information for the protected content
description?
optional description: string = "string"
mimeType?
optional mimeType: string = "string"
url
url: string = "string"