diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3bbc3e15c3..8c513c663d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,7 @@
- [#5860](https://github.com/blockscout/blockscout/pull/5860) - Integrate rust verifier micro-service ([blockscout-rs/verifier](https://github.com/blockscout/blockscout-rs/tree/main/verification))
### Fixes
+- [#5977](https://github.com/blockscout/blockscout/pull/5977) - Fix address overview.html.eex in case of nil implementation address hash
- [#5975](https://github.com/blockscout/blockscout/pull/5975) - Fix CSV export of internal transactions
- [#5957](https://github.com/blockscout/blockscout/pull/5957) - Server-side reCAPTCHA check for CSV export
- [#5954](https://github.com/blockscout/blockscout/pull/5954) - Fix ace editor appearance
diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address/overview.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address/overview.html.eex
index ffbd85ad98..7fee0bfbb3 100644
--- a/apps/block_scout_web/lib/block_scout_web/templates/address/overview.html.eex
+++ b/apps/block_scout_web/lib/block_scout_web/templates/address/overview.html.eex
@@ -142,21 +142,23 @@
<%= if @is_proxy do %>
<% {implementation_address, name} = Chain.get_implementation_address_hash(@address.hash, @address.smart_contract.abi) || "0x0000000000000000000000000000000000000000" %>
-
- -
- <%= render BlockScoutWeb.CommonComponentsView, "_i_tooltip_2.html",
- text: gettext("Implementation address of the proxy contract.") %>
- <%= gettext("Implementation") %>
-
- -
- <%= link(
- (if name, do: name <> " | " <> implementation_address, else: implementation_address),
- to: address_path(@conn, :show, implementation_address),
- class: "contract-address"
- )
- %>
-
-
+ <%= if implementation_address do %>
+
+ -
+ <%= render BlockScoutWeb.CommonComponentsView, "_i_tooltip_2.html",
+ text: gettext("Implementation address of the proxy contract.") %>
+ <%= gettext("Implementation") %>
+
+ -
+ <%= link(
+ (if name, do: name <> " | " <> implementation_address, else: implementation_address),
+ to: address_path(@conn, :show, implementation_address),
+ class: "contract-address"
+ )
+ %>
+
+
+ <% end %>
<% end %>
diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot
index 11decd35fe..594225139c 100644
--- a/apps/block_scout_web/priv/gettext/default.pot
+++ b/apps/block_scout_web/priv/gettext/default.pot
@@ -158,7 +158,7 @@ msgstr ""
msgid "Address (external or contract) sending the transaction."
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:165
+#: lib/block_scout_web/templates/address/overview.html.eex:167
#, elixir-autogen, elixir-format
msgid "Address balance in"
msgstr ""
@@ -194,7 +194,7 @@ msgstr ""
msgid "All metadata displayed below is from that contract. In order to verify current contract, click"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:190
+#: lib/block_scout_web/templates/address/overview.html.eex:192
#, elixir-autogen, elixir-format
msgid "All tokens in the account and total value."
msgstr ""
@@ -234,7 +234,7 @@ msgstr ""
msgid "Back Home"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:166
+#: lib/block_scout_web/templates/address/overview.html.eex:168
#: lib/block_scout_web/templates/address_token/overview.html.eex:51
#, elixir-autogen, elixir-format
msgid "Balance"
@@ -315,7 +315,7 @@ msgstr ""
msgid "Block number containing the transaction."
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:273
+#: lib/block_scout_web/templates/address/overview.html.eex:275
#, elixir-autogen, elixir-format
msgid "Block number in which the address was updated."
msgstr ""
@@ -338,7 +338,7 @@ msgid "Blocks Indexed"
msgstr ""
#: lib/block_scout_web/templates/address/_tabs.html.eex:48
-#: lib/block_scout_web/templates/address/overview.html.eex:291
+#: lib/block_scout_web/templates/address/overview.html.eex:293
#: lib/block_scout_web/templates/address_validation/index.html.eex:11
#: lib/block_scout_web/views/address_view.ex:371
#, elixir-autogen, elixir-format
@@ -944,7 +944,7 @@ msgstr ""
#: lib/block_scout_web/templates/address/_current_coin_balance.html.eex:11
#: lib/block_scout_web/templates/address/index.html.eex:5
-#: lib/block_scout_web/templates/address/overview.html.eex:179
+#: lib/block_scout_web/templates/address/overview.html.eex:181
#: lib/block_scout_web/templates/block/overview.html.eex:215
#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:24
#: lib/block_scout_web/templates/layout/_topnav.html.eex:79
@@ -1000,7 +1000,7 @@ msgstr ""
msgid "Fast"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:263
+#: lib/block_scout_web/templates/address/overview.html.eex:265
#, elixir-autogen, elixir-format
msgid "Fetching gas used..."
msgstr ""
@@ -1015,14 +1015,14 @@ msgstr ""
msgid "Fetching tokens..."
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:210
-#: lib/block_scout_web/templates/address/overview.html.eex:218
+#: lib/block_scout_web/templates/address/overview.html.eex:212
+#: lib/block_scout_web/templates/address/overview.html.eex:220
#, elixir-autogen, elixir-format
msgid "Fetching transactions..."
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:237
-#: lib/block_scout_web/templates/address/overview.html.eex:245
+#: lib/block_scout_web/templates/address/overview.html.eex:239
+#: lib/block_scout_web/templates/address/overview.html.eex:247
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:122
#, elixir-autogen, elixir-format
msgid "Fetching transfers..."
@@ -1071,7 +1071,7 @@ msgstr ""
msgid "Gas Price"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:256
+#: lib/block_scout_web/templates/address/overview.html.eex:258
#: lib/block_scout_web/templates/block/_tile.html.eex:73
#: lib/block_scout_web/templates/block/overview.html.eex:178
#, elixir-autogen, elixir-format
@@ -1089,7 +1089,7 @@ msgstr ""
msgid "Gas tracker"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:255
+#: lib/block_scout_web/templates/address/overview.html.eex:257
#, elixir-autogen, elixir-format
msgid "Gas used by the address."
msgstr ""
@@ -1167,12 +1167,12 @@ msgstr ""
msgid "If you have just submitted this transaction please wait for at least 30 seconds before refreshing this page."
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:149
+#: lib/block_scout_web/templates/address/overview.html.eex:150
#, elixir-autogen, elixir-format
msgid "Implementation"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:148
+#: lib/block_scout_web/templates/address/overview.html.eex:149
#, elixir-autogen, elixir-format
msgid "Implementation address of the proxy contract."
msgstr ""
@@ -1239,7 +1239,7 @@ msgstr ""
msgid "It could still be in the TX Pool of a different node, waiting to be broadcasted."
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:274
+#: lib/block_scout_web/templates/address/overview.html.eex:276
#, elixir-autogen, elixir-format
msgid "Last Balance Update"
msgstr ""
@@ -1500,7 +1500,7 @@ msgstr ""
msgid "Number of accounts holding the token"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:290
+#: lib/block_scout_web/templates/address/overview.html.eex:292
#, elixir-autogen, elixir-format
msgid "Number of blocks validated by this validator."
msgstr ""
@@ -1510,7 +1510,7 @@ msgstr ""
msgid "Number of digits that come after the decimal place when displaying token value"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:201
+#: lib/block_scout_web/templates/address/overview.html.eex:203
#, elixir-autogen, elixir-format
msgid "Number of transactions related to this address."
msgstr ""
@@ -1520,7 +1520,7 @@ msgstr ""
msgid "Number of transfers for the token"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:228
+#: lib/block_scout_web/templates/address/overview.html.eex:230
#, elixir-autogen, elixir-format
msgid "Number of transfers to/from this address."
msgstr ""
@@ -2222,7 +2222,7 @@ msgid "Token type"
msgstr ""
#: lib/block_scout_web/templates/address/_tabs.html.eex:21
-#: lib/block_scout_web/templates/address/overview.html.eex:191
+#: lib/block_scout_web/templates/address/overview.html.eex:193
#: lib/block_scout_web/templates/address_token/overview.html.eex:58
#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:13
#: lib/block_scout_web/templates/layout/_topnav.html.eex:70
@@ -2366,9 +2366,9 @@ msgid "Transaction type, introduced in EIP-2718."
msgstr ""
#: lib/block_scout_web/templates/address/_tabs.html.eex:7
-#: lib/block_scout_web/templates/address/overview.html.eex:202
-#: lib/block_scout_web/templates/address/overview.html.eex:208
-#: lib/block_scout_web/templates/address/overview.html.eex:216
+#: lib/block_scout_web/templates/address/overview.html.eex:204
+#: lib/block_scout_web/templates/address/overview.html.eex:210
+#: lib/block_scout_web/templates/address/overview.html.eex:218
#: lib/block_scout_web/templates/address_transaction/index.html.eex:13
#: lib/block_scout_web/templates/block/overview.html.eex:80
#: lib/block_scout_web/templates/block_transaction/index.html.eex:10
@@ -2389,9 +2389,9 @@ msgstr ""
msgid "Transactions sent"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:229
-#: lib/block_scout_web/templates/address/overview.html.eex:235
-#: lib/block_scout_web/templates/address/overview.html.eex:243
+#: lib/block_scout_web/templates/address/overview.html.eex:231
+#: lib/block_scout_web/templates/address/overview.html.eex:237
+#: lib/block_scout_web/templates/address/overview.html.eex:245
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:50
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:118
#, elixir-autogen, elixir-format
@@ -2711,7 +2711,7 @@ msgstr ""
msgid "custom RPC"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:165
+#: lib/block_scout_web/templates/address/overview.html.eex:167
#, elixir-autogen, elixir-format
msgid "doesn't include ERC20, ERC721, ERC1155 tokens)."
msgstr ""
diff --git a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po
index 0c7d9aa800..0c48ba8eff 100644
--- a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po
+++ b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po
@@ -158,7 +158,7 @@ msgstr ""
msgid "Address (external or contract) sending the transaction."
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:165
+#: lib/block_scout_web/templates/address/overview.html.eex:167
#, elixir-autogen, elixir-format
msgid "Address balance in"
msgstr ""
@@ -194,7 +194,7 @@ msgstr ""
msgid "All metadata displayed below is from that contract. In order to verify current contract, click"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:190
+#: lib/block_scout_web/templates/address/overview.html.eex:192
#, elixir-autogen, elixir-format
msgid "All tokens in the account and total value."
msgstr ""
@@ -234,7 +234,7 @@ msgstr ""
msgid "Back Home"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:166
+#: lib/block_scout_web/templates/address/overview.html.eex:168
#: lib/block_scout_web/templates/address_token/overview.html.eex:51
#, elixir-autogen, elixir-format
msgid "Balance"
@@ -315,7 +315,7 @@ msgstr ""
msgid "Block number containing the transaction."
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:273
+#: lib/block_scout_web/templates/address/overview.html.eex:275
#, elixir-autogen, elixir-format
msgid "Block number in which the address was updated."
msgstr ""
@@ -338,7 +338,7 @@ msgid "Blocks Indexed"
msgstr ""
#: lib/block_scout_web/templates/address/_tabs.html.eex:48
-#: lib/block_scout_web/templates/address/overview.html.eex:291
+#: lib/block_scout_web/templates/address/overview.html.eex:293
#: lib/block_scout_web/templates/address_validation/index.html.eex:11
#: lib/block_scout_web/views/address_view.ex:371
#, elixir-autogen, elixir-format
@@ -944,7 +944,7 @@ msgstr ""
#: lib/block_scout_web/templates/address/_current_coin_balance.html.eex:11
#: lib/block_scout_web/templates/address/index.html.eex:5
-#: lib/block_scout_web/templates/address/overview.html.eex:179
+#: lib/block_scout_web/templates/address/overview.html.eex:181
#: lib/block_scout_web/templates/block/overview.html.eex:215
#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:24
#: lib/block_scout_web/templates/layout/_topnav.html.eex:79
@@ -1000,7 +1000,7 @@ msgstr ""
msgid "Fast"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:263
+#: lib/block_scout_web/templates/address/overview.html.eex:265
#, elixir-autogen, elixir-format
msgid "Fetching gas used..."
msgstr ""
@@ -1015,14 +1015,14 @@ msgstr ""
msgid "Fetching tokens..."
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:210
-#: lib/block_scout_web/templates/address/overview.html.eex:218
+#: lib/block_scout_web/templates/address/overview.html.eex:212
+#: lib/block_scout_web/templates/address/overview.html.eex:220
#, elixir-autogen, elixir-format
msgid "Fetching transactions..."
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:237
-#: lib/block_scout_web/templates/address/overview.html.eex:245
+#: lib/block_scout_web/templates/address/overview.html.eex:239
+#: lib/block_scout_web/templates/address/overview.html.eex:247
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:122
#, elixir-autogen, elixir-format
msgid "Fetching transfers..."
@@ -1071,7 +1071,7 @@ msgstr ""
msgid "Gas Price"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:256
+#: lib/block_scout_web/templates/address/overview.html.eex:258
#: lib/block_scout_web/templates/block/_tile.html.eex:73
#: lib/block_scout_web/templates/block/overview.html.eex:178
#, elixir-autogen, elixir-format
@@ -1089,7 +1089,7 @@ msgstr ""
msgid "Gas tracker"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:255
+#: lib/block_scout_web/templates/address/overview.html.eex:257
#, elixir-autogen, elixir-format
msgid "Gas used by the address."
msgstr ""
@@ -1167,12 +1167,12 @@ msgstr ""
msgid "If you have just submitted this transaction please wait for at least 30 seconds before refreshing this page."
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:149
+#: lib/block_scout_web/templates/address/overview.html.eex:150
#, elixir-autogen, elixir-format
msgid "Implementation"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:148
+#: lib/block_scout_web/templates/address/overview.html.eex:149
#, elixir-autogen, elixir-format
msgid "Implementation address of the proxy contract."
msgstr ""
@@ -1239,7 +1239,7 @@ msgstr ""
msgid "It could still be in the TX Pool of a different node, waiting to be broadcasted."
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:274
+#: lib/block_scout_web/templates/address/overview.html.eex:276
#, elixir-autogen, elixir-format
msgid "Last Balance Update"
msgstr ""
@@ -1500,7 +1500,7 @@ msgstr ""
msgid "Number of accounts holding the token"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:290
+#: lib/block_scout_web/templates/address/overview.html.eex:292
#, elixir-autogen, elixir-format
msgid "Number of blocks validated by this validator."
msgstr ""
@@ -1510,7 +1510,7 @@ msgstr ""
msgid "Number of digits that come after the decimal place when displaying token value"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:201
+#: lib/block_scout_web/templates/address/overview.html.eex:203
#, elixir-autogen, elixir-format
msgid "Number of transactions related to this address."
msgstr ""
@@ -1520,7 +1520,7 @@ msgstr ""
msgid "Number of transfers for the token"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:228
+#: lib/block_scout_web/templates/address/overview.html.eex:230
#, elixir-autogen, elixir-format
msgid "Number of transfers to/from this address."
msgstr ""
@@ -2222,7 +2222,7 @@ msgid "Token type"
msgstr ""
#: lib/block_scout_web/templates/address/_tabs.html.eex:21
-#: lib/block_scout_web/templates/address/overview.html.eex:191
+#: lib/block_scout_web/templates/address/overview.html.eex:193
#: lib/block_scout_web/templates/address_token/overview.html.eex:58
#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:13
#: lib/block_scout_web/templates/layout/_topnav.html.eex:70
@@ -2366,9 +2366,9 @@ msgid "Transaction type, introduced in EIP-2718."
msgstr ""
#: lib/block_scout_web/templates/address/_tabs.html.eex:7
-#: lib/block_scout_web/templates/address/overview.html.eex:202
-#: lib/block_scout_web/templates/address/overview.html.eex:208
-#: lib/block_scout_web/templates/address/overview.html.eex:216
+#: lib/block_scout_web/templates/address/overview.html.eex:204
+#: lib/block_scout_web/templates/address/overview.html.eex:210
+#: lib/block_scout_web/templates/address/overview.html.eex:218
#: lib/block_scout_web/templates/address_transaction/index.html.eex:13
#: lib/block_scout_web/templates/block/overview.html.eex:80
#: lib/block_scout_web/templates/block_transaction/index.html.eex:10
@@ -2389,9 +2389,9 @@ msgstr ""
msgid "Transactions sent"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:229
-#: lib/block_scout_web/templates/address/overview.html.eex:235
-#: lib/block_scout_web/templates/address/overview.html.eex:243
+#: lib/block_scout_web/templates/address/overview.html.eex:231
+#: lib/block_scout_web/templates/address/overview.html.eex:237
+#: lib/block_scout_web/templates/address/overview.html.eex:245
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:50
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:118
#, elixir-autogen, elixir-format
@@ -2711,7 +2711,7 @@ msgstr ""
msgid "custom RPC"
msgstr ""
-#: lib/block_scout_web/templates/address/overview.html.eex:165
+#: lib/block_scout_web/templates/address/overview.html.eex:167
#, elixir-autogen, elixir-format
msgid "doesn't include ERC20, ERC721, ERC1155 tokens)."
msgstr ""