From 26a91537d2d05c5a4cf06de620004f5fef86d07b Mon Sep 17 00:00:00 2001
From: Yash094 <67926590+Yash094@users.noreply.github.com>
Date: Wed, 7 Jan 2026 14:06:28 +0000
Subject: [PATCH] Etherlink shadownet chain (#8611)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[SDK] Feature: Add Etherlink Shadownet Testnet chain
## Notes for the reviewer
Adds the Etherlink Shadownet testnet chain (ID 127823) to the predefined chains in the SDK. This includes its native currency (XTZ) and block explorer URL.
## How to test
- Verify the `etherlinkShadownet` chain can be imported from `thirdweb/chains`.
- Check that the chain object contains the correct `id`, `name`, `nativeCurrency`, and `blockExplorers` properties.
- Run `pnpm build` and `pnpm lint` to ensure no new issues are introduced.
---
[Slack Thread](https://thirdwebdev.slack.com/archives/C09DS2CKGP2/p1767789368607579?thread_ts=1767789368.607579&cid=C09DS2CKGP2)
---
## PR-Codex overview
This PR introduces the `Etherlink Shadownet` testnet chain to the project, defining its properties and adding it to the exports.
### Detailed summary
- Added a new chain definition for `etherlinkShadownet` in `etherlink-shadownet.ts`.
- Defined properties such as `id`, `name`, `nativeCurrency`, and `blockExplorers`.
- Exported `etherlinkShadownet` in `chains.ts` for use in the application.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
## Summary by CodeRabbit
* **New Features**
* Added support for Etherlink Shadownet testnet chain, enabling development and testing on this network with proper block explorer integration and native currency configuration (XTZ).
✏️ Tip: You can customize this high-level summary in your review settings.
---
.changeset/etherlink-shadownet-chain.md | 5 +++++
.../chain-definitions/etherlink-shadownet.ts | 21 +++++++++++++++++++
packages/thirdweb/src/exports/chains.ts | 1 +
3 files changed, 27 insertions(+)
create mode 100644 .changeset/etherlink-shadownet-chain.md
create mode 100644 packages/thirdweb/src/chains/chain-definitions/etherlink-shadownet.ts
diff --git a/.changeset/etherlink-shadownet-chain.md b/.changeset/etherlink-shadownet-chain.md
new file mode 100644
index 00000000000..c17621ace47
--- /dev/null
+++ b/.changeset/etherlink-shadownet-chain.md
@@ -0,0 +1,5 @@
+---
+"thirdweb": patch
+---
+
+Add Etherlink Shadownet testnet chain (chain ID 127823)
diff --git a/packages/thirdweb/src/chains/chain-definitions/etherlink-shadownet.ts b/packages/thirdweb/src/chains/chain-definitions/etherlink-shadownet.ts
new file mode 100644
index 00000000000..d8ceea39637
--- /dev/null
+++ b/packages/thirdweb/src/chains/chain-definitions/etherlink-shadownet.ts
@@ -0,0 +1,21 @@
+import { defineChain } from "../utils.js";
+
+/**
+ * @chain
+ */
+export const etherlinkShadownet = /* @__PURE__ */ defineChain({
+ blockExplorers: [
+ {
+ name: "Etherlink Shadownet Explorer",
+ url: "https://shadownet.explorer.etherlink.com/",
+ },
+ ],
+ id: 127823,
+ name: "Etherlink Shadownet",
+ nativeCurrency: {
+ decimals: 18,
+ name: "Etherlink",
+ symbol: "XTZ",
+ },
+ testnet: true,
+});
diff --git a/packages/thirdweb/src/exports/chains.ts b/packages/thirdweb/src/exports/chains.ts
index b02fc44e5cb..c94991c620b 100644
--- a/packages/thirdweb/src/exports/chains.ts
+++ b/packages/thirdweb/src/exports/chains.ts
@@ -32,6 +32,7 @@ export { degen } from "../chains/chain-definitions/degen.js";
// mainnet = alias for ethereum
export { ethereum, mainnet } from "../chains/chain-definitions/ethereum.js";
export { etherlink } from "../chains/chain-definitions/etherlink.js";
+export { etherlinkShadownet } from "../chains/chain-definitions/etherlink-shadownet.js";
export { etherlinkTestnet } from "../chains/chain-definitions/etherlink-testnet.js";
export { fantom } from "../chains/chain-definitions/fantom.js";
export { fantomTestnet } from "../chains/chain-definitions/fantom-testnet.js";