From daa6b31ef0edf1c9ac3ea604f267a76b74cdad25 Mon Sep 17 00:00:00 2001 From: Grace Fletcher Date: Fri, 31 Oct 2025 09:13:32 -0700 Subject: [PATCH 1/7] pre work for bittensor --- public/assets/chains/bittensor.svg | 5 +++ .../QuickLinks/data/productChainLinks.ts | 1 + src/config/data/ccip/selectors.yml | 21 ++++++++++++ src/config/data/chain-to-technology.json | 3 +- src/config/data/chains.json | 19 +++++++++++ src/config/types.ts | 2 ++ src/config/web3Providers.ts | 1 + src/features/utils/index.ts | 4 +++ src/scripts/reference/chains.json | 34 +++++++++++++++++++ src/scripts/reference/linkNameSymbol.json | 4 +++ 10 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 public/assets/chains/bittensor.svg diff --git a/public/assets/chains/bittensor.svg b/public/assets/chains/bittensor.svg new file mode 100644 index 00000000000..c28bbc1d9fb --- /dev/null +++ b/public/assets/chains/bittensor.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/components/QuickLinks/data/productChainLinks.ts b/src/components/QuickLinks/data/productChainLinks.ts index aa11076dd77..062d6d4c8f2 100644 --- a/src/components/QuickLinks/data/productChainLinks.ts +++ b/src/components/QuickLinks/data/productChainLinks.ts @@ -393,4 +393,5 @@ export const chainNames: Record = { jovay: "Jovay", memento: "Memento", xdc: "XDC", + bittensor: "BITTENSOR", } diff --git a/src/config/data/ccip/selectors.yml b/src/config/data/ccip/selectors.yml index 636acc93118..71fbdd29a59 100644 --- a/src/config/data/ccip/selectors.yml +++ b/src/config/data/ccip/selectors.yml @@ -162,6 +162,9 @@ selectors: 16601: selector: "2131427466778448014" name: "0g-testnet-galileo" + 16602: + selector: "6892437333620424805" + name: "0g-testnet-galileo-1" 33111: selector: "9900119385908781505" name: "apechain-testnet-curtis" @@ -394,6 +397,21 @@ selectors: 6398: selector: "379340054879810246" name: "everclear-testnet-sepolia" + 1952: + selector: "10212741611335999305" + name: "xlayer-testnet" + 560048: + selector: "10380998176179737091" + name: "ethereum-testnet-hoodi" + 11142220: + selector: "3761762704474186180" + name: "celo-sepolia" + 167012: + selector: "9873759436596923887" + name: "ethereum-testnet-hoodi-taiko" + 26888: + selector: "7051849327615092843" + name: "ab-testnet" # Mainnets 1: @@ -713,3 +731,6 @@ selectors: 25327: selector: "9723842205701363942" name: "everclear-mainnet" + 36888: + selector: "4829375610284793157" + name: "ab-mainnet" diff --git a/src/config/data/chain-to-technology.json b/src/config/data/chain-to-technology.json index 36873be71f7..238390f4b39 100644 --- a/src/config/data/chain-to-technology.json +++ b/src/config/data/chain-to-technology.json @@ -151,5 +151,6 @@ "MEMENTO_MAINNET": "MEMENTO", "MEMENTO_TESTNET": "MEMENTO", "XDC_MAINNET": "XDC", - "XDC_TESTNET": "XDC" + "XDC_TESTNET": "XDC", + "BITTENSOR_MAINET": "BITTENSOR" } diff --git a/src/config/data/chains.json b/src/config/data/chains.json index 1d52a9af801..994ad34f369 100644 --- a/src/config/data/chains.json +++ b/src/config/data/chains.json @@ -2407,5 +2407,24 @@ } } } + }, + "Bittensor": { + "title": "Bittensor EVM", + "icon": "/assets/chains/bittensor.svg", + "chainType": "evm", + "chains": { + "BITTENSOR_MAINNET": { + "chainId": 964, + "title": "Bittensor EVM", + "explorer": { + "baseUrl": "https://taostats.io/" + }, + "nativeCurrency": { + "name": "TAO", + "symbol": "TAO", + "decimals": 18 + } + } + } } } diff --git a/src/config/types.ts b/src/config/types.ts index 87e76a21ce4..7f14b29a6e1 100644 --- a/src/config/types.ts +++ b/src/config/types.ts @@ -72,6 +72,7 @@ export type SupportedTechnology = | "PLASMA" | "MEMENTO" | "XDC" + | "BITTENSOR" export type ChainType = "evm" | "solana" | "aptos" | "sui" @@ -231,6 +232,7 @@ export type SupportedChain = | "MEMENTO_TESTNET" | "XDC_MAINNET" | "XDC_TESTNET" + | "BITTENSOR_MAINNET" export type ExplorerInfo = { baseUrl: string queryParameters?: { diff --git a/src/config/web3Providers.ts b/src/config/web3Providers.ts index ae4e49bbf13..b3c8fafc639 100644 --- a/src/config/web3Providers.ts +++ b/src/config/web3Providers.ts @@ -158,6 +158,7 @@ export const chainToProvider: Record Provider> = { MEMENTO_TESTNET: () => new JsonRpcProvider("https://testnet-rpc.mementoblockchain.com"), XDC_MAINNET: () => new JsonRpcProvider("https://erpc.xinfin.network"), XDC_TESTNET: () => new JsonRpcProvider("https://rpc.apothem.network/"), + BITTENSOR_MAINNET: () => new JsonRpcProvider("ttps://lite.chain.opentensor.ai"), } export const getRpcUrlForChain = (chain: SupportedChain): string => { diff --git a/src/features/utils/index.ts b/src/features/utils/index.ts index 81724093b9b..d7291d42dee 100644 --- a/src/features/utils/index.ts +++ b/src/features/utils/index.ts @@ -505,6 +505,8 @@ export const directoryToSupportedChain = (chainInRdd: string): SupportedChain => return "XDC_MAINNET" case "xdc-testnet": return "XDC_TESTNET" + case "bittensor-mainnet": + return "BITTENSOR_MAINNET" default: throw Error(`Chain not found ${chainInRdd}`) } @@ -806,6 +808,8 @@ export const supportedChainToChainInRdd = (supportedChain: SupportedChain): stri return "xdc-mainnet" case "XDC_TESTNET": return "xdc-testnet" + case "BITTENSOR_MAINNET": + return "bittensor-mainnet" default: throw Error(`Chain not found ${supportedChain}`) } diff --git a/src/scripts/reference/chains.json b/src/scripts/reference/chains.json index 39f0b71fc26..36faeceebc5 100644 --- a/src/scripts/reference/chains.json +++ b/src/scripts/reference/chains.json @@ -809,6 +809,40 @@ ], "parent": { "type": "L2", "chain": "eip155-11155111", "bridges": [{ "url": "https://bridge.mode.network/" }] } }, + { + "name": "Subtensor EVM Testnet", + "chain": "Bittensor", + "rpc": ["https://test.chain.opentensor.ai"], + "faucets": [], + "nativeCurrency": { "name": "testTAO", "symbol": "TAO", "decimals": 18 }, + "infoURL": "https://bittensor.com/", + "shortName": "bittensor-evm-testnet", + "chainId": 945, + "networkId": 945, + "slip44": 1005, + "icon": "bittensor", + "explorers": [ + { + "name": "Subtensor EVM Explorer", + "url": "https://evm-testscan.dev.opentensor.ai", + "icon": "bittensor", + "standard": "EIP3091" + } + ] + }, + { + "name": "Subtensor EVM", + "chain": "Bittensor", + "rpc": ["https://lite.chain.opentensor.ai"], + "faucets": [], + "nativeCurrency": { "name": "TAO", "symbol": "TAO", "decimals": 18 }, + "infoURL": "https://bittensor.com/", + "shortName": "bittensor-evm-mainnet", + "chainId": 964, + "networkId": 964, + "slip44": 1005, + "icon": "bittensor" + }, { "name": "HyperEVM Testnet", "chain": "HYPE", diff --git a/src/scripts/reference/linkNameSymbol.json b/src/scripts/reference/linkNameSymbol.json index cddf7260150..f02c69ff971 100644 --- a/src/scripts/reference/linkNameSymbol.json +++ b/src/scripts/reference/linkNameSymbol.json @@ -599,5 +599,9 @@ "50": { "name": "ChainLink Token", "symbol": "LINK" + }, + "964": { + "name": "ChainLink Token", + "symbol": "LINK" } } From 63890e682af4c7090ebfedd605b82079319c716d Mon Sep 17 00:00:00 2001 From: gfletcher-cll Date: Fri, 31 Oct 2025 09:22:35 -0700 Subject: [PATCH 2/7] Update chain-to-technology.json --- src/config/data/chain-to-technology.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/data/chain-to-technology.json b/src/config/data/chain-to-technology.json index 238390f4b39..79bedc08371 100644 --- a/src/config/data/chain-to-technology.json +++ b/src/config/data/chain-to-technology.json @@ -152,5 +152,5 @@ "MEMENTO_TESTNET": "MEMENTO", "XDC_MAINNET": "XDC", "XDC_TESTNET": "XDC", - "BITTENSOR_MAINET": "BITTENSOR" + "BITTENSOR_MAINNET": "BITTENSOR" } From 5ce831a3e35078ef7535a7072999b442cb799024 Mon Sep 17 00:00:00 2001 From: Grace Fletcher Date: Fri, 31 Oct 2025 09:35:36 -0700 Subject: [PATCH 3/7] fix --- src/config/data/chains.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/data/chains.json b/src/config/data/chains.json index 994ad34f369..16f77d771d5 100644 --- a/src/config/data/chains.json +++ b/src/config/data/chains.json @@ -2408,7 +2408,7 @@ } } }, - "Bittensor": { + "BITTENSOR": { "title": "Bittensor EVM", "icon": "/assets/chains/bittensor.svg", "chainType": "evm", From 8964546b02c98ea86891843a53134a3b9e50aa09 Mon Sep 17 00:00:00 2001 From: aelmanaa Date: Mon, 3 Nov 2025 15:04:11 +0100 Subject: [PATCH 4/7] update directory --- .../data/ccip/v1_2_0/mainnet/chains.json | 21 +++ .../data/ccip/v1_2_0/mainnet/lanes.json | 136 +++++++++++++++++- .../data/ccip/v1_2_0/mainnet/tokens.json | 27 ++++ 3 files changed, 181 insertions(+), 3 deletions(-) diff --git a/src/config/data/ccip/v1_2_0/mainnet/chains.json b/src/config/data/ccip/v1_2_0/mainnet/chains.json index 115de3dfd9c..1113efe2412 100644 --- a/src/config/data/ccip/v1_2_0/mainnet/chains.json +++ b/src/config/data/ccip/v1_2_0/mainnet/chains.json @@ -282,6 +282,27 @@ "version": "1.5.1" } }, + "bittensor-mainnet": { + "armProxy": { + "address": "0x02A4D69cFfeC00Fbf7F3B60c93e3529Dfc58894d", + "version": "1.0.0" + }, + "chainSelector": "2135107236357186872", + "feeTokens": ["LINK", "WTAO"], + "registryModule": { + "address": "0xcDca5D374e46A6DDDab50bD2D9acB8c796eC35C3", + "version": "1.6.0" + }, + "rmnPermeable": false, + "router": { + "address": "0xD941fBEcD2b971d0F54b4C34286C95faB52B60B8", + "version": "1.2.0" + }, + "tokenAdminRegistry": { + "address": "0xe72d25aDd538E8ef9CeF85622eA8912a6CB98Be6", + "version": "1.5.0" + } + }, "bsc-mainnet": { "armProxy": { "address": "0x9e09697842194f77d315E0907F1Bda77922e8f84", diff --git a/src/config/data/ccip/v1_2_0/mainnet/lanes.json b/src/config/data/ccip/v1_2_0/mainnet/lanes.json index 726e39f1190..f60deb04617 100644 --- a/src/config/data/ccip/v1_2_0/mainnet/lanes.json +++ b/src/config/data/ccip/v1_2_0/mainnet/lanes.json @@ -1472,6 +1472,20 @@ } } }, + "LBTC": { + "rateLimiterConfig": { + "in": { + "capacity": "5000000000", + "isEnabled": true, + "rate": "462963" + }, + "out": { + "capacity": "5000000000", + "isEnabled": true, + "rate": "462963" + } + } + }, "LEASH": { "rateLimiterConfig": { "in": { @@ -1934,6 +1948,20 @@ }, "rmnPermeable": true, "supportedTokens": { + "LBTC": { + "rateLimiterConfig": { + "in": { + "capacity": "5000000000", + "isEnabled": true, + "rate": "462963" + }, + "out": { + "capacity": "5000000000", + "isEnabled": true, + "rate": "462963" + } + } + }, "savUSD": { "rateLimiterConfig": { "in": { @@ -3697,6 +3725,44 @@ "rmnPermeable": true } }, + "bittensor-mainnet": { + "bsc-mainnet": { + "offRamp": { + "address": "0x51a6150400ed9F0Ae240F5D1b15E3b45Fc4339C7", + "version": "1.6.0" + }, + "onRamp": { + "address": "0x345Cc465BCB9a902B420320B8793C9A5d6064404", + "enforceOutOfOrder": false, + "version": "1.6.0" + }, + "rmnPermeable": true + }, + "ethereum-mainnet-base-1": { + "offRamp": { + "address": "0x51a6150400ed9F0Ae240F5D1b15E3b45Fc4339C7", + "version": "1.6.0" + }, + "onRamp": { + "address": "0x345Cc465BCB9a902B420320B8793C9A5d6064404", + "enforceOutOfOrder": false, + "version": "1.6.0" + }, + "rmnPermeable": true + }, + "mainnet": { + "offRamp": { + "address": "0x51a6150400ed9F0Ae240F5D1b15E3b45Fc4339C7", + "version": "1.6.0" + }, + "onRamp": { + "address": "0x345Cc465BCB9a902B420320B8793C9A5d6064404", + "enforceOutOfOrder": false, + "version": "1.6.0" + }, + "rmnPermeable": true + } + }, "bsc-mainnet": { "aptos-mainnet": { "offRamp": { @@ -4118,6 +4184,18 @@ } } }, + "bittensor-mainnet": { + "offRamp": { + "address": "0xA27056438FfA1f286AB197488808692F0db93F8B", + "version": "1.6.0" + }, + "onRamp": { + "address": "0xf09AFe78d3c7d359b334d7cB88995751F7eC5E13", + "enforceOutOfOrder": false, + "version": "1.6.0" + }, + "rmnPermeable": true + }, "ethereum-mainnet-arbitrum-1": { "offRamp": { "address": "0x2A9C65afF39758CeAa24dBD1ACd1BeB3618e6780", @@ -10788,6 +10866,18 @@ } } }, + "bittensor-mainnet": { + "offRamp": { + "address": "0xf09AFe78d3c7d359b334d7cB88995751F7eC5E13", + "version": "1.6.0" + }, + "onRamp": { + "address": "0xee85aEfb15b9489563A6a29891ebe0750AA1A7Ae", + "enforceOutOfOrder": false, + "version": "1.6.0" + }, + "rmnPermeable": true + }, "bsc-mainnet": { "offRamp": { "address": "0x45d524b6Fe99C005C52C65c578dc0e02d9751083", @@ -19720,6 +19810,20 @@ } } }, + "LBTC": { + "rateLimiterConfig": { + "in": { + "capacity": "5000000000", + "isEnabled": true, + "rate": "462963" + }, + "out": { + "capacity": "5000000000", + "isEnabled": true, + "rate": "462963" + } + } + }, "LEASH": { "rateLimiterConfig": { "in": { @@ -20418,6 +20522,18 @@ }, "rmnPermeable": true }, + "bittensor-mainnet": { + "offRamp": { + "address": "0x26d3681DfC9E4c8C79cfbf461adec8A21d5d73C5", + "version": "1.6.0" + }, + "onRamp": { + "address": "0x913814782144864e523C3FdB78E3ca25D2c2aeCa", + "enforceOutOfOrder": false, + "version": "1.6.0" + }, + "rmnPermeable": true + }, "bsc-mainnet": { "offRamp": { "address": "0x66d84fedED0e51aeB47ceD1BB2fc0221Ae8D7C12", @@ -29414,6 +29530,20 @@ }, "rmnPermeable": true, "supportedTokens": { + "LBTC": { + "rateLimiterConfig": { + "in": { + "capacity": "5000000000", + "isEnabled": true, + "rate": "462963" + }, + "out": { + "capacity": "5000000000", + "isEnabled": true, + "rate": "462963" + } + } + }, "savUSD": { "rateLimiterConfig": { "in": { @@ -32699,9 +32829,9 @@ "uniBTC": { "rateLimiterConfig": { "in": { - "capacity": "200000000", - "isEnabled": true, - "rate": "2315" + "capacity": "0", + "isEnabled": false, + "rate": "0" }, "out": { "capacity": "200000000", diff --git a/src/config/data/ccip/v1_2_0/mainnet/tokens.json b/src/config/data/ccip/v1_2_0/mainnet/tokens.json index 974ef539636..8fb10e61f51 100644 --- a/src/config/data/ccip/v1_2_0/mainnet/tokens.json +++ b/src/config/data/ccip/v1_2_0/mainnet/tokens.json @@ -1955,6 +1955,15 @@ } }, "LBTC": { + "avalanche-mainnet": { + "allowListEnabled": false, + "decimals": 8, + "name": "Lombard Staked Bitcoin", + "poolAddress": "0xd24658051aa6c8ACf874F686D5dA325a87d2D146", + "poolType": "burnMint", + "symbol": "LBTC", + "tokenAddress": "0xecAc9C5F704e954931349Da37F60E39f515c11c1" + }, "bsc-mainnet": { "allowListEnabled": false, "decimals": 8, @@ -2358,6 +2367,14 @@ "symbol": "LINK", "tokenAddress": "0x71052BAe71C25C78E37fD12E5ff1101A71d9018F" }, + "bittensor-mainnet": { + "allowListEnabled": false, + "decimals": 18, + "name": "ChainLink Token", + "poolType": "feeTokenOnly", + "symbol": "LINK", + "tokenAddress": "0xf09AFe78d3c7d359b334d7cB88995751F7eC5E13" + }, "bsc-mainnet": { "allowListEnabled": false, "decimals": 18, @@ -7154,6 +7171,16 @@ "tokenAddress": "0xB63B9f0eb4A6E6f191529D71d4D88cc8900Df2C9" } }, + "WTAO": { + "bittensor-mainnet": { + "allowListEnabled": false, + "decimals": 18, + "name": "Wrapped Tao", + "poolType": "feeTokenOnly", + "symbol": "WTAO", + "tokenAddress": "0x5F3B70e0c089a1e3020B1990823Bc241a7bF3522" + } + }, "wUSDx": { "bsc-mainnet": { "allowListEnabled": false, From a53ef6f968e032d0dd5f30c9ee0617ee56797c27 Mon Sep 17 00:00:00 2001 From: Grace Fletcher Date: Tue, 4 Nov 2025 09:31:08 -0800 Subject: [PATCH 5/7] update quick links, link token contracts and changelog --- public/changelog.json | 19 +++++++++++++++++++ .../QuickLinks/data/productChainLinks.ts | 3 +++ .../resources/link-token-contracts.mdx | 12 ++++++++++++ 3 files changed, 34 insertions(+) diff --git a/public/changelog.json b/public/changelog.json index 3541a7f9a38..5b991f4b56f 100644 --- a/public/changelog.json +++ b/public/changelog.json @@ -44,6 +44,10 @@ "displayName": "Bitlayer", "iconUrl": "https://docs.chain.link/assets/chains/bitlayer.svg" }, + "bittensor": { + "displayName": "Bittensor EVM", + "iconUrl": "https://docs.chain.link/assets/chains/bittensor.svg" + }, "blast": { "displayName": "Blast", "iconUrl": "https://docs.chain.link/assets/chains/blast.svg" @@ -326,6 +330,21 @@ } }, "data": [ + { + "category": "integration", + "date": "2025-11-04", + "description": "Chainlink CCIP expands support to new blockchains:", + "newNetworks": [ + { + "displayName": "Bittensor EVM", + "network": "bittensor", + "url": "https://docs.chain.link/ccip/directory/mainnet/chain/bittensor-mainnet" + } + ], + "relatedNetworks": ["bittensor"], + "title": "CCIP on Bittensor EVM", + "topic": "CCIP" + }, { "category": "integration", "date": "2025-11-02", diff --git a/src/components/QuickLinks/data/productChainLinks.ts b/src/components/QuickLinks/data/productChainLinks.ts index 062d6d4c8f2..b58172da657 100644 --- a/src/components/QuickLinks/data/productChainLinks.ts +++ b/src/components/QuickLinks/data/productChainLinks.ts @@ -93,6 +93,7 @@ export const productChainLinks: ProductChainLinks = { plasma: "/ccip/directory/mainnet/chain/plasma-mainnet", memento: "/ccip/directory/mainnet/chain/memento-mainnet", xdc: "/ccip/directory/mainnet/chain/xdc-mainnet", + bittensor: "/ccip/directory/mainnet/chain/bittensor-mainnet", }, }, "Data Feeds": { @@ -308,6 +309,8 @@ export const productChainLinks: ProductChainLinks = { kaia: "/resources/link-token-contracts#kaia", tac: "/resources/link-token-contracts#tac", memento: "/resources/link-token-contracts#memento", + xdc: "/resources/link-token-contracts#xdc", + bittensor: "/resources/link-token-contracts#bittensor-evm", }, } diff --git a/src/content/resources/link-token-contracts.mdx b/src/content/resources/link-token-contracts.mdx index f014b712f94..28e2cd0db77 100644 --- a/src/content/resources/link-token-contracts.mdx +++ b/src/content/resources/link-token-contracts.mdx @@ -254,6 +254,18 @@ Testnet LINK are available at [faucets.chain.link/bitlayer-testnet](https://fauc | Decimals | 18 | | Network status | [bitlayer.org](https://bitlayer.org/) | +## Bittensor EVM + +### Bittensor EVM Mainnet + +| Parameter | Value | +| :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Chain ID | `964` | +| Address |
| +| Name | Chainlink Token on Bittensor EVM Mainnet | +| Symbol | LINK | +| Decimals | 18 | + ## Blast ### Blast Mainnet From 12027a9da1e8e35227f48e05df098bdf1c2d13c4 Mon Sep 17 00:00:00 2001 From: gfletcher-cll Date: Tue, 4 Nov 2025 09:47:37 -0800 Subject: [PATCH 6/7] Update productChainLinks.ts --- src/components/QuickLinks/data/productChainLinks.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/QuickLinks/data/productChainLinks.ts b/src/components/QuickLinks/data/productChainLinks.ts index b58172da657..c49b7fdb623 100644 --- a/src/components/QuickLinks/data/productChainLinks.ts +++ b/src/components/QuickLinks/data/productChainLinks.ts @@ -309,7 +309,6 @@ export const productChainLinks: ProductChainLinks = { kaia: "/resources/link-token-contracts#kaia", tac: "/resources/link-token-contracts#tac", memento: "/resources/link-token-contracts#memento", - xdc: "/resources/link-token-contracts#xdc", bittensor: "/resources/link-token-contracts#bittensor-evm", }, } From f19647689bbb27679a39f82457814842d7c410c0 Mon Sep 17 00:00:00 2001 From: gfletcher-cll Date: Tue, 4 Nov 2025 09:59:52 -0800 Subject: [PATCH 7/7] Update productChainLinks.ts --- src/components/QuickLinks/data/productChainLinks.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/QuickLinks/data/productChainLinks.ts b/src/components/QuickLinks/data/productChainLinks.ts index c49b7fdb623..6f89c195766 100644 --- a/src/components/QuickLinks/data/productChainLinks.ts +++ b/src/components/QuickLinks/data/productChainLinks.ts @@ -395,5 +395,5 @@ export const chainNames: Record = { jovay: "Jovay", memento: "Memento", xdc: "XDC", - bittensor: "BITTENSOR", + bittensor: "Bittensor EVM", }