Skip to main content
Faremeter API
Faremeter API / info/src / evm

evm

Type Aliases

AssetNameOrContractInfo

AssetNameOrContractInfo = string | ContractInfo
Defined in: packages/info/src/evm.ts:234

CAIP2Network

CAIP2Network = keyof KnownX402Networks
Defined in: packages/info/src/evm.ts:18

ContractInfo

ContractInfo = object
Defined in: packages/info/src/evm.ts:137

Properties

address
address: Address
Defined in: packages/info/src/evm.ts:138
contractName
contractName: string
Defined in: packages/info/src/evm.ts:139
forwarder?
optional forwarder: Address
Defined in: packages/info/src/evm.ts:140
forwarderName?
optional forwarderName: string
Defined in: packages/info/src/evm.ts:141
forwarderVersion?
optional forwarderVersion: string
Defined in: packages/info/src/evm.ts:142

KnownAsset

KnownAsset = keyof typeof knownAssets
Defined in: packages/info/src/evm.ts:193

LegacyNetworkName

LegacyNetworkName = KnownX402Networks[CAIP2Network]["legacyName"]
Defined in: packages/info/src/evm.ts:19

x402ExactArgs

x402ExactArgs = object
Defined in: packages/info/src/evm.ts:272

Properties

amount
amount: UnitInput
Defined in: packages/info/src/evm.ts:275
asset
asset: KnownAsset
Defined in: packages/info/src/evm.ts:274
network
network: string | number
Defined in: packages/info/src/evm.ts:273
payTo
payTo: Address
Defined in: packages/info/src/evm.ts:276

Functions

caip2ToChainId()

caip2ToChainId(caip2): null | number
Defined in: packages/info/src/evm.ts:44 Extracts the EVM chain ID from a CAIP-2 network identifier.

Parameters

caip2
string The CAIP-2 network identifier

Returns

null | number The chain ID, or null if not a valid eip155 identifier

caip2ToLegacyName()

caip2ToLegacyName(caip2): null | string
Defined in: packages/info/src/evm.ts:68 Converts a CAIP-2 network identifier to legacy EVM network name.

Parameters

caip2
string The CAIP-2 network identifier

Returns

null | string The legacy network name, or null if unknown

chainIdToCAIP2()

chainIdToCAIP2(chainId): string
Defined in: packages/info/src/evm.ts:34 Converts an EVM chain ID to CAIP-2 network identifier.

Parameters

chainId
number The EVM chain ID

Returns

string The CAIP-2 network identifier (eip155:chainId)

findAssetInfo()

findAssetInfo(network, assetNameOrInfo): ContractInfo
Defined in: packages/info/src/evm.ts:244 Finds asset information by network and asset name or contract info.

Parameters

network
The network identifier string | number
assetNameOrInfo
AssetNameOrContractInfo Asset name (e.g., “USDC”) or direct ContractInfo

Returns

ContractInfo Contract information for the asset

Throws

Error if the asset is unknown or not found on the network

isKnownAsset()

isKnownAsset(asset): asset is "USDC"
Defined in: packages/info/src/evm.ts:230 Type guard that checks if a string is a known EVM asset name.

Parameters

asset
string The string to check

Returns

asset is "USDC" True if the string is a known asset name

isKnownCAIP2Network()

isKnownCAIP2Network(n): n is “eip155:8453” | “eip155:84532” | “eip155:1444673419” | “eip155:137” | “eip155:80002” | “eip155:143” | “eip155:10143”
Defined in: packages/info/src/evm.ts:110 Type guard that checks if a string is a known EVM CAIP-2 network.

Parameters

n
string The string to check

Returns

n is “eip155:8453” | “eip155:84532” | “eip155:1444673419” | “eip155:137” | “eip155:80002” | “eip155:143” | “eip155:10143” True if the string is a known EVM CAIP-2 network identifier

legacyNameToCAIP2()

legacyNameToCAIP2(legacy): null | string
Defined in: packages/info/src/evm.ts:58 Converts a legacy EVM network name to CAIP-2 format.

Parameters

legacy
string Legacy network name (e.g., “base”, “polygon”)

Returns

null | string The CAIP-2 network identifier, or null if unknown

lookupKnownAsset()

lookupKnownAsset(network, name): undefined | { address: `0x${string}`; contractName: string; forwarder?: `0x${string}`; forwarderName?: string; forwarderVersion?: string; name: "USDC"; network: string; toUnit: (v) => string; }
Defined in: packages/info/src/evm.ts:202 Looks up asset information by network and asset name.

Parameters

network
The network identifier (chain ID, CAIP-2, or legacy name) string | number
name
"USDC" The known asset name (e.g., “USDC”)

Returns

undefined | { address: `0x${string}`; contractName: string; forwarder?: `0x${string}`; forwarderName?: string; forwarderVersion?: string; name: "USDC"; network: string; toUnit: (v) => string; } Asset information including contract address, or undefined if not found

lookupKnownCAIP2Network()

