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

solana

Type Aliases

KnownCluster

KnownCluster = typeof knownClusters[number]
Defined in: packages/info/src/solana.ts:5

KnownSPLToken

KnownSPLToken = keyof typeof knownSPLTokens
Defined in: packages/info/src/solana.ts:191

SolanaCAIP2Network

SolanaCAIP2Network = keyof KnownSolanaNetworks
Defined in: packages/info/src/solana.ts:33

x402ExactArgs

x402ExactArgs = object
Defined in: packages/info/src/solana.ts:234

Properties

amount
amount: UnitInput
Defined in: packages/info/src/solana.ts:237
asset
asset: KnownSPLToken
Defined in: packages/info/src/solana.ts:236
network
network: KnownCluster
Defined in: packages/info/src/solana.ts:235
payTo
payTo: Base58Address
Defined in: packages/info/src/solana.ts:238

xSolanaSettlementArgs

xSolanaSettlementArgs = object
Defined in: packages/info/src/solana.ts:272

Properties

amount
amount: UnitInput
Defined in: packages/info/src/solana.ts:275
asset
asset: KnownSPLToken | "sol"
Defined in: packages/info/src/solana.ts:274
network
network: KnownCluster
Defined in: packages/info/src/solana.ts:273
payTo
payTo: Base58Address
Defined in: packages/info/src/solana.ts:276

Functions

caip2ToCluster()

caip2ToCluster(caip2): null | "devnet" | "testnet" | "mainnet-beta"
Defined in: packages/info/src/solana.ts:70 Converts a CAIP-2 network identifier to Solana cluster name.

Parameters

caip2
string The CAIP-2 network identifier

Returns

null | "devnet" | "testnet" | "mainnet-beta" The cluster name, or null if not a known Solana network

caip2ToLegacyNetworkIds()

caip2ToLegacyNetworkIds(caip2): null | readonly string[]
Defined in: packages/info/src/solana.ts:93 Converts a CAIP-2 network identifier to legacy Solana network IDs.

Parameters

caip2
string The CAIP-2 network identifier

Returns

null | readonly string[] Array of legacy network IDs, or null if unknown

clusterToCAIP2()

clusterToCAIP2(cluster): "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" | "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1" | "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z"
Defined in: packages/info/src/solana.ts:56 Converts a Solana cluster name to CAIP-2 network identifier.

Parameters

cluster
The Solana cluster name "devnet" | "testnet" | "mainnet-beta"

Returns

"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" | "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1" | "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z" The corresponding CAIP-2 network identifier

Throws

Error if the cluster is unknown

getV1NetworkIds()

getV1NetworkIds(cluster): string[]
Defined in: packages/info/src/solana.ts:166 Gets the v1 legacy network IDs for a Solana cluster.

Parameters

cluster
The Solana cluster name "devnet" | "testnet" | "mainnet-beta"

Returns

string[] Array of legacy network IDs for v1 compatibility

isKnownCluster()

isKnownCluster(c): c is “devnet” | “testnet” | “mainnet-beta”
Defined in: packages/info/src/solana.ts:13 Type guard that checks if a string is a known Solana cluster name.

Parameters

c
string The string to check

Returns

c is “devnet” | “testnet” | “mainnet-beta” True if the string is a known cluster (devnet, testnet, mainnet-beta)

isKnownSolanaCAIP2Network()

isKnownSolanaCAIP2Network(n): n is “solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp” | “solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1” | “solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z”
Defined in: packages/info/src/solana.ts:132 Type guard that checks if a string is a known Solana CAIP-2 network.

Parameters

n
string The string to check

Returns

n is “solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp” | “solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1” | “solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z” True if the string is a known Solana CAIP-2 network identifier

isKnownSPLToken()

isKnownSPLToken(splToken): splToken is "USDC"
Defined in: packages/info/src/solana.ts:230 Type guard that checks if a string is a known SPL token name.

Parameters

splToken
string The string to check

Returns

splToken is "USDC" True if the string is a known SPL token

legacyNetworkIdToCAIP2()

legacyNetworkIdToCAIP2(legacy): null | "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" | "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1" | "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z"
Defined in: packages/info/src/solana.ts:81 Converts a legacy Solana network ID to CAIP-2 format.

Parameters

legacy
string Legacy network identifier (e.g., “solana-mainnet-beta”)

Returns

null | "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" | "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1" | "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z" The CAIP-2 network identifier, or null if unknown

lookupKnownSPLToken()

lookupKnownSPLToken(cluster, name): undefined | { address: string; cluster: "devnet" | "testnet" | "mainnet-beta"; name: "USDC"; toUnit: (v) => string; }
Defined in: packages/info/src/solana.ts:200 Looks up SPL token information by cluster and token name.

Parameters

cluster
The Solana cluster "devnet" | "testnet" | "mainnet-beta"
name
"USDC" The known SPL token name (e.g., “USDC”)

Returns

undefined | { address: string; cluster: "devnet" | "testnet" | "mainnet-beta"; name: "USDC"; toUnit: (v) => string; } Token information including address, or undefined if not found

lookupX402Network()

lookupX402Network(cluster): string
Defined in: packages/info/src/solana.ts:143 Looks up the x402 network identifier for a Solana cluster.

Parameters

cluster
string Cluster name, CAIP-2 ID, or legacy network ID

Returns

string The CAIP-2 network identifier

Throws

Error if the network is unknown

normalizeNetworkId()

normalizeNetworkId(network): string
Defined in: packages/info/src/solana.ts:109 Normalizes a Solana network identifier to CAIP-2 format. 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

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:249 Creates x402 exact payment requirements for Solana. Returns multiple requirements for v1 compatibility (one per legacy network ID).

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; }>[] Array of x402 payment requirements

xSolanaSettlement()

xSolanaSettlement(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:287 Creates x-solana-settlement payment requirements. Supports both SPL tokens and native SOL.

Parameters

args
xSolanaSettlementArgs 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 settlement scheme