> ## Documentation Index
> Fetch the complete documentation index at: https://docs.faremeter.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# EVM Network Info

> EVM chain ID, CAIP-2, and ERC-20 token utilities

# evm

## Type Aliases

### AssetNameOrContractInfo

> **AssetNameOrContractInfo** = `string` | [`ContractInfo`](#contractinfo)

Defined in: [packages/info/src/evm.ts:244](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L244)

***

### CAIP2Network

> **CAIP2Network** = keyof `KnownX402Networks`

Defined in: [packages/info/src/evm.ts:20](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L20)

***

### ContractInfo

> **ContractInfo** = `object`

Defined in: [packages/info/src/evm.ts:139](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L139)

#### Properties

##### address

> **address**: `Address`

Defined in: [packages/info/src/evm.ts:140](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L140)

##### contractName

> **contractName**: `string`

Defined in: [packages/info/src/evm.ts:141](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L141)

##### forwarder?

> `optional` **forwarder**: `Address`

Defined in: [packages/info/src/evm.ts:142](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L142)

##### forwarderName?

> `optional` **forwarderName**: `string`

Defined in: [packages/info/src/evm.ts:143](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L143)

##### forwarderVersion?

> `optional` **forwarderVersion**: `string`

Defined in: [packages/info/src/evm.ts:144](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L144)

***

### KnownAsset

> **KnownAsset** = keyof *typeof* `knownAssets`

Defined in: [packages/info/src/evm.ts:203](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L203)

***

### LegacyNetworkName

> **LegacyNetworkName** = `KnownX402Networks`\[[`CAIP2Network`](#caip2network)]\[`"legacyName"`]

Defined in: [packages/info/src/evm.ts:21](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L21)

***

### x402ExactArgs

> **x402ExactArgs** = `object`

Defined in: [packages/info/src/evm.ts:282](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L282)

#### Properties

##### amount

> **amount**: `UnitInput`

Defined in: [packages/info/src/evm.ts:285](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L285)

##### asset

> **asset**: [`KnownAsset`](#knownasset)

Defined in: [packages/info/src/evm.ts:284](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L284)

##### network

> **network**: `string` | `number`

Defined in: [packages/info/src/evm.ts:283](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L283)

##### payTo

> **payTo**: `Address`

Defined in: [packages/info/src/evm.ts:286](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L286)

## Functions

### caip2ToChainId()

> **caip2ToChainId**(`caip2`): `null` | `number`

Defined in: [packages/info/src/evm.ts:46](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L46)

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:70](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L70)

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:36](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L36)

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`](#contractinfo)

Defined in: [packages/info/src/evm.ts:254](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L254)

Finds asset information by network and asset name or contract info.

#### Parameters

##### network

The network identifier

`string` | `number`

##### assetNameOrInfo

[`AssetNameOrContractInfo`](#assetnameorcontractinfo)

Asset name (e.g., "USDC") or direct ContractInfo

#### Returns

[`ContractInfo`](#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:240](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L240)

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" | "eip155:324705682" | "eip155:1187947933"

Defined in: [packages/info/src/evm.ts:112](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L112)

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" | "eip155:324705682" | "eip155:1187947933"

True if the string is a known EVM CAIP-2 network identifier

***

### legacyNameToCAIP2()

> **legacyNameToCAIP2**(`legacy`): `null` | `string`

Defined in: [packages/info/src/evm.ts:60](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L60)

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:212](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L212)

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"` | `"eip155:324705682"` | `"eip155:1187947933"`; `chainId`: `8453`; `legacyName`: `"base"`; } | \{ `caip2`: `"eip155:8453"` | `"eip155:84532"` | `"eip155:1444673419"` | `"eip155:137"` | `"eip155:80002"` | `"eip155:143"` | `"eip155:10143"` | `"eip155:324705682"` | `"eip155:1187947933"`; `chainId`: `84532`; `legacyName`: `"base-sepolia"`; } | \{ `caip2`: `"eip155:8453"` | `"eip155:84532"` | `"eip155:1444673419"` | `"eip155:137"` | `"eip155:80002"` | `"eip155:143"` | `"eip155:10143"` | `"eip155:324705682"` | `"eip155:1187947933"`; `chainId`: `1444673419`; `legacyName`: `"skale-europa-testnet"`; } | \{ `caip2`: `"eip155:8453"` | `"eip155:84532"` | `"eip155:1444673419"` | `"eip155:137"` | `"eip155:80002"` | `"eip155:143"` | `"eip155:10143"` | `"eip155:324705682"` | `"eip155:1187947933"`; `chainId`: `137`; `legacyName`: `"polygon"`; } | \{ `caip2`: `"eip155:8453"` | `"eip155:84532"` | `"eip155:1444673419"` | `"eip155:137"` | `"eip155:80002"` | `"eip155:143"` | `"eip155:10143"` | `"eip155:324705682"` | `"eip155:1187947933"`; `chainId`: `80002`; `legacyName`: `"polygon-amoy"`; } | \{ `caip2`: `"eip155:8453"` | `"eip155:84532"` | `"eip155:1444673419"` | `"eip155:137"` | `"eip155:80002"` | `"eip155:143"` | `"eip155:10143"` | `"eip155:324705682"` | `"eip155:1187947933"`; `chainId`: `143`; `legacyName`: `"monad"`; } | \{ `caip2`: `"eip155:8453"` | `"eip155:84532"` | `"eip155:1444673419"` | `"eip155:137"` | `"eip155:80002"` | `"eip155:143"` | `"eip155:10143"` | `"eip155:324705682"` | `"eip155:1187947933"`; `chainId`: `10143`; `legacyName`: `"monad-testnet"`; } | \{ `caip2`: `"eip155:8453"` | `"eip155:84532"` | `"eip155:1444673419"` | `"eip155:137"` | `"eip155:80002"` | `"eip155:143"` | `"eip155:10143"` | `"eip155:324705682"` | `"eip155:1187947933"`; `chainId`: `324705682`; `legacyName`: `"skale-base-sepolia"`; } | \{ `caip2`: `"eip155:8453"` | `"eip155:84532"` | `"eip155:1444673419"` | `"eip155:137"` | `"eip155:80002"` | `"eip155:143"` | `"eip155:10143"` | `"eip155:324705682"` | `"eip155:1187947933"`; `chainId`: `1187947933`; `legacyName`: `"skale-base"`; }

Defined in: [packages/info/src/evm.ts:122](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L122)

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"` | `"eip155:324705682"` | `"eip155:1187947933"`

#### Returns

\{ `caip2`: `"eip155:8453"` | `"eip155:84532"` | `"eip155:1444673419"` | `"eip155:137"` | `"eip155:80002"` | `"eip155:143"` | `"eip155:10143"` | `"eip155:324705682"` | `"eip155:1187947933"`; `chainId`: `8453`; `legacyName`: `"base"`; } | \{ `caip2`: `"eip155:8453"` | `"eip155:84532"` | `"eip155:1444673419"` | `"eip155:137"` | `"eip155:80002"` | `"eip155:143"` | `"eip155:10143"` | `"eip155:324705682"` | `"eip155:1187947933"`; `chainId`: `84532`; `legacyName`: `"base-sepolia"`; } | \{ `caip2`: `"eip155:8453"` | `"eip155:84532"` | `"eip155:1444673419"` | `"eip155:137"` | `"eip155:80002"` | `"eip155:143"` | `"eip155:10143"` | `"eip155:324705682"` | `"eip155:1187947933"`; `chainId`: `1444673419`; `legacyName`: `"skale-europa-testnet"`; } | \{ `caip2`: `"eip155:8453"` | `"eip155:84532"` | `"eip155:1444673419"` | `"eip155:137"` | `"eip155:80002"` | `"eip155:143"` | `"eip155:10143"` | `"eip155:324705682"` | `"eip155:1187947933"`; `chainId`: `137`; `legacyName`: `"polygon"`; } | \{ `caip2`: `"eip155:8453"` | `"eip155:84532"` | `"eip155:1444673419"` | `"eip155:137"` | `"eip155:80002"` | `"eip155:143"` | `"eip155:10143"` | `"eip155:324705682"` | `"eip155:1187947933"`; `chainId`: `80002`; `legacyName`: `"polygon-amoy"`; } | \{ `caip2`: `"eip155:8453"` | `"eip155:84532"` | `"eip155:1444673419"` | `"eip155:137"` | `"eip155:80002"` | `"eip155:143"` | `"eip155:10143"` | `"eip155:324705682"` | `"eip155:1187947933"`; `chainId`: `143`; `legacyName`: `"monad"`; } | \{ `caip2`: `"eip155:8453"` | `"eip155:84532"` | `"eip155:1444673419"` | `"eip155:137"` | `"eip155:80002"` | `"eip155:143"` | `"eip155:10143"` | `"eip155:324705682"` | `"eip155:1187947933"`; `chainId`: `10143`; `legacyName`: `"monad-testnet"`; } | \{ `caip2`: `"eip155:8453"` | `"eip155:84532"` | `"eip155:1444673419"` | `"eip155:137"` | `"eip155:80002"` | `"eip155:143"` | `"eip155:10143"` | `"eip155:324705682"` | `"eip155:1187947933"`; `chainId`: `324705682`; `legacyName`: `"skale-base-sepolia"`; } | \{ `caip2`: `"eip155:8453"` | `"eip155:84532"` | `"eip155:1444673419"` | `"eip155:137"` | `"eip155:80002"` | `"eip155:143"` | `"eip155:10143"` | `"eip155:324705682"` | `"eip155:1187947933"`; `chainId`: `1187947933`; `legacyName`: `"skale-base"`; }

Network information including legacy name and chain ID

***

### lookupX402Network()

> **lookupX402Network**(`chainId`): `string`

Defined in: [packages/info/src/evm.ts:135](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L135)

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:84](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L84)

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:295](https://github.com/faremeter/faremeter/blob/main/packages/info/src/evm.ts#L295)

Creates x402 exact payment requirements for EVM.

#### Parameters

##### args

[`x402ExactArgs`](#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


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.