diff --git a/ios/Images.xcassets/badges/arbitrum.imageset/Contents.json b/ios/Images.xcassets/badges/arbitrum.imageset/Contents.json
new file mode 100644
index 00000000000..d8baae252df
--- /dev/null
+++ b/ios/Images.xcassets/badges/arbitrum.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "filename" : "arbitrum.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "arbitrum@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "arbitrum@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/ios/Images.xcassets/badges/arbitrum.imageset/arbitrum.png b/ios/Images.xcassets/badges/arbitrum.imageset/arbitrum.png
new file mode 100644
index 00000000000..ad5c0420ad0
Binary files /dev/null and b/ios/Images.xcassets/badges/arbitrum.imageset/arbitrum.png differ
diff --git a/ios/Images.xcassets/badges/arbitrum.imageset/arbitrum@2x.png b/ios/Images.xcassets/badges/arbitrum.imageset/arbitrum@2x.png
new file mode 100644
index 00000000000..697bc2f6ec4
Binary files /dev/null and b/ios/Images.xcassets/badges/arbitrum.imageset/arbitrum@2x.png differ
diff --git a/ios/Images.xcassets/badges/arbitrum.imageset/arbitrum@3x.png b/ios/Images.xcassets/badges/arbitrum.imageset/arbitrum@3x.png
new file mode 100644
index 00000000000..4153e6706f2
Binary files /dev/null and b/ios/Images.xcassets/badges/arbitrum.imageset/arbitrum@3x.png differ
diff --git a/ios/Images.xcassets/badges/base.imageset/Contents.json b/ios/Images.xcassets/badges/base.imageset/Contents.json
new file mode 100644
index 00000000000..eb69ae688b8
--- /dev/null
+++ b/ios/Images.xcassets/badges/base.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "filename" : "base.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "base@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "base@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/ios/Images.xcassets/badges/base.imageset/base.png b/ios/Images.xcassets/badges/base.imageset/base.png
new file mode 100644
index 00000000000..8d365d203f2
Binary files /dev/null and b/ios/Images.xcassets/badges/base.imageset/base.png differ
diff --git a/ios/Images.xcassets/badges/base.imageset/base@2x.png b/ios/Images.xcassets/badges/base.imageset/base@2x.png
new file mode 100644
index 00000000000..1aded5c29f9
Binary files /dev/null and b/ios/Images.xcassets/badges/base.imageset/base@2x.png differ
diff --git a/ios/Images.xcassets/badges/base.imageset/base@3x.png b/ios/Images.xcassets/badges/base.imageset/base@3x.png
new file mode 100644
index 00000000000..570dc2e8618
Binary files /dev/null and b/ios/Images.xcassets/badges/base.imageset/base@3x.png differ
diff --git a/ios/Images.xcassets/badges/bsc.imageset/Contents.json b/ios/Images.xcassets/badges/bsc.imageset/Contents.json
new file mode 100644
index 00000000000..d32402f583b
--- /dev/null
+++ b/ios/Images.xcassets/badges/bsc.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "filename" : "bsc.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "bsc@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "bsc@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/ios/Images.xcassets/badges/bsc.imageset/bsc.png b/ios/Images.xcassets/badges/bsc.imageset/bsc.png
new file mode 100644
index 00000000000..009bae7a844
Binary files /dev/null and b/ios/Images.xcassets/badges/bsc.imageset/bsc.png differ
diff --git a/ios/Images.xcassets/badges/bsc.imageset/bsc@2x.png b/ios/Images.xcassets/badges/bsc.imageset/bsc@2x.png
new file mode 100644
index 00000000000..f164fd04e32
Binary files /dev/null and b/ios/Images.xcassets/badges/bsc.imageset/bsc@2x.png differ
diff --git a/ios/Images.xcassets/badges/bsc.imageset/bsc@3x.png b/ios/Images.xcassets/badges/bsc.imageset/bsc@3x.png
new file mode 100644
index 00000000000..0253b66c648
Binary files /dev/null and b/ios/Images.xcassets/badges/bsc.imageset/bsc@3x.png differ
diff --git a/ios/Images.xcassets/badges/ethereum.imageset/Contents.json b/ios/Images.xcassets/badges/ethereum.imageset/Contents.json
new file mode 100644
index 00000000000..862983cf63e
--- /dev/null
+++ b/ios/Images.xcassets/badges/ethereum.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "filename" : "ethereum.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "ethereum@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "ethereum@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/ios/Images.xcassets/badges/ethereum.imageset/ethereum.png b/ios/Images.xcassets/badges/ethereum.imageset/ethereum.png
new file mode 100644
index 00000000000..ce612bb3da8
Binary files /dev/null and b/ios/Images.xcassets/badges/ethereum.imageset/ethereum.png differ
diff --git a/ios/Images.xcassets/badges/ethereum.imageset/ethereum@2x.png b/ios/Images.xcassets/badges/ethereum.imageset/ethereum@2x.png
new file mode 100644
index 00000000000..c3aa91dd13f
Binary files /dev/null and b/ios/Images.xcassets/badges/ethereum.imageset/ethereum@2x.png differ
diff --git a/ios/Images.xcassets/badges/ethereum.imageset/ethereum@3x.png b/ios/Images.xcassets/badges/ethereum.imageset/ethereum@3x.png
new file mode 100644
index 00000000000..237f8a091cd
Binary files /dev/null and b/ios/Images.xcassets/badges/ethereum.imageset/ethereum@3x.png differ
diff --git a/ios/Images.xcassets/badges/optimism.imageset/Contents.json b/ios/Images.xcassets/badges/optimism.imageset/Contents.json
new file mode 100644
index 00000000000..8e6b667039b
--- /dev/null
+++ b/ios/Images.xcassets/badges/optimism.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "filename" : "optimism.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "optimism@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "optimism@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/ios/Images.xcassets/badges/optimism.imageset/optimism.png b/ios/Images.xcassets/badges/optimism.imageset/optimism.png
new file mode 100644
index 00000000000..36d6cf2e73f
Binary files /dev/null and b/ios/Images.xcassets/badges/optimism.imageset/optimism.png differ
diff --git a/ios/Images.xcassets/badges/optimism.imageset/optimism@2x.png b/ios/Images.xcassets/badges/optimism.imageset/optimism@2x.png
new file mode 100644
index 00000000000..81f4ced3fb9
Binary files /dev/null and b/ios/Images.xcassets/badges/optimism.imageset/optimism@2x.png differ
diff --git a/ios/Images.xcassets/badges/optimism.imageset/optimism@3x.png b/ios/Images.xcassets/badges/optimism.imageset/optimism@3x.png
new file mode 100644
index 00000000000..d5dab748c01
Binary files /dev/null and b/ios/Images.xcassets/badges/optimism.imageset/optimism@3x.png differ
diff --git a/ios/Images.xcassets/badges/polygon.imageset/Contents.json b/ios/Images.xcassets/badges/polygon.imageset/Contents.json
new file mode 100644
index 00000000000..8a53e7b74b0
--- /dev/null
+++ b/ios/Images.xcassets/badges/polygon.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "filename" : "polygon.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "polygon@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "polygon@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/ios/Images.xcassets/badges/polygon.imageset/polygon.png b/ios/Images.xcassets/badges/polygon.imageset/polygon.png
new file mode 100644
index 00000000000..e0a9fa08e9c
Binary files /dev/null and b/ios/Images.xcassets/badges/polygon.imageset/polygon.png differ
diff --git a/ios/Images.xcassets/badges/polygon.imageset/polygon@2x.png b/ios/Images.xcassets/badges/polygon.imageset/polygon@2x.png
new file mode 100644
index 00000000000..9ff81cf978b
Binary files /dev/null and b/ios/Images.xcassets/badges/polygon.imageset/polygon@2x.png differ
diff --git a/ios/Images.xcassets/badges/polygon.imageset/polygon@3x.png b/ios/Images.xcassets/badges/polygon.imageset/polygon@3x.png
new file mode 100644
index 00000000000..9e3bc2e7d04
Binary files /dev/null and b/ios/Images.xcassets/badges/polygon.imageset/polygon@3x.png differ
diff --git a/ios/Images.xcassets/badges/xdai.imageset/Contents.json b/ios/Images.xcassets/badges/xdai.imageset/Contents.json
new file mode 100644
index 00000000000..f0ee7cf8808
--- /dev/null
+++ b/ios/Images.xcassets/badges/xdai.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "filename" : "xdai.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "xdai@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "xdai@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/ios/Images.xcassets/badges/xdai.imageset/xdai.png b/ios/Images.xcassets/badges/xdai.imageset/xdai.png
new file mode 100644
index 00000000000..f62aac06a14
Binary files /dev/null and b/ios/Images.xcassets/badges/xdai.imageset/xdai.png differ
diff --git a/ios/Images.xcassets/badges/xdai.imageset/xdai@2x.png b/ios/Images.xcassets/badges/xdai.imageset/xdai@2x.png
new file mode 100644
index 00000000000..4ea6a80914c
Binary files /dev/null and b/ios/Images.xcassets/badges/xdai.imageset/xdai@2x.png differ
diff --git a/ios/Images.xcassets/badges/xdai.imageset/xdai@3x.png b/ios/Images.xcassets/badges/xdai.imageset/xdai@3x.png
new file mode 100644
index 00000000000..2969bc76ba9
Binary files /dev/null and b/ios/Images.xcassets/badges/xdai.imageset/xdai@3x.png differ
diff --git a/ios/Images.xcassets/badges/zora.imageset/Contents.json b/ios/Images.xcassets/badges/zora.imageset/Contents.json
new file mode 100644
index 00000000000..0847fbff926
--- /dev/null
+++ b/ios/Images.xcassets/badges/zora.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "filename" : "zora.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "zora@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "zora@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/ios/Images.xcassets/badges/zora.imageset/zora.png b/ios/Images.xcassets/badges/zora.imageset/zora.png
new file mode 100644
index 00000000000..2310c3dca62
Binary files /dev/null and b/ios/Images.xcassets/badges/zora.imageset/zora.png differ
diff --git a/ios/Images.xcassets/badges/zora.imageset/zora@2x.png b/ios/Images.xcassets/badges/zora.imageset/zora@2x.png
new file mode 100644
index 00000000000..5256774e273
Binary files /dev/null and b/ios/Images.xcassets/badges/zora.imageset/zora@2x.png differ
diff --git a/ios/Images.xcassets/badges/zora.imageset/zora@3x.png b/ios/Images.xcassets/badges/zora.imageset/zora@3x.png
new file mode 100644
index 00000000000..3504d713a84
Binary files /dev/null and b/ios/Images.xcassets/badges/zora.imageset/zora@3x.png differ
diff --git a/src/assets/badges/arbitrum.png b/src/assets/badges/arbitrum.png
new file mode 100644
index 00000000000..ad5c0420ad0
Binary files /dev/null and b/src/assets/badges/arbitrum.png differ
diff --git a/src/assets/badges/arbitrum@2x.png b/src/assets/badges/arbitrum@2x.png
new file mode 100644
index 00000000000..697bc2f6ec4
Binary files /dev/null and b/src/assets/badges/arbitrum@2x.png differ
diff --git a/src/assets/badges/arbitrum@3x.png b/src/assets/badges/arbitrum@3x.png
new file mode 100644
index 00000000000..4153e6706f2
Binary files /dev/null and b/src/assets/badges/arbitrum@3x.png differ
diff --git a/src/assets/badges/base.png b/src/assets/badges/base.png
new file mode 100644
index 00000000000..8d365d203f2
Binary files /dev/null and b/src/assets/badges/base.png differ
diff --git a/src/assets/badges/base@2x.png b/src/assets/badges/base@2x.png
new file mode 100644
index 00000000000..1aded5c29f9
Binary files /dev/null and b/src/assets/badges/base@2x.png differ
diff --git a/src/assets/badges/base@3x.png b/src/assets/badges/base@3x.png
new file mode 100644
index 00000000000..570dc2e8618
Binary files /dev/null and b/src/assets/badges/base@3x.png differ
diff --git a/src/assets/badges/bsc.png b/src/assets/badges/bsc.png
new file mode 100644
index 00000000000..009bae7a844
Binary files /dev/null and b/src/assets/badges/bsc.png differ
diff --git a/src/assets/badges/bsc@2x.png b/src/assets/badges/bsc@2x.png
new file mode 100644
index 00000000000..f164fd04e32
Binary files /dev/null and b/src/assets/badges/bsc@2x.png differ
diff --git a/src/assets/badges/bsc@3x.png b/src/assets/badges/bsc@3x.png
new file mode 100644
index 00000000000..0253b66c648
Binary files /dev/null and b/src/assets/badges/bsc@3x.png differ
diff --git a/src/assets/badges/ethereum.png b/src/assets/badges/ethereum.png
new file mode 100644
index 00000000000..ce612bb3da8
Binary files /dev/null and b/src/assets/badges/ethereum.png differ
diff --git a/src/assets/badges/ethereum@2x.png b/src/assets/badges/ethereum@2x.png
new file mode 100644
index 00000000000..c3aa91dd13f
Binary files /dev/null and b/src/assets/badges/ethereum@2x.png differ
diff --git a/src/assets/badges/ethereum@3x.png b/src/assets/badges/ethereum@3x.png
new file mode 100644
index 00000000000..237f8a091cd
Binary files /dev/null and b/src/assets/badges/ethereum@3x.png differ
diff --git a/src/assets/badges/optimism.png b/src/assets/badges/optimism.png
new file mode 100644
index 00000000000..36d6cf2e73f
Binary files /dev/null and b/src/assets/badges/optimism.png differ
diff --git a/src/assets/badges/optimism@2x.png b/src/assets/badges/optimism@2x.png
new file mode 100644
index 00000000000..81f4ced3fb9
Binary files /dev/null and b/src/assets/badges/optimism@2x.png differ
diff --git a/src/assets/badges/optimism@3x.png b/src/assets/badges/optimism@3x.png
new file mode 100644
index 00000000000..d5dab748c01
Binary files /dev/null and b/src/assets/badges/optimism@3x.png differ
diff --git a/src/assets/badges/polygon.png b/src/assets/badges/polygon.png
new file mode 100644
index 00000000000..e0a9fa08e9c
Binary files /dev/null and b/src/assets/badges/polygon.png differ
diff --git a/src/assets/badges/polygon@2x.png b/src/assets/badges/polygon@2x.png
new file mode 100644
index 00000000000..9ff81cf978b
Binary files /dev/null and b/src/assets/badges/polygon@2x.png differ
diff --git a/src/assets/badges/polygon@3x.png b/src/assets/badges/polygon@3x.png
new file mode 100644
index 00000000000..9e3bc2e7d04
Binary files /dev/null and b/src/assets/badges/polygon@3x.png differ
diff --git a/src/assets/badges/xdai.png b/src/assets/badges/xdai.png
new file mode 100644
index 00000000000..f62aac06a14
Binary files /dev/null and b/src/assets/badges/xdai.png differ
diff --git a/src/assets/badges/xdai@2x.png b/src/assets/badges/xdai@2x.png
new file mode 100644
index 00000000000..4ea6a80914c
Binary files /dev/null and b/src/assets/badges/xdai@2x.png differ
diff --git a/src/assets/badges/xdai@3x.png b/src/assets/badges/xdai@3x.png
new file mode 100644
index 00000000000..2969bc76ba9
Binary files /dev/null and b/src/assets/badges/xdai@3x.png differ
diff --git a/src/assets/badges/zora.png b/src/assets/badges/zora.png
new file mode 100644
index 00000000000..2310c3dca62
Binary files /dev/null and b/src/assets/badges/zora.png differ
diff --git a/src/assets/badges/zora@2x.png b/src/assets/badges/zora@2x.png
new file mode 100644
index 00000000000..5256774e273
Binary files /dev/null and b/src/assets/badges/zora@2x.png differ
diff --git a/src/assets/badges/zora@3x.png b/src/assets/badges/zora@3x.png
new file mode 100644
index 00000000000..3504d713a84
Binary files /dev/null and b/src/assets/badges/zora@3x.png differ
diff --git a/src/components/coin-icon/ChainImage.tsx b/src/components/coin-icon/ChainImage.tsx
new file mode 100644
index 00000000000..839ba65e6dc
--- /dev/null
+++ b/src/components/coin-icon/ChainImage.tsx
@@ -0,0 +1,54 @@
+import React, { useMemo } from 'react';
+import { Source } from 'react-native-fast-image';
+
+import { IS_IOS } from '@/env';
+import { Network } from '@/helpers';
+
+import ArbitrumBadge from '../../assets/badges/arbitrum.png';
+import BaseBadge from '../../assets/badges/base.png';
+import BscBadge from '../../assets/badges/bsc.png';
+import EthereumBadge from '../../assets/badges/ethereum.png';
+import OptimismBadge from '../../assets/badges/optimism.png';
+import PolygonBadge from '../../assets/badges/polygon.png';
+import ZoraBadge from '../../assets/badges/zora.png';
+import { ImgixImage } from '../images';
+
+export function ChainImage({
+ borderRadius = 20,
+ chain,
+ size = 20,
+}: {
+ borderRadius?: number;
+ chain: Network | null | undefined;
+ size?: number;
+}) {
+ const source = useMemo(() => {
+ let val = null;
+ if (chain === Network.arbitrum) {
+ val = IS_IOS ? { uri: 'arbitrum' } : ArbitrumBadge;
+ } else if (chain === Network.base) {
+ val = IS_IOS ? { uri: 'base' } : BaseBadge;
+ } else if (chain === Network.bsc) {
+ val = IS_IOS ? { uri: 'bsc' } : BscBadge;
+ } else if (chain === Network.mainnet) {
+ val = IS_IOS ? { uri: 'ethereum' } : EthereumBadge;
+ } else if (chain === Network.optimism) {
+ val = IS_IOS ? { uri: 'optimism' } : OptimismBadge;
+ } else if (chain === Network.polygon) {
+ val = IS_IOS ? { uri: 'polygon' } : PolygonBadge;
+ } else if (chain === Network.zora) {
+ val = IS_IOS ? { uri: 'zora' } : ZoraBadge;
+ }
+ return val as Source;
+ }, [chain]);
+
+ if (!chain) return null;
+
+ return (
+
+ );
+}
diff --git a/src/screens/SignTransactionSheet.tsx b/src/screens/SignTransactionSheet.tsx
index 52f2106f402..01ea86bbae8 100644
--- a/src/screens/SignTransactionSheet.tsx
+++ b/src/screens/SignTransactionSheet.tsx
@@ -30,7 +30,8 @@ import ConditionalWrap from 'conditional-wrap';
import { Transaction } from '@ethersproject/transactions';
import { ButtonPressAnimation } from '@/components/animations';
-import { ChainBadge, CoinIcon } from '@/components/coin-icon';
+import { ChainImage } from '@/components/coin-icon/ChainImage';
+import { CoinIcon } from '@/components/coin-icon';
import { SheetActionButton } from '@/components/sheet';
import {
Bleed,
@@ -1110,22 +1111,7 @@ export const SignTransactionSheet = () => {
wrap={false}
>
- {currentNetwork !== Network.mainnet ? (
-
- ) : (
-
- )}
+
{isMessageRequest