@faremeter/types

中文文档
0.22.0发布于 2026/05/27LGPL-3.0-onlyTypeScriptESM + CJS近 30 天下载 4988

X402 协议和外观生态系统的 TypeScript 类型定义和运行时间验证

中文使用文档
文档目录83 节
  1. 安装
  2. 特征
  3. 子路径导出
  4. API 参考
  5. 职能
  6. 不敏感语言
  7. 变量错误
  8. 丢入变量错误
  9. 正常付款要求
  10. 校正回复
  11. 常态解答
  12. 生成需求Matcher
  13. 适应要求V1TV2
  14. 适应要求V2TOV1
  15. 提取资源信息V1
  16. 适应PayloadV1TOV2
  17. 适应 Payment 要求的响应V1TOV2
  18. 适应 Payment 必需的响应V2TOV1
  19. 适应 认证响应V2TOV1
  20. 适配 验证响应V1TOV2
  21. 适应SettleResponseV2ToV1
  22. 调整SettleResponseV2至V1Legacy
  23. 适应SettleResponseV1TOV2
  24. 适应SettleResponseLegacyToV2
  25. 适应SettleResponseLenientToV2
  26. 适应支持的KindV2TOV1
  27. 适应支持的KindV1TOV2
  28. 适应 PaymentHandlerV1TOV2
  29. 适应PaymentHandlerV2TOV1
  30. 设置
  31. 是私钥
  32. 匹配价格到能力
  33. 运算
  34. 缩窄手提箱
  35. 第X402号决议 所需资源
  36. 结算X402 付款
  37. 校验 X402 付款
  38. 数据库地址
  39. is Solana 组合键
  40. isSolanaCAIP2 网络结构
  41. is SolanaCAIP2 网络
  42. 创建索拉纳网络
  43. 常数
  44. 交纳额
  45. 支付额 支付额 高分
  46. x402 付账仪
  47. x402 付款要求
  48. x402 付费要求
  49. x402 付款要求
  50. x402 付税额
  51. x402 付费页头
  52. x402 验证请求
  53. x402 验证回复
  54. x402 验证响应度
  55. x402 定居请求
  56. x402 定居对策
  57. x402 定居反应
  58. x402 沉积响应度
  59. x402 辅助设备
  60. x402 支持的答复
  61. V2 付费 高空
  62. V2 付费 REQUIDER HEADER
  63. V2 支付 负担 HEADER
  64. x402 资源信息
  65. x402 付款要求
  66. x402 付费要求
  67. x402 付税额
  68. x402 付费页头
  69. x402 验证请求
  70. x402 验证回复
  71. x402 定居请求
  72. x402 定居反应
  73. x402 辅助设备
  74. x402 支持的任意
  75. x402 支持的答复
  76. 地址
  77. 私钥
  78. 基地58 地址
  79. 索拉纳组合
  80. 索拉纳CAIP2网络结构
  81. 接口
  82. 获取需求
  83. 主持人汉德勒

@ faremeter/ 类型

TypeScript类型定义和运行时间验证x402协议和Faremeter生态系统.

安装

pnpm install @faremeter/types

特征

  • 完成 x402 协议类型
  • 使用方舟类型的运行时间验证
  • 客户和调解人接口
  • 特定链型(索拉纳、EVM)
  • 整个生态系统的类型安全

子路径导出

  • @faremeter/types - 主要出口
  • @faremeter/types/x402 - x402 协议类型
  • @faremeter/types/client - 客户端类型
  • @faremeter/types/facilitator - 调解人类型
  • @faremeter/types/solana - 索拉纳特有的类型
  • @faremeter/types/evm - EVM特定类型

API 参考

职能

不敏感语言

为大小写不敏感字符串文字创建方舟类型验证器.

输入字符串在匹配允许的值之前会小写.

函数类型
caseInsensitiveLiteral<T extends string>(...l: T[]) => instantiateType<normalizeMorphDistribution<_inferIntersection<(In: string) => To<string>, Lowercase<T>, true>, _inferIntersection<(In: string) => To<string>, Lowercase<T>, true> extends InferredMorph<...> ? i : never, _inferIntersection<...> extends InferredMorph<...> ? [...] extends...

