跳到主要内容

Capabilities(公开能力)

使用 Capability 资源查询平台提供的结算代币与可支付路由(费率、限额、跨链 等字段)。all() 请求发往 公开 base URL(publicBaseUrl),且不会携带 Authorization 头。你仍需在 GStableClient 上传入 apiKey,以便其他私有接口正常工作。

访问能力 API​

在 GStableClient 上调用 client.capability.all()。方法本身无参数。

错误处理​

公开能力接口在 HTTP 失败、信封无效或 API 返回错误 code 时,仍会抛出 GStableError(及子类)。

import { GStableClient, GStableError } from 'gstable-js';

const client = new GStableClient({ apiKey: process.env.GSTABLE_API_KEY! });

try {
const caps = await client.capability.all();
console.log(caps.supportedTokens.length);
} catch (error) {
if (error instanceof GStableError) {
console.error(`GStable error [${error.code}]: ${error.message}`);
}
}

TypeScript 类型​

描述 all() 返回的公开能力矩阵,可从包根路径导入。

核心类型

  • PaymentCapabilities — 顶层响应:supportedTokens 与嵌套的 paymentCapabilities 映射。
  • SupportedToken — 代币元数据(tokenId、symbol、chainId、decimals 等,以 API 为准)。
  • PaymentCapabilitiesMatrix — 结算代币 id → 路由分组 → 路由行。
  • PaymentCapabilityRoute — 单条可支付路由(feeRatePPM、minPaymentValue、maxPaymentValue、crosschain 等,以 API 为准)。
import type {
PaymentCapabilities,
SupportedToken,
PaymentCapabilitiesMatrix,
PaymentCapabilityRoute,
} from 'gstable-js';

all​

返回支持的结算代币与可支付路由矩阵(费率、限额、跨链标志等)。

client.capability.all()

参数​

名称类型必填说明
———无方法参数。GStableClient 构造函数仍需 apiKey 供其他资源使用。

返回值​

Promise<PaymentCapabilities> — 响应结构:

  • supportedTokens:SupportedToken[](tokenId、symbol、chainId、decimals)。
  • paymentCapabilities:PaymentCapabilitiesMatrix — 嵌套映射 **结算代币 id → 路由分组 → **PaymentCapabilityRoute[]****(feeRatePPM、minPaymentValue、maxPaymentValue、crosschain 等)。

示例​

import { GStableClient } from 'gstable-js';

const client = new GStableClient({ apiKey: process.env.GSTABLE_API_KEY! });

const caps = await client.capability.all();
console.log(caps.supportedTokens.length);

const settlementTokenId = 'polygon::usdc';
const routesByGroup = caps.paymentCapabilities[settlementTokenId];
if (routesByGroup) {
console.log(Object.keys(routesByGroup));
}