diff --git a/go/.changes/unreleased/telos-support.yaml b/go/.changes/unreleased/telos-support.yaml new file mode 100644 index 0000000000..20720fe748 --- /dev/null +++ b/go/.changes/unreleased/telos-support.yaml @@ -0,0 +1,2 @@ +kind: added +body: Add Telos EVM mainnet (chain ID 40) support with USDC.e (Stargate) as the default stablecoin diff --git a/go/mechanisms/evm/constants.go b/go/mechanisms/evm/constants.go index 2c5f5842ae..f16b51282a 100644 --- a/go/mechanisms/evm/constants.go +++ b/go/mechanisms/evm/constants.go @@ -59,6 +59,7 @@ var ( ChainIDBase = big.NewInt(8453) ChainIDBaseSepolia = big.NewInt(84532) ChainIDMegaETH = big.NewInt(4326) + ChainIDTelos = big.NewInt(40) // Network configurations // See DEFAULT_ASSET.md for guidelines on adding new chains @@ -131,6 +132,26 @@ var ( Decimals: 18, }, }, + // Telos EVM Mainnet + "eip155:40": { + ChainID: ChainIDTelos, + DefaultAsset: AssetInfo{ + Address: "0xF1815bd50389c46847f0Bda824eC8da914045D14", // USDC.e (Stargate) - FiatTokenV2 + Name: "Bridged USDC (Stargate)", + Version: "2", + Decimals: DefaultDecimals, + }, + }, + // Telos EVM Mainnet (legacy v1 format) + "telos": { + ChainID: ChainIDTelos, + DefaultAsset: AssetInfo{ + Address: "0xF1815bd50389c46847f0Bda824eC8da914045D14", + Name: "Bridged USDC (Stargate)", + Version: "2", + Decimals: DefaultDecimals, + }, + }, } // EIP-3009 ABI for transferWithAuthorization with v,r,s (EOA signatures) diff --git a/python/x402/changelog.d/telos-support.feature.md b/python/x402/changelog.d/telos-support.feature.md new file mode 100644 index 0000000000..5c3590b259 --- /dev/null +++ b/python/x402/changelog.d/telos-support.feature.md @@ -0,0 +1 @@ +Add Telos EVM mainnet (chain ID 40) support with USDC.e (Stargate) as the default stablecoin diff --git a/python/x402/mechanisms/evm/constants.py b/python/x402/mechanisms/evm/constants.py index cdd76234bf..4e285f2efd 100644 --- a/python/x402/mechanisms/evm/constants.py +++ b/python/x402/mechanisms/evm/constants.py @@ -177,6 +177,24 @@ class NetworkConfig(TypedDict): }, }, }, + # Telos EVM Mainnet + "eip155:40": { + "chain_id": 40, + "default_asset": { + "address": "0xF1815bd50389c46847f0Bda824eC8da914045D14", + "name": "Bridged USDC (Stargate)", + "version": "2", + "decimals": 6, + }, + "supported_assets": { + "USDC.e": { + "address": "0xF1815bd50389c46847f0Bda824eC8da914045D14", + "name": "Bridged USDC (Stargate)", + "version": "2", + "decimals": 6, + }, + }, + }, } # Network aliases (legacy names to CAIP-2) @@ -189,6 +207,7 @@ class NetworkConfig(TypedDict): "polygon": "eip155:137", "avalanche": "eip155:43114", "megaeth": "eip155:4326", + "telos": "eip155:40", } # V1 supported networks (legacy name-based) @@ -209,6 +228,7 @@ class NetworkConfig(TypedDict): "educhain", "skale-base-sepolia", "megaeth", + "telos", ] # V1 network name to chain ID mapping @@ -230,6 +250,7 @@ class NetworkConfig(TypedDict): "educhain": 656476, "skale-base-sepolia": 1444673419, "megaeth": 4326, + "telos": 40, } # EIP-3009 ABIs diff --git a/typescript/.changeset/add-telos-support.md b/typescript/.changeset/add-telos-support.md new file mode 100644 index 0000000000..7e66d8d94d --- /dev/null +++ b/typescript/.changeset/add-telos-support.md @@ -0,0 +1,5 @@ +--- +"@x402/evm": minor +--- + +Add Telos EVM mainnet (chain ID 40) support with USDC.e (Stargate) as the default stablecoin diff --git a/typescript/packages/mechanisms/evm/src/exact/server/scheme.ts b/typescript/packages/mechanisms/evm/src/exact/server/scheme.ts index e81c1bf120..7456b640f4 100644 --- a/typescript/packages/mechanisms/evm/src/exact/server/scheme.ts +++ b/typescript/packages/mechanisms/evm/src/exact/server/scheme.ts @@ -207,6 +207,12 @@ export class ExactEvmScheme implements SchemeNetworkServer { version: "1", decimals: 18, }, // MegaETH mainnet USDM + "eip155:40": { + address: "0xF1815bd50389c46847f0Bda824eC8da914045D14", + name: "Bridged USDC (Stargate)", + version: "2", + decimals: 6, + }, // Telos EVM mainnet USDC.e }; const assetInfo = stablecoins[network]; diff --git a/typescript/packages/mechanisms/evm/src/v1/index.ts b/typescript/packages/mechanisms/evm/src/v1/index.ts index 1d1012a7e0..7a6d4891d2 100644 --- a/typescript/packages/mechanisms/evm/src/v1/index.ts +++ b/typescript/packages/mechanisms/evm/src/v1/index.ts @@ -19,6 +19,7 @@ export const EVM_NETWORK_CHAIN_ID_MAP = { educhain: 41923, "skale-base-sepolia": 324705682, megaeth: 4326, + telos: 40, } as const; export type EvmNetworkV1 = keyof typeof EVM_NETWORK_CHAIN_ID_MAP;