参数:

  • l: - 要接受的字串值( 大小写不敏感)

回返情况:

接受文字中任意大小写变体的方舟类型校验器

变量错误

类型守护, 检查一个值是否为方舟类型验证错误 .

函数类型
isValidationError(possibleErrors: unknown) => possibleErrors is ArkErrors

参数:

  • possibleErrors: - 要检查的值

回返情况:

如果值为验证错误, 则为 True

丢入变量错误

随所附的验证错误消息而丢出错误 .

函数类型
throwValidationError(message: string, errors: ArkErrors) => never

参数:

  • message: - 描述正在验证的内容的背景信息
  • errors: - 方舟型验证错误

正常付款要求

使宽大付款正常化,需要对符合规格的字段值作出反应. 缺少时默认为空字符串.

函数类型
normalizePaymentRequiredResponse(res: { x402Version: number; accepts: { scheme: string; network: string; maxAmountRequired: string; resource: string; description: string; payTo: string; maxTimeoutSeconds: number; asset: string; mimeType?: string or undefined; outputSchema?: object or undefined; extra?: object or undefined; }[]; error?: string or undef...

校正回复

规范对符合规格的字段值的宽松核查反应. 默认支付器为空字符串, 从无效的Reason 中剥离.

函数类型
normalizeVerifyResponse(res: { isValid: boolean; invalidReason?: string or null or undefined; payer?: string or undefined; }) => { isValid: boolean; payer: string; invalidReason?: string or undefined; }

常态解答

规范对符合规格的字段名称的宽松解答. 将遗留字段名称( txHash, networkId, 错误) 转换为符合光谱要求的字段名称 名称(交易、网络、错误Reason).

函数类型
normalizeSettleResponse(res: { success: boolean; errorReason?: string or null or undefined; error?: string or null or undefined; transaction?: string or null or undefined; txHash?: string or null or undefined; network?: string or ... 1 more ... or undefined; networkId?: string or ... 1 more ... or undefined; payer?: string or undefined; }) => { ...; }

生成需求Matcher

创建用于过滤支付要求的匹配器功能.

匹配者在方案、网络上进行对大小写不敏感匹配, 和资产领域.

函数类型
generateRequirementsMatcher(scheme: string[], network: string[], asset: string[]) => { matchTuple: Type<{ scheme: (In: string) => To<Lowercase<string>>; network: (In: string) => To<Lowercase<string>>; asset: (In: string) => To<...>; }, {}>; isMatchingRequirement: (req: { ...; }) => boolean; }

参数:

  • scheme: - 接受付款计划名称
  • network: - 已接受的网络标识符
  • asset: - 接受资产地址

回返情况:

与比对器 tuple 和 是 Matching 要求函数对象

适应要求V1TV2

将v1支付要求转换为v2格式.

函数类型
adaptRequirementsV1ToV2(req: { scheme: string; network: string; maxAmountRequired: string; resource: string; description: string; payTo: string; maxTimeoutSeconds: number; asset: string; mimeType?: string or undefined; outputSchema?: object or undefined; extra?: object or undefined; }, translateNetwork: NetworkTranslator) => { ...; }

参数:

  • req- V1付款要求
  • translateNetwork: - 将遗留的网络ID翻译为CAIP-2的功能

回返情况:

V2 付款要求

适应要求V2TOV1

将v2支付要求转换为v1格式.

函数类型
adaptRequirementsV2ToV1(req: { scheme: string; network: string; amount: string; asset: string; payTo: string; maxTimeoutSeconds: number; extra?: object or undefined; }, resource: { url: string; description?: string or undefined; mimeType?: string or undefined; }, translateNetwork?: NetworkTranslator or undefined) => { ...; } and { ...; }

参数:

  • req- V2付款要求
  • resource: - 填充 v1 字段的资源信息
  • translateNetwork: - CAIP-2 翻译为遗留的ID的可选功能

回返情况:

V1付款要求与 mimeType 保证

提取资源信息V1

从v1支付要求中提取资源信息.

函数类型
extractResourceInfoV1(req: { scheme: string; network: string; maxAmountRequired: string; resource: string; description: string; payTo: string; maxTimeoutSeconds: number; asset: string; mimeType?: string or undefined; outputSchema?: object or undefined; extra?: object or undefined; }) => { ...; }

参数:

  • req: - 包含资源字段的v1支付要求

回返情况:

提取的资源信息

适应PayloadV1TOV2

将 v1 支付有效载荷转换为 v2 格式 .

函数类型
adaptPayloadV1ToV2(payload: { x402Version: number; scheme: string; network: string; payload: object; asset?: string or undefined; }, requirements: { scheme: string; network: string; maxAmountRequired: string; resource: string; ... 6 more ...; extra?: object or undefined; }, translateNetwork: NetworkTranslator) => { ...; }

参数:

  • payload- V1支付有效载荷
  • requirements: - 用于资源提取的v1要求
  • translateNetwork: - 将遗留的网络ID翻译为CAIP-2的功能

回返情况:

V2 支付有效载荷

适应 Payment 要求的响应V1TOV2

转换 v1 给付要求对 v2 格式的响应 .

函数类型
adaptPaymentRequiredResponseV1ToV2(v1Response: { x402Version: number; accepts: { scheme: string; network: string; maxAmountRequired: string; resource: string; description: string; payTo: string; maxTimeoutSeconds: number; asset: string; mimeType?: string or undefined; outputSchema?: object or undefined; extra?: object or undefined; }[]; error?: string ...

参数:

  • v1Response: - v1 付款需要回复
  • resourceURL: - 受保护资源的 URL
  • translateNetwork: - 将遗留的网络ID翻译为CAIP-2的功能

回返情况:

V2的支付需要回复

适应 Payment 必需的响应V2TOV1

转换一个 v2 支付需要响应 v1 格式 .

函数类型
adaptPaymentRequiredResponseV2ToV1(v2Response: { x402Version: 2; resource: { url: string; description?: string or undefined; mimeType?: string or undefined; }; accepts: { scheme: string; network: string; amount: string; asset: string; payTo: string; maxTimeoutSeconds: number; extra?: object or undefined; }[]; error?: string or undefined; extensions?: ob...

参数:

  • v2Response: - v2 付款需要回复
  • translateNetwork: - CAIP-2 翻译为遗留的ID的可选功能

回返情况:

V1 付款需要回复

适应 认证响应V2TOV1

转换一个 v2 验证对 v1 格式的响应 .

函数类型
adaptVerifyResponseV2ToV1(res: { isValid: boolean; invalidReason?: string or undefined; payer?: string or undefined; }) => { isValid: boolean; payer: string; invalidReason?: string or undefined; }

参数:

  • res: - V2 验证响应

回返情况:

V1 验证响应

适配 验证响应V1TOV2

转换 v1 验证对 v2 格式的响应 .

函数类型
adaptVerifyResponseV1ToV2(res: { isValid: boolean; invalidReason?: string or null or undefined; payer?: string or undefined; }) => { isValid: boolean; invalidReason?: string or undefined; payer?: string or undefined; }

参数:

  • res: - v1 验证响应( lenient)

回返情况:

V2 验证响应

适应SettleResponseV2ToV1

将 v2 解析响应适应 spec- 符合 v1 格式 . 由于 v1 spec 使用与 v2 相同的字段名称( 交易、 网络、 错误 Reason) , 这主要是网络翻译通行证.

函数类型
adaptSettleResponseV2ToV1(res: { success: boolean; transaction: string; network: string; errorReason?: string or undefined; payer?: string or undefined; extensions?: object or undefined; }, translateNetwork?: NetworkTranslator or undefined) => { ...; }

调整SettleResponseV2至V1Legacy

以旧字段名称适应 v2 解析响应后遗留 v1 格式 . 仅用于向后兼容预期客户端 txHash/networkId/error 字段名称.

函数类型
adaptSettleResponseV2ToV1Legacy(res: { success: boolean; transaction: string; network: string; errorReason?: string or undefined; payer?: string or undefined; extensions?: object or undefined; }, translateNetwork?: NetworkTranslator or undefined) => { ...; }

适应SettleResponseV1TOV2

将 v1 解析响应适应 v2 格式 . 接受较年长的处理者可能具有可选/可忽略字段的宽大输入.

函数类型
adaptSettleResponseV1ToV2(res: { success: boolean; errorReason?: string or null or undefined; error?: string or null or undefined; transaction?: string or null or undefined; txHash?: string or null or undefined; network?: string or ... 1 more ... or undefined; networkId?: string or ... 1 more ... or undefined; payer?: string or undefined; }) => { ...; }

适应SettleResponseLegacyToV2

将遗留的 v1 解析响应( 有 txHash/networkId/error) 修改为 v2 格式 . 在接收使用遗留字段名的老客户端的数据时使用此功能.

函数类型
adaptSettleResponseLegacyToV2(res: { success: boolean; txHash: string or null; networkId: string or null; error?: string or null or undefined; payer?: string or undefined; }) => { success: boolean; transaction: string; network: string; errorReason?: string or undefined; payer?: string or undefined; extensions?: object or undefined; }

适应SettleResponseLenientToV2

调整宽大V1结算反应(接受遗产或符合规格) 字段名称)改为v2格式。 这是最灵活的解析器 从不明来源收到的结算答复.

函数类型
adaptSettleResponseLenientToV2(res: { success: boolean; errorReason?: string or null or undefined; error?: string or null or undefined; transaction?: string or null or undefined; txHash?: string or null or undefined; network?: string or ... 1 more ... or undefined; networkId?: string or ... 1 more ... or undefined; payer?: string or undefined; }) => { ...; }

适应支持的KindV2TOV1

将所支持的 v2 类型转换为 v1 格式 .

函数类型
adaptSupportedKindV2ToV1(kind: { x402Version: 2; scheme: string; network: string; extra?: object or undefined; }, translateNetwork?: NetworkTranslator or undefined) => { x402Version: 1 or 2; scheme: string; network: string; extra?: object or undefined; }

参数:

  • kind: - 支持的 v2 类型
  • translateNetwork: - CAIP-2 翻译为遗留的ID的可选功能

回返情况:

V1 支持的类型

适应支持的KindV1TOV2

将所支持的 v1 类型转换为 v2 格式 .

函数类型
adaptSupportedKindV1ToV2(kind: { x402Version: number; scheme: string; network: string; extra?: object or undefined; }, translateNetwork: NetworkTranslator) => { x402Version: 2; scheme: string; network: string; extra?: object or undefined; }

参数:

  • kind: - V1 支持的类型
  • translateNetwork: - 将遗留的网络ID翻译为CAIP-2的功能

回返情况:

V2 支持的类型

适应 PaymentHandlerV1TOV2

将一款v1 PayHandlerV1 修改为 PayHandler 接口.

这允许现有的v1支付处理器与v2基础设施一起使用. 要求从v2转换为v1,然后转交处理者, 和产生的执行器被包裹,将要求转换回v2.

接受符合光谱的处理器(带有可选的 mimeType) 和遗产 处理器( 需要 mimeType) , 用于反向兼容 .

函数类型
adaptPaymentHandlerV1ToV2(handler: PaymentHandlerV1 or PaymentHandlerV1Strict, translateNetwork: NetworkTranslator) => PaymentHandler

参数:

  • handler: - 适应的 v1 支付处理器
  • translateNetwork: - 将遗留的网络ID翻译为CAIP-2的功能

适应PaymentHandlerV2TOV1

将一个 PayersHandler 修改为 v1 PayersHandlerV1 接口 .

这允许v2支付处理器与v1基础设施一起使用.

函数类型
adaptPaymentHandlerV2ToV1(handler: PaymentHandler, translateNetwork: NetworkTranslator) => PaymentHandlerV1

参数:

  • handler: - 适应的 v2 支付处理器
  • translateNetwork: - 将遗留的网络ID翻译为CAIP-2的功能

设置

类型守护以检查一个值是否是一个有效的 EVM 地址 .

函数类型
isAddress(maybe: unknown) => maybe is 0x${字符串>

参数:

  • maybe: - 要检查的值

回返情况:

如果值符合 EVM 地址格式, 则为真

是私钥

类型守护以检查一个值是否是有效的 EVM 私人密钥 .

函数类型
isPrivateKey(maybe: unknown) => maybe is 0x${字符串>

参数:

  • maybe: - 要检查的值

回返情况:

如果值符合私人密钥格式, 则为真

匹配价格到能力

网络和资产匹配的返回定价条目 能力。 空 networks 或者说 assets 数组充当通配符.

函数类型
matchPricingToCapabilities(capabilities: HandlerCapabilities, pricing: ResourcePricing[]) => ResourcePricing[]

运算

当给定的网络和资产匹配能力时返回真实性 . 空 networks 或者说 assets 数组充当通配符.

函数类型
capabilitiesMatch(capabilities: HandlerCapabilities, criteria: { network: string; asset: string; }) => boolean

缩窄手提箱

返回其能力与给定的网络和资产相匹配的处理器. 没有能力的人被排除在外.

空 networks 或者说 assets 数组充当通配符(匹配一切). 这支持 HTTP 处理器向后兼容处理器的路径 代表所有前往远程协调人的线路.

函数类型
narrowHandlers(handlers: FacilitatorHandler[], criteria: { network: string; asset: string; }) => FacilitatorHandler[]

第X402号决议 所需资源

将 QQlink 资源定价 条目转换为丰富 链接 x402 支付要求]通过处理器的路由.

对每个有能力的处理者,按网络匹配定价条目 和资产,使用处理器构造出骨骼x402要求 申报计划,然后调用 handler.getRequirements() 丰富 带有特定协议字段(extras,超时等).

手无能者被跳过。 如果一个操作员扔, 例外会传播给打电话者.

函数类型
resolveX402Requirements(handlers: FacilitatorHandler[], pricing: ResourcePricing[], resource: string, opts?: ResolveOpts or undefined) => Promise<{ scheme: string; ... 5 more ...; extra?: object or undefined; }[]>

结算X402 付款

将和解请求传送给适当的处理者.

按能力(网络+资产)排列的收缩器,然后重置 handleSettle 直到返回一个非无结果。 如果一个处理者 抛出,例外立即传播.

函数类型
settleX402Payment(handlers: FacilitatorHandler[], requirements: { scheme: string; network: string; amount: string; asset: string; payTo: string; maxTimeoutSeconds: number; extra?: object or undefined; }, payment: { ...; }) => Promise<...>

校验 X402 付款

将核查请求传送给适当的处理者.

和QQlink settleX402 相同的模式 付款 电话 handleVerify。 。 。 . 没有 handleVerify 被跳过.

函数类型
verifyX402Payment(handlers: FacilitatorHandler[], requirements: { scheme: string; network: string; amount: string; asset: string; payTo: string; maxTimeoutSeconds: number; extra?: object or undefined; }, payment: { ...; }) => Promise<...>

数据库地址

类型守护,检查一个值是否是一个有效的索拉纳基础58地址.

函数类型
isBaseAddress(maybe: unknown) => maybe is string

参数:

  • maybe: - 要检查的值

回返情况:

如果值符合基本58地址格式, 则为真

is Solana 组合键

类型守护, 检查一个值是否是一个有效的 Solana 集群名称 .

函数类型
isSolanaCluster(maybe: unknown) => maybe is "mainnet-beta" or "devnet" or "testnet"

参数:

  • maybe: - 要检查的值

回返情况:

如果值是一个已知的集群名称, 则为 True

isSolanaCAIP2 网络结构

类型守护, 检查一个值是否是有效的 Solana CAIP-2 网络字符串 .

函数类型
isSolanaCAIP2NetworkString(maybe: unknown) => maybe is string

参数:

  • maybe: - 要检查的值

回返情况:

如果值符合索拉纳 CAIP-2 格式则为真

is SolanaCAIP2 网络

类型守护, 检查一个值是否为 SolanaCAIP2 网络对象.

函数类型
isSolanaCAIP2Network(maybe: unknown) => maybe is SolanaCAIP2Network

参数:

  • maybe: - 要检查的值

回返情况:

如果值是 SolanaCAIP2 网络对象, 则为真

创建索拉纳网络

从 CAIP-2 字符串创建 SolanaCAIP2 网络对象.

函数类型
createSolanaNetwork(caip2: string, name?: string or undefined) => SolanaCAIP2Network

参数:

  • caip2: - CAIP-2网络标识字符串(如"solana:5eykt"
  • name: - 网络的可选显示名称

回返情况:

索拉纳卡伊普2 网络对象

常数

交纳额

V1客户支付有效载荷的HTTP头名.

常数类型
X_PAYMENT_HEADER"X-PAYMENT"

支付额 支付额 高分

V1 服务器支付响应的 HTTP 头名 .

常数类型
X_PAYMENT_RESPONSE_HEADER"X-PAYMENT-RESPONSE"

x402 付账仪

常数类型
x402PaymentIdType<{ scheme: string; network: string; asset: string; }, {}>

x402 付款要求

常数类型
x402PaymentRequirementsType<{ scheme: string; network: string; maxAmountRequired: string; resource: string; description: string; payTo: string; maxTimeoutSeconds: number; asset: string; mimeType?: string or undefined; outputSchema?: object or undefined; extra?: object or undefined; }, {}>

x402 付费要求

常数类型
x402PaymentRequiredResponseType<{ x402Version: number; accepts: { scheme: string; network: string; maxAmountRequired: string; resource: string; description: string; payTo: string; maxTimeoutSeconds: number; asset: string; mimeType?: string or undefined; outputSchema?: object or undefined; extra?: object or undefined; }[]; error: string; }, {}>

x402 付款要求

优惠付款需要接受可选错误字段的响应解析器 . 在解析来自旧服务器但可能不包括的数据时使用此功能 错误字段.

常数类型
x402PaymentRequiredResponseLenientType<{ x402Version: number; accepts: { scheme: string; network: string; maxAmountRequired: string; resource: string; description: string; payTo: string; maxTimeoutSeconds: number; asset: string; mimeType?: string or undefined; outputSchema?: object or undefined; extra?: object or undefined; }[]; error?: string or undefi...

x402 付税额

常数类型
x402PaymentPayloadType<{ x402Version: number; scheme: string; network: string; payload: object; asset?: string or undefined; }, {}>

x402 付费页头

常数类型
x402PaymentHeaderToPayloadType<(In: string) => To<{ x402Version: number; scheme: string; network: string; payload: object; asset?: string or undefined; }>, {}>

x402 验证请求

常数类型
x402VerifyRequestType<{ paymentRequirements: { scheme: string; network: string; maxAmountRequired: string; resource: string; description: string; payTo: string; maxTimeoutSeconds: number; asset: string; mimeType?: string or undefined; outputSchema?: object or undefined; extra?: object or undefined; }; paymentHeader?: string or undefined...

x402 验证回复

常数类型
x402VerifyResponseType<{ isValid: boolean; payer: string; invalidReason?: string or undefined; }, {}>

x402 验证响应度

列宁特验证接受可选付款人字段的响应解析器 . 当解析来自年长的促进者的数据时使用此功能 不包括付款人字段.

常数类型
x402VerifyResponseLenientType<{ isValid: boolean; invalidReason?: string or null or undefined; payer?: string or undefined; }, {}>

x402 定居请求

常数类型
x402SettleRequestType<{ paymentRequirements: { scheme: string; network: string; maxAmountRequired: string; resource: string; description: string; payTo: string; maxTimeoutSeconds: number; asset: string; mimeType?: string or undefined; outputSchema?: object or undefined; extra?: object or undefined; }; paymentHeader?: string or undefined...

x402 定居对策

后遗症解析响应类型有前遗症字段名(txHash,networkId,出错). 使用x402SettleResponse进行符合光谱的字段名称(交易,网络,出错Reason).

此类型用于与老客户界面的后向兼容性 使用遗留字段名称.

常数类型
x402SettleResponseLegacyType<{ success: boolean; txHash: string or null; networkId: string or null; error?: string or null or undefined; payer?: string or undefined; }, {}>

x402 定居反应

每克402规格-v1.md 第5.3节符合光谱的结算响应. 字段名称:交易,网络,错误Reason(不是txHash,网络Id,错误)

常数类型
x402SettleResponseType<{ success: boolean; transaction: string; network: string; payer: string; errorReason?: string or undefined; }, {}>

x402 沉积响应度

接受遗产或符合规格的灵活结算响应解析器 字段名称。 当解析来自旧数据时使用此选项 使用遗留字段名的客户端.

常数类型
x402SettleResponseLenientType<{ success: boolean; errorReason?: string or null or undefined; error?: string or null or undefined; transaction?: string or null or undefined; txHash?: string or null or undefined; network?: string or ... 1 more ... or undefined; networkId?: string or ... 1 more ... or undefined; payer?: string or undefined; }, {}>

x402 辅助设备

常数类型
x402SupportedKindType<{ x402Version: number; scheme: string; network: string; extra?: object or undefined; }, {}>

x402 支持的答复

常数类型
x402SupportedResponseType<{ kinds: { x402Version: number; scheme: string; network: string; extra?: object or undefined; }[]; }, {}>

V2 付费 高空

V2 客户支付签名的 HTTP 头名 .

常数类型
V2_PAYMENT_HEADER"PAYMENT-SIGNATURE"

V2 付费 REQUIDER HEADER

V2 402 付款的 HTTP 头名需要回复 .

常数类型
V2_PAYMENT_REQUIRED_HEADER"PAYMENT-REQUIRED"

V2 支付 负担 HEADER

V2 服务器支付响应的 HTTP 头名 .

常数类型
V2_PAYMENT_RESPONSE_HEADER"PAYMENT-RESPONSE"

x402 资源信息

常数类型
x402ResourceInfoType<{ url: string; description?: string or undefined; mimeType?: string or undefined; }, {}>

x402 付款要求

常数类型
x402PaymentRequirementsType<{ scheme: string; network: string; amount: string; asset: string; payTo: string; maxTimeoutSeconds: number; extra?: object or undefined; }, {}>

x402 付费要求

常数类型
x402PaymentRequiredResponseType<{ x402Version: 2; resource: { url: string; description?: string or undefined; mimeType?: string or undefined; }; accepts: { scheme: string; network: string; amount: string; asset: string; payTo: string; maxTimeoutSeconds: number; extra?: object or undefined; }[]; error?: string or undefined; extensions?: object or u...

x402 付税额

常数类型
x402PaymentPayloadType<{ x402Version: 2; accepted: { scheme: string; network: string; amount: string; asset: string; payTo: string; maxTimeoutSeconds: number; extra?: object or undefined; }; payload: object; resource?: { ...; } or undefined; extensions?: object or undefined; }, {}>

x402 付费页头

常数类型
x402PaymentHeaderToPayloadType<(In: string) => To<{ x402Version: 2; accepted: { scheme: string; network: string; amount: string; asset: string; payTo: string; maxTimeoutSeconds: number; extra?: object or undefined; }; payload: object; resource?: { ...; } or undefined; extensions?: object or undefined; }>, {}>

x402 验证请求

常数类型
x402VerifyRequestType<{ paymentPayload: { x402Version: 2; accepted: { scheme: string; network: string; amount: string; asset: string; payTo: string; maxTimeoutSeconds: number; extra?: object or undefined; }; payload: object; resource?: { ...; } or undefined; extensions?: object or undefined; }; paymentRequirements: { ...; }; }, {}>

x402 验证回复

常数类型
x402VerifyResponseType<{ isValid: boolean; invalidReason?: string or undefined; payer?: string or undefined; }, {}>

x402 定居请求

常数类型
x402SettleRequestType<{ paymentPayload: { x402Version: 2; accepted: { scheme: string; network: string; amount: string; asset: string; payTo: string; maxTimeoutSeconds: number; extra?: object or undefined; }; payload: object; resource?: { ...; } or undefined; extensions?: object or undefined; }; paymentRequirements: { ...; }; }, {}>

x402 定居反应

常数类型
x402SettleResponseType<{ success: boolean; transaction: string; network: string; errorReason?: string or undefined; payer?: string or undefined; extensions?: object or undefined; }, {}>

x402 辅助设备

常数类型
x402SupportedKindType<{ x402Version: 2; scheme: string; network: string; extra?: object or undefined; }, {}>

x402 支持的任意

常数类型
x402SupportedKindAnyType<{ x402Version: 1 or 2; scheme: string; network: string; extra?: object or undefined; }, {}>

x402 支持的答复

常数类型
x402SupportedResponseType<{ kinds: { x402Version: 1 or 2; scheme: string; network: string; extra?: object or undefined; }[]; extensions: string[]; signers: Record<string, string[]>; }, {}>

地址

EVM 六进制地址验证器(40个六进制字符,可选 0x 前缀).

常数类型
AddressType<0x${字符串} (简体中文), {}>

私钥

EVM私人密钥的验证器(64个有0x前缀的六十六字符).

常数类型
PrivateKeyType<0x${字符串} (简体中文), {}>

基地58 地址

索拉纳基础58编码地址验证器.

常数类型
Base58AddressType<string, {}>

索拉纳组合

索拉纳集群名称验证器 .

常数类型
SolanaClusterType<"mainnet-beta" or "devnet" or "testnet", {}>

索拉纳CAIP2网络结构

Solana CAIP-2 网络标识字符串的验证器 .

格式:solana:由起源-hash为底部58-编码.

常数类型
SolanaCAIP2NetworkStringType<string, {}>

接口

获取需求

论据传入主持人的"获得要求"方法.

财产类型说明
accepts{ scheme: string; network: string; amount: string; asset: string; payTo: string; maxTimeoutSeconds: number; extra?: object or undefined; }[]服务器愿意接受的付款要求
resource{ url: string; description?: string or undefined; mimeType?: string or undefined; } or undefined保护内容的可选资源信息

主持人汉德勒

由支付计划促进者实施的Handler接口.

当请求与处理器不符时, 每种方法返回无效 支付计划,允许多个处理者组成.

财产类型说明
capabilitiesHandlerCapabilities or undefined宣布这个处理器能解决什么. 需要用于进程内使用.
schemesstring[] or undefinedx402 处理器可以解决的计划 。 进程内解析需要; 没有它处理器会被中间软件的发件路径跳过 。 与 QQlink 获得支持 } 与 QQlink 不同, 它为调解人存在 /supported HTTP 路由,并可能随每类超时而向远程后端扇出.
getSupported(() => Promise<{ x402Version: 2; scheme: string; network: string; extra?: object or undefined; }>[]) or undefined返回处理器支持的支付方案
getRequirements`(args: Get Requiments Args) − 承诺计划:字符串;净沃

版本与发布记录

@faremeter/types 共发布 32 个版本,首次发布于 2025/07/16;过去 12 个月发布了 12 个版本。

版本发布日期距今
0.22.0latest2026/05/275 个月前
0.21.02026/04/216 个月前
0.20.12026/04/147 个月前
0.20.02026/04/147 个月前
0.19.02026/03/217 个月前
0.18.02026/03/207 个月前

关于 @faremeter/types 的常见问题

@faremeter/types 是什么?

X402 协议和外观生态系统的 TypeScript 类型定义和运行时间验证

如何安装 @faremeter/types?

在项目目录运行 npm install @faremeter/types,或使用 pnpm add / yarn add / bun add。

@faremeter/types 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@faremeter/types 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@faremeter/types 可以商用吗?

@faremeter/types 使用 LGPL-3.0-only 许可。弱 Copyleft:作为库被调用时通常不要求开源你自己的代码,但修改库本身需以 LGPL 开源;前端打包合并后的适用边界存在不同理解。以上为概括,不构成法律意见,请以许可原文为准。

@faremeter/types 的下载量有多少?

根据 npm 官方下载统计,@faremeter/types 在 2026/10/15 – 2026/11/13 这 30 天内被下载 4,988 次,日均约 166 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@faremeter/types 还在维护吗?

最新版本 0.22.0 发布于 2026/05/27(5 个月前);至今共发布 32 个版本,其中过去 12 个月发布了 12 个;首次发布于 2025/07/16。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。