> ## 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.

# Solana Network Info

> Solana cluster, network ID, and SPL token utilities

# solana

## Type Aliases

### KnownCluster

> **KnownCluster** = [`SolanaCluster`](#solanacluster)

Defined in: [packages/info/src/solana.ts:14](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L14)

***

### KnownSPLToken

> **KnownSPLToken** = keyof *typeof* `knownSPLTokens`

Defined in: [packages/info/src/solana.ts:352](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L352)

***

### SolanaCAIP2Network

> **SolanaCAIP2Network** = `object`

Defined in: packages/types/dist/src/solana.d.ts:41

Solana network identifier with associated metadata.

#### Properties

##### caip2

> `readonly` **caip2**: `string`

Defined in: packages/types/dist/src/solana.d.ts:44

##### hash

> `readonly` **hash**: `string`

Defined in: packages/types/dist/src/solana.d.ts:42

##### name?

> `readonly` `optional` **name**: `string`

Defined in: packages/types/dist/src/solana.d.ts:43

***

### SolanaCluster

> **SolanaCluster** = *typeof* `SolanaCluster.infer`

Defined in: packages/types/dist/src/solana.d.ts:16

***

### x402ExactArgs

> **x402ExactArgs** = `object`

Defined in: [packages/info/src/solana.ts:395](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L395)

#### Properties

##### amount

> **amount**: `UnitInput`

Defined in: [packages/info/src/solana.ts:398](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L398)

##### asset

> **asset**: [`KnownSPLToken`](#knownspltoken)

Defined in: [packages/info/src/solana.ts:397](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L397)

##### network

> **network**: [`KnownCluster`](#knowncluster)

Defined in: [packages/info/src/solana.ts:396](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L396)

##### payTo

> **payTo**: `Base58Address`

Defined in: [packages/info/src/solana.ts:399](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L399)

## Variables

### SOLANA\_DEVNET

> `const` **SOLANA\_DEVNET**: [`SolanaCAIP2Network`](#solanacaip2network)

Defined in: [packages/info/src/solana.ts:32](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L32)

***

### SOLANA\_MAINNET\_BETA

> `const` **SOLANA\_MAINNET\_BETA**: [`SolanaCAIP2Network`](#solanacaip2network)

Defined in: [packages/info/src/solana.ts:27](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L27)

***

### SOLANA\_TESTNET

> `const` **SOLANA\_TESTNET**: [`SolanaCAIP2Network`](#solanacaip2network)

Defined in: [packages/info/src/solana.ts:37](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L37)

***

### SolanaCluster

> `const` **SolanaCluster**: `StringType`

Defined in: packages/types/dist/src/solana.d.ts:16

Validator for Solana cluster names.

## Functions

### caip2ToCluster()

> **caip2ToCluster**(`caip2`): `null` | `"mainnet-beta"` | `"devnet"` | `"testnet"`

Defined in: [packages/info/src/solana.ts:109](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L109)

Converts a CAIP-2 network identifier to Solana cluster name.

#### Parameters

##### caip2

`string`

The CAIP-2 network identifier string

#### Returns

`null` | `"mainnet-beta"` | `"devnet"` | `"testnet"`

The cluster name, or null if not a known Solana network

***

### caip2ToLegacyNetworkIds()

> **caip2ToLegacyNetworkIds**(`caip2`): `null` | readonly `string`\[]

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

Converts a CAIP-2 network identifier to legacy Solana network IDs.

#### Parameters

##### caip2

`string`

The CAIP-2 network identifier string

#### Returns

`null` | readonly `string`\[]

Array of legacy network IDs, or null if unknown

***

### clusterToCAIP2()

> **clusterToCAIP2**(`cluster`): [`SolanaCAIP2Network`](#solanacaip2network)

Defined in: [packages/info/src/solana.ts:95](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L95)

Converts a Solana cluster name to a SolanaCAIP2Network object.

#### Parameters

##### cluster

The Solana cluster name

`"mainnet-beta"` | `"devnet"` | `"testnet"`

#### Returns

[`SolanaCAIP2Network`](#solanacaip2network)

The corresponding SolanaCAIP2Network object

#### Throws

Error if the cluster is unknown

***

### createSolanaNetwork()

> **createSolanaNetwork**(`caip2`, `name?`): [`SolanaCAIP2Network`](#solanacaip2network)

Defined in: packages/types/dist/src/solana.d.ts:61

Creates a SolanaCAIP2Network object from a CAIP-2 string.

#### Parameters

##### caip2

`string`

The CAIP-2 network identifier string (e.g., "solana:5eykt...")

##### name?

`string`

Optional display name for the network

#### Returns

[`SolanaCAIP2Network`](#solanacaip2network)

A SolanaCAIP2Network object

#### Throws

Error if the CAIP-2 string is invalid

***

### getV1NetworkIds()

> **getV1NetworkIds**(`cluster`): `string`\[]

Defined in: [packages/info/src/solana.ts:214](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L214)

Gets the v1 legacy network IDs for a Solana cluster.

#### Parameters

##### cluster

The Solana cluster name

`"mainnet-beta"` | `"devnet"` | `"testnet"`

#### Returns

`string`\[]

Array of legacy network IDs for v1 compatibility

***

### isKnownCluster()

> **isKnownCluster**(`c`): c is "mainnet-beta" | "devnet" | "testnet"

Defined in: [packages/info/src/solana.ts:23](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L23)

#### Parameters

##### c

`string`

#### Returns

c is "mainnet-beta" | "devnet" | "testnet"

***

### isKnownSolanaCAIP2Network()

> **isKnownSolanaCAIP2Network**(`n`): `boolean`

Defined in: [packages/info/src/solana.ts:70](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L70)

Type guard that checks if a string is a known Solana CAIP-2 network.

#### Parameters

##### n

`string`

The string to check

#### Returns

`boolean`

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

***

### isKnownSPLToken()

> **isKnownSPLToken**(`splToken`): splToken is "USDC" | "PYUSD" | "USDT" | "USDG" | "USD1" | "USX" | "CASH" | "EURC" | "JupUSD" | "USDS" | "USDtb" | "USDu" | "USDGO" | "FDUSD"

Defined in: [packages/info/src/solana.ts:391](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L391)

Type guard that checks if a string is a known SPL token name.

#### Parameters

##### splToken

`string`

The string to check

#### Returns

splToken is "USDC" | "PYUSD" | "USDT" | "USDG" | "USD1" | "USX" | "CASH" | "EURC" | "JupUSD" | "USDS" | "USDtb" | "USDu" | "USDGO" | "FDUSD"

True if the string is a known SPL token

***

### isSolanaCAIP2Network()

> **isSolanaCAIP2Network**(`maybe`): `maybe is SolanaCAIP2Network`

Defined in: packages/types/dist/src/solana.d.ts:52

Type guard that checks if a value is a SolanaCAIP2Network object.

#### Parameters

##### maybe

`unknown`

The value to check

#### Returns

`maybe is SolanaCAIP2Network`

True if the value is a SolanaCAIP2Network object

***

### isSolanaCAIP2NetworkString()

> **isSolanaCAIP2NetworkString**(`maybe`): `maybe is string`

Defined in: packages/types/dist/src/solana.d.ts:37

Type guard that checks if a value is a valid Solana CAIP-2 network string.

#### Parameters

##### maybe

`unknown`

The value to check

#### Returns

`maybe is string`

True if the value matches the Solana CAIP-2 format

***

### isSolanaCluster()

> **isSolanaCluster**(`maybe`): maybe is "mainnet-beta" | "devnet" | "testnet"

Defined in: packages/types/dist/src/solana.d.ts:24

Type guard that checks if a value is a valid Solana cluster name.

#### Parameters

##### maybe

`unknown`

The value to check

#### Returns

maybe is "mainnet-beta" | "devnet" | "testnet"

True if the value is a known cluster name

***

### legacyNetworkIdToCAIP2()

> **legacyNetworkIdToCAIP2**(`legacy`): `null` | [`SolanaCAIP2Network`](#solanacaip2network)

Defined in: [packages/info/src/solana.ts:123](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L123)

Converts a legacy Solana network ID to a SolanaCAIP2Network object.

#### Parameters

##### legacy

`string`

Legacy network identifier (e.g., "solana-mainnet-beta")

#### Returns

`null` | [`SolanaCAIP2Network`](#solanacaip2network)

The SolanaCAIP2Network object, or null if unknown

***

### lookupKnownSPLToken()

> **lookupKnownSPLToken**(`cluster`, `name`): `undefined` | \{ `address`: `string`; `cluster`: `"mainnet-beta"` | `"devnet"` | `"testnet"`; `name`: `"USDC"` | `"PYUSD"` | `"USDT"` | `"USDG"` | `"USD1"` | `"USX"` | `"CASH"` | `"EURC"` | `"JupUSD"` | `"USDS"` | `"USDtb"` | `"USDu"` | `"USDGO"` | `"FDUSD"`; `toUnit`: (`v`) => `string`; }

Defined in: [packages/info/src/solana.ts:361](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L361)

Looks up SPL token information by cluster and token name.

#### Parameters

##### cluster

The Solana cluster

`"mainnet-beta"` | `"devnet"` | `"testnet"`

##### name

The known SPL token name (e.g., "USDC")

`"USDC"` | `"PYUSD"` | `"USDT"` | `"USDG"` | `"USD1"` | `"USX"` | `"CASH"` | `"EURC"` | `"JupUSD"` | `"USDS"` | `"USDtb"` | `"USDu"` | `"USDGO"` | `"FDUSD"`

#### Returns

`undefined` | \{ `address`: `string`; `cluster`: `"mainnet-beta"` | `"devnet"` | `"testnet"`; `name`: `"USDC"` | `"PYUSD"` | `"USDT"` | `"USDG"` | `"USD1"` | `"USX"` | `"CASH"` | `"EURC"` | `"JupUSD"` | `"USDS"` | `"USDtb"` | `"USDu"` | `"USDGO"` | `"FDUSD"`; `toUnit`: (`v`) => `string`; }

Token information including address, or undefined if not found

***

### lookupX402Network()

> **lookupX402Network**(`network`): [`SolanaCAIP2Network`](#solanacaip2network)

Defined in: [packages/info/src/solana.ts:181](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L181)

Looks up the x402 network identifier for a Solana cluster.

Accepts a cluster name, CAIP-2 identifier string, legacy network ID,
or an existing SolanaCAIP2Network object.

#### Parameters

##### network

Cluster name, CAIP-2 ID, legacy network ID, or SolanaCAIP2Network object

`string` | [`SolanaCAIP2Network`](#solanacaip2network)

#### Returns

[`SolanaCAIP2Network`](#solanacaip2network)

A SolanaCAIP2Network object

#### Throws

Error if the network is unknown or invalid

***

### normalizeNetworkId()

> **normalizeNetworkId**(`network`): `string`

Defined in: [packages/info/src/solana.ts:154](https://github.com/faremeter/faremeter/blob/main/packages/info/src/solana.ts#L154)

Normalizes a Solana network identifier to CAIP-2 format string.

Accepts cluster names, legacy IDs, or CAIP-2 identifiers.
Returns the input unchanged if no mapping exists.

#### Parameters

##### network

`string`

The network identifier in any supported format

#### Returns

`string`

The CAIP-2 network identifier string, or the original string if unrecognized

***

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

Creates x402 exact payment requirements for Solana.

Returns multiple requirements for v1 compatibility (one per legacy network ID).

#### 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`; }>\[]

Array of x402 payment requirements
