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

x402Adapters

Type Aliases

NetworkTranslator()

NetworkTranslator = (network) => string
Defined in: packages/types/src/x402-adapters.ts:43 Callback for translating network identifiers between formats. For v1→v2 adapters: translates legacy network names to CAIP-2 identifiers. For v2→v1 adapters: translates CAIP-2 identifiers to legacy network names. Returns the translated network identifier, or the input unchanged if no translation is available.

Parameters

network
string

Returns

string

Functions

adaptPayloadV1ToV2()

adaptPayloadV1ToV2(payload, requirements, translateNetwork): object
Defined in: packages/types/src/x402-adapters.ts:129 Converts a v1 payment payload to v2 format.

Parameters

payload
The v1 payment payload
asset?
string = "string?"
network
string = "string"
payload
object = "object"
scheme
string = "string"
x402Version
number = "number.integer"
requirements
The v1 requirements used for resource extraction
asset
string = "string"
description
string = "string"
extra?
object = "object?"
maxAmountRequired
string = "string.numeric"
maxTimeoutSeconds
number = "number.integer"
mimeType?
string = "string"
network
string = "string"
outputSchema?
object = "object?"
payTo
string = "string"
resource
string = "string.url"
scheme
string = "string"
translateNetwork
NetworkTranslator Function to translate legacy network IDs to CAIP-2

Returns

object The v2 payment payload
accepted
accepted: object = x402PaymentRequirements
accepted.amount
amount: string = "string.numeric"
accepted.asset
asset: string = "string"
accepted.extra?
optional extra: object = "object"
accepted.maxTimeoutSeconds
maxTimeoutSeconds: number = "number.integer"
accepted.network
network: string = "string"
accepted.payTo
payTo: string = "string"
accepted.scheme
scheme: string = "string"
extensions?
optional extensions: object = "object"
payload
payload: object = "object"
resource?
optional resource: object = x402ResourceInfo
resource.description?
optional description: string = "string"
resource.mimeType?
optional mimeType: string = "string"
resource.url
url: string = "string"
x402Version
x402Version: 2 = "2"

adaptPaymentRequiredResponseV1ToV2()

adaptPaymentRequiredResponseV1ToV2(v1Response, resourceURL, translateNetwork): object
Defined in: packages/types/src/x402-adapters.ts:150 Converts a v1 payment required response to v2 format.

Parameters

v1Response
The v1 payment required response
accepts
object[] = ...
error?
string = "string"
x402Version
number = "number.integer"
resourceURL
string The URL of the protected resource
translateNetwork
NetworkTranslator Function to translate legacy network IDs to CAIP-2

Returns

object The v2 payment required response
accepts
accepts: object[]
error?
optional error: string = "string"
extensions?
optional extensions: object = "object"
resource
resource: object = x402ResourceInfo
resource.description?
optional description: string = "string"
resource.mimeType?
optional mimeType: string = "string"
resource.url
url: string = "string"
x402Version
x402Version: 2 = "2"

adaptPaymentRequiredResponseV2ToV1()

adaptPaymentRequiredResponseV2ToV1(v2Response, translateNetwork?): object
Defined in: packages/types/src/x402-adapters.ts:188 Converts a v2 payment required response to v1 format.

Parameters

v2Response
The v2 payment required response
accepts
object[] = ...
error?
string = "string"
extensions?
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"
translateNetwork?
NetworkTranslator Optional function to translate CAIP-2 to legacy IDs

Returns

object The v1 payment required response
accepts
accepts: object[]
error
error: string = "string"
x402Version
x402Version: number = "number.integer"

adaptRequirementsV1ToV2()

adaptRequirementsV1ToV2(req, translateNetwork): object
Defined in: packages/types/src/x402-adapters.ts:52 Converts v1 payment requirements to v2 format.

Parameters

