x402Handlers
Functions
narrowHandlers()
narrowHandlers(Defined in: packages/types/src/x402-handlers.ts:39 Returns handlers whose capabilities match the given network and asset. Handlers without capabilities are excluded. Emptyhandlers,criteria):FacilitatorHandler[]
networks or assets arrays act as wildcards (match everything).
This supports the HTTP handler backward-compat path where the handler
delegates all routing to the remote facilitator.
Parameters
handlers
FacilitatorHandler[]
criteria
asset
string
network
string
Returns
FacilitatorHandler[]
resolveX402Requirements()
resolveX402Requirements(Defined in: packages/types/src/x402-handlers.ts:81 Converts ResourcePricing entries into enriched x402PaymentRequirements by routing through handlers. For each handler with capabilities, matches pricing entries by network and asset, constructs skeletal x402 requirements using the handler’s declared schemes, then callshandlers,pricing,resource,opts?):Promise<object[]>
handler.getRequirements() to enrich
them with protocol-specific fields (extras, timeouts, etc.).
Handlers without capabilities are skipped. If a handler throws,
the exception propagates to the caller.
Parameters
handlers
FacilitatorHandler[]
pricing
ResourcePricing[]
resource
string
opts?
ResolveOpts
Returns
Promise<object[]>
settleX402Payment()
settleX402Payment(Defined in: packages/types/src/x402-handlers.ts:126 Routes a settlement request to the appropriate handler. Narrows handlers by capabilities (network + asset), then iterateshandlers,requirements,payment):Promise<{errorReason?:string;extensions?:object;network:string;payer?:string;success:boolean;transaction:string; }>
handleSettle until one returns a non-null result. If a handler
throws, the exception propagates immediately.
Parameters
handlers
FacilitatorHandler[]
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<{ errorReason?: string; extensions?: object; network: string; payer?: string; success: boolean; transaction: string; }>
verifyX402Payment()
verifyX402Payment(Defined in: packages/types/src/x402-handlers.ts:149 Routes a verification request to the appropriate handler. Same pattern as settleX402Payment but callshandlers,requirements,payment):Promise<{invalidReason?:string;isValid:boolean;payer?:string; }>
handleVerify.
Handlers without handleVerify are skipped.
Parameters
handlers
FacilitatorHandler[]
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<{ invalidReason?: string; isValid: boolean; payer?: string; }>