lookupKnownCAIP2Network(n): { caip2: "eip155:8453" | "eip155:84532" | "eip155:1444673419" | "eip155:137" | "eip155:80002" | "eip155:143" | "eip155:10143"; chainId: 8453; legacyName: "base"; } | { caip2: "eip155:8453" | "eip155:84532" | "eip155:1444673419" | "eip155:137" | "eip155:80002" | "eip155:143" | "eip155:10143"; chainId: 84532; legacyName: "base-sepolia"; } | { caip2: "eip155:8453" | "eip155:84532" | "eip155:1444673419" | "eip155:137" | "eip155:80002" | "eip155:143" | "eip155:10143"; chainId: 1444673419; legacyName: "skale-europa-testnet"; } | { caip2: "eip155:8453" | "eip155:84532" | "eip155:1444673419" | "eip155:137" | "eip155:80002" | "eip155:143" | "eip155:10143"; chainId: 137; legacyName: "polygon"; } | { caip2: "eip155:8453" | "eip155:84532" | "eip155:1444673419" | "eip155:137" | "eip155:80002" | "eip155:143" | "eip155:10143"; chainId: 80002; legacyName: "polygon-amoy"; } | { caip2: "eip155:8453" | "eip155:84532" | "eip155:1444673419" | "eip155:137" | "eip155:80002" | "eip155:143" | "eip155:10143"; chainId: 143; legacyName: "monad"; } | { caip2: "eip155:8453" | "eip155:84532" | "eip155:1444673419" | "eip155:137" | "eip155:80002" | "eip155:143" | "eip155:10143"; chainId: 10143; legacyName: "monad-testnet"; }
Defined in: packages/info/src/evm.ts:120 Looks up network information by CAIP-2 identifier.

Parameters

n
The CAIP-2 network identifier "eip155:8453" | "eip155:84532" | "eip155:1444673419" | "eip155:137" | "eip155:80002" | "eip155:143" | "eip155:10143"

Returns

{ caip2: "eip155:8453" | "eip155:84532" | "eip155:1444673419" | "eip155:137" | "eip155:80002" | "eip155:143" | "eip155:10143"; chainId: 8453; legacyName: "base"; } | { caip2: "eip155:8453" | "eip155:84532" | "eip155:1444673419" | "eip155:137" | "eip155:80002" | "eip155:143" | "eip155:10143"; chainId: 84532; legacyName: "base-sepolia"; } | { caip2: "eip155:8453" | "eip155:84532" | "eip155:1444673419" | "eip155:137" | "eip155:80002" | "eip155:143" | "eip155:10143"; chainId: 1444673419; legacyName: "skale-europa-testnet"; } | { caip2: "eip155:8453" | "eip155:84532" | "eip155:1444673419" | "eip155:137" | "eip155:80002" | "eip155:143" | "eip155:10143"; chainId: 137; legacyName: "polygon"; } | { caip2: "eip155:8453" | "eip155:84532" | "eip155:1444673419" | "eip155:137" | "eip155:80002" | "eip155:143" | "eip155:10143"; chainId: 80002; legacyName: "polygon-amoy"; } | { caip2: "eip155:8453" | "eip155:84532" | "eip155:1444673419" | "eip155:137" | "eip155:80002" | "eip155:143" | "eip155:10143"; chainId: 143; legacyName: "monad"; } | { caip2: "eip155:8453" | "eip155:84532" | "eip155:1444673419" | "eip155:137" | "eip155:80002" | "eip155:143" | "eip155:10143"; chainId: 10143; legacyName: "monad-testnet"; } Network information including legacy name and chain ID

lookupX402Network()

lookupX402Network(chainId): string
Defined in: packages/info/src/evm.ts:133 Looks up the x402 network identifier for an EVM chain ID.

Parameters

chainId
number The EVM chain ID

Returns

string The CAIP-2 network identifier

normalizeNetworkId()

normalizeNetworkId(network): string
Defined in: packages/info/src/evm.ts:82 Normalizes an EVM network identifier to CAIP-2 format. Accepts chain IDs (number or string), legacy names, or CAIP-2 identifiers. Returns the input unchanged if no mapping exists.

Parameters

network
The network identifier in any supported format string | number

Returns

string The CAIP-2 network identifier

x402Exact()

x402Exact(args): Partial<{ asset: string; description: string; extra?: object; maxAmountRequired: string; maxTimeoutSeconds: number; mimeType?: string; network: string; outputSchema?: object; payTo: string; resource: string; scheme: string; }>
Defined in: packages/info/src/evm.ts:285 Creates x402 exact payment requirements for EVM.

Parameters

args
x402ExactArgs Payment configuration including network, asset, amount, and payTo

Returns

Partial<{ asset: string; description: string; extra?: object; maxAmountRequired: string; maxTimeoutSeconds: number; mimeType?: string; network: string; outputSchema?: object; payTo: string; resource: string; scheme: string; }> x402 payment requirement for the exact scheme