diff --git a/site/metamask.html b/site/metamask.html
index f4458f7ba..faf9aea6c 100644
--- a/site/metamask.html
+++ b/site/metamask.html
@@ -261,7 +261,7 @@ ol{margin:0 0 14px;padding-left:22px}li{margin-bottom:6px}
The public RPC answers at rpc.devnet.igneum.network; the Igneum Miner app also runs a full node on your machine and serves the Ethereum RPC on it, and the wallet can point at either. The devnet is a developer network: it resets without notice and its coins have no value.
- Network name
- Igneum Devnet 3
- - Chain id
- 4464 (0x1170) on Devnet 3, since its class v5 floor at DAA 68,400 on 8 October 2026 (4463 before it)
+ - Chain id
- 4464 (0x1170) on Devnet 3, since its class v5 floor at DAA 68,400 on 8 October 2026 (4463 before it)
- RPC URL
- https://rpc.devnet.igneum.network (a node you run serves http://127.0.0.1:26790)
- Symbol
- IGN
- Decimals
- 18
@@ -378,6 +378,15 @@ ol{margin:0 0 14px;padding-left:22px}li{margin-bottom:6px}
devnet: { chainId: '0x1170', chainName: 'Igneum Devnet 3', nativeCurrency: { name: 'Igneum', symbol: 'IGN', decimals: 18 }, rpcUrls: ['https://rpc.devnet.igneum.network'], blockExplorerUrls: ['https://igneum.network/explorer'] }
};
function status(name, text) { var el = document.querySelector('[data-status="' + name + '"]'); if (el) el.textContent = text; }
+ // Devnet 3's chain id moves at every class floor (4463 to 4464 at the class v5 floor, 8 October 2026), so the entry's id and
+ // the card's figure are read from the public RPC at load; the pinned 0x1170 is the answer when the RPC does not reply.
+ fetch('https://rpc.devnet.igneum.network', { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ jsonrpc: '2.0', id: 1, method: 'eth_chainId', params: [] }) })
+ .then(function (r) { return r.json(); })
+ .then(function (d) {
+ var hex = d && typeof d.result === 'string' && /^0x[0-9a-f]+$/i.test(d.result) ? d.result.toLowerCase() : null; if (!hex) return;
+ CHAINS.devnet.chainId = hex;
+ var cell = document.getElementById('dev-chain'); if (cell) cell.textContent = parseInt(hex, 16) + ' (' + hex + ') on Devnet 3, read from the public RPC now; 4463 before its class v5 floor at DAA 68,400 on 8 October 2026';
+ }).catch(function () {});
Array.prototype.forEach.call(document.querySelectorAll('[data-add]'), function (btn) {
btn.addEventListener('click', function () {
var name = btn.getAttribute('data-add'); var chain = CHAINS[name];