req
The v1 payment requirements
asset
string = "string"
description
string = "string"
extra?
object = "object?"
maxAmountRequired
string = "string.numeric"
maxTimeoutSeconds
number = "number.integer"
mimeType?
string = "string"
network
string = "string"
outputSchema?
object = "object?"
payTo
string = "string"
resource
string = "string.url"
scheme
string = "string"
translateNetwork
NetworkTranslator Function to translate legacy network IDs to CAIP-2

Returns

object The v2 payment requirements
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"

adaptRequirementsV2ToV1()

adaptRequirementsV2ToV1(req, resource, translateNetwork?): object & object
Defined in: packages/types/src/x402-adapters.ts:78 Converts v2 payment requirements to v1 format.

Parameters

req
The v2 payment requirements
amount
string = "string.numeric"
asset
string = "string"
extra?
object = "object"
maxTimeoutSeconds
number = "number.integer"
network
string = "string"
payTo
string = "string"
scheme
string = "string"
resource
Resource information to populate v1 fields
description?
string = "string"
mimeType?
string = "string"
url
string = "string"
translateNetwork?
NetworkTranslator Optional function to translate CAIP-2 to legacy IDs

Returns

object & object The v1 payment requirements with mimeType guaranteed

adaptSettleResponseLegacyToV2()

adaptSettleResponseLegacyToV2(res): object
Defined in: packages/types/src/x402-adapters.ts:322 Adapt legacy v1 settle response (with txHash/networkId/error) to v2 format. Use this when receiving data from older clients that use legacy field names.

Parameters

res
error?
null | string = “string | null”
networkId
null | string = “string | null”
payer?
string = "string"
success
boolean = "boolean"
txHash
null | string = “string | null”

Returns

object
errorReason?
optional errorReason: string = "string"
extensions?
optional extensions: object = "object"
network
network: string = "string"
payer?
optional payer: string = "string"
success
success: boolean = "boolean"
transaction
transaction: string = "string"

adaptSettleResponseLenientToV2()

adaptSettleResponseLenientToV2(res): object
Defined in: packages/types/src/x402-adapters.ts:352 Adapt a lenient v1 settle response (accepting either legacy or spec-compliant field names) to v2 format. This is the most flexible adapter for parsing incoming settle responses from unknown sources.

Parameters

res
error?
null | string = “string | null”
errorReason?
null | string = “string | null”
network?
null | string = “string | null”
networkId?
null | string = “string | null”
payer?
string = "string"
success
boolean = "boolean"
transaction?
null | string = “string | null”
txHash?
null | string = “string | null”

Returns

object
errorReason?
optional errorReason: string = "string"
extensions?
optional extensions: object = "object"
network
network: string = "string"
payer?
optional payer: string = "string"
success
success: boolean = "boolean"
transaction
transaction: string = "string"

adaptSettleResponseV1ToV2()

adaptSettleResponseV1ToV2(res): object
Defined in: packages/types/src/x402-adapters.ts:290 Adapt v1 settle response to v2 format. Accepts lenient input that may have optional/nullable fields from older handlers.

Parameters

res
error?
null | string = “string | null”
errorReason?
null | string = “string | null”
network?
null | string = “string | null”
networkId?
null | string = “string | null”
payer?
string = "string"
success
boolean = "boolean"
transaction?
null | string = “string | null”
txHash?
null | string = “string | null”

Returns

object
errorReason?
optional errorReason: string = "string"
extensions?
optional extensions: object = "object"
network
network: string = "string"
payer?
optional payer: string = "string"
success
success: boolean = "boolean"
transaction
transaction: string = "string"

adaptSettleResponseV2ToV1()

adaptSettleResponseV2ToV1(res, translateNetwork?): object
Defined in: packages/types/src/x402-adapters.ts:246 Adapt v2 settle response to spec-compliant v1 format. Since v1 spec uses the same field names as v2 (transaction, network, errorReason), this is primarily a network translation pass.

Parameters

res
errorReason?
string = "string"
extensions?
object = "object"
network
string = "string"
payer?
string = "string"
success
boolean = "boolean"
transaction
string = "string"
translateNetwork?
NetworkTranslator

Returns

object
errorReason?
optional errorReason: string = "string"
network
network: string = "string"
payer
payer: string = "string"
success
success: boolean = "boolean"
transaction
transaction: string = "string"

adaptSettleResponseV2ToV1Legacy()

adaptSettleResponseV2ToV1Legacy(res, translateNetwork?): object
Defined in: packages/types/src/x402-adapters.ts:268 Adapt v2 settle response to legacy v1 format with old field names. Use this only for backward compatibility with clients expecting txHash/networkId/error field names.

Parameters

res
errorReason?
string = "string"
extensions?
object = "object"
network
string = "string"
payer?
string = "string"
success
boolean = "boolean"
transaction
string = "string"
translateNetwork?
NetworkTranslator

Returns

object
error?
optional error: null | string = "string | null"
networkId
networkId: null | string = "string | null"
payer?
optional payer: string = "string"
success
success: boolean = "boolean"
txHash
txHash: null | string = "string | null"

Deprecated

Prefer adaptSettleResponseV2ToV1 for spec-compliant output

adaptSupportedKindV1ToV2()

adaptSupportedKindV1ToV2(kind, translateNetwork): object
Defined in: packages/types/src/x402-adapters.ts:388 Converts a v1 supported kind to v2 format.

Parameters

kind
The v1 supported kind
extra?
object = "object?"
network
string = "string"
scheme
string = "string"
x402Version
number = "number.integer"
translateNetwork
NetworkTranslator Function to translate legacy network IDs to CAIP-2

Returns

object The v2 supported kind
extra?
optional extra: object = "object"
network
network: string = "string"
scheme
scheme: string = "string"
x402Version
x402Version: 2 = "2"

adaptSupportedKindV2ToV1()

adaptSupportedKindV2ToV1(kind, translateNetwork?): object
Defined in: packages/types/src/x402-adapters.ts:366 Converts a v2 supported kind to v1 format.

Parameters

kind
The v2 supported kind
extra?
object = "object"
network
string = "string"
scheme
string = "string"
x402Version
2 = "2"
translateNetwork?
NetworkTranslator Optional function to translate CAIP-2 to legacy IDs

Returns

object The v1 supported kind
extra?
optional extra: object = "object"
network
network: string = "string"
scheme
scheme: string = "string"
x402Version
x402Version: 1 | 2 = "1 | 2"

adaptVerifyResponseV1ToV2()

adaptVerifyResponseV1ToV2(res): object
Defined in: packages/types/src/x402-adapters.ts:226 Converts a v1 verify response to v2 format.

Parameters

res
The v1 verify response (lenient)
invalidReason?
null | string = “string | null”
isValid
boolean = "boolean"
payer?
string = "string"

Returns

object The v2 verify response
invalidReason?
optional invalidReason: string = "string"
isValid
isValid: boolean = "boolean"
payer?
optional payer: string = "string"

adaptVerifyResponseV2ToV1()

adaptVerifyResponseV2ToV1(res): object
Defined in: packages/types/src/x402-adapters.ts:207 Converts a v2 verify response to v1 format.

Parameters

res
The v2 verify response
invalidReason?
string = "string"
isValid
boolean = "boolean"
payer?
string = "string"

Returns

object The v1 verify response
invalidReason?
optional invalidReason: string = "string"
isValid
isValid: boolean = "boolean"
payer
payer: string = "string"

extractResourceInfoV1()

extractResourceInfoV1(req): object
Defined in: packages/types/src/x402-adapters.ts:106 Extracts resource information from v1 payment requirements.

Parameters

req
The v1 payment requirements containing resource fields
asset
string = "string"
description
string = "string"
extra?
object = "object?"
maxAmountRequired
string = "string.numeric"
maxTimeoutSeconds
number = "number.integer"
mimeType?
string = "string"
network
string = "string"
outputSchema?
object = "object?"
payTo
string = "string"
resource
string = "string.url"
scheme
string = "string"

Returns

object The extracted resource information
description?
optional description: string = "string"
mimeType?
optional mimeType: string = "string"
url
url: string = "string"