diff --git a/Cargo.lock b/Cargo.lock
index 040f5659e4935476edbffcab05ede6d92726a636..2c1fe1484a64420986d8e75f2c1a3af8032c57a7 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -12215,7 +12215,7 @@ name = "polkadot-node-metrics"
 version = "1.0.0"
 dependencies = [
  "assert_cmd",
- "bs58 0.4.0",
+ "bs58 0.5.0",
  "futures",
  "futures-timer",
  "hyper",
@@ -12755,7 +12755,7 @@ dependencies = [
 name = "polkadot-runtime-metrics"
 version = "1.0.0"
 dependencies = [
- "bs58 0.4.0",
+ "bs58 0.5.0",
  "frame-benchmarking",
  "parity-scale-codec",
  "polkadot-primitives",
@@ -17047,7 +17047,7 @@ dependencies = [
  "bitflags 1.3.2",
  "blake2",
  "bounded-collections",
- "bs58 0.4.0",
+ "bs58 0.5.0",
  "criterion 0.4.0",
  "dyn-clonable",
  "ed25519-zebra 3.1.0",
diff --git a/polkadot/node/metrics/Cargo.toml b/polkadot/node/metrics/Cargo.toml
index 3b6a67abc133082770ca709edd7e141ab7d448be..d497fa7607a16bb95f23550bfaf82c69ba062659 100644
--- a/polkadot/node/metrics/Cargo.toml
+++ b/polkadot/node/metrics/Cargo.toml
@@ -21,7 +21,7 @@ substrate-prometheus-endpoint = { path = "../../../substrate/utils/prometheus" }
 sc-tracing = { path = "../../../substrate/client/tracing" }
 codec = { package = "parity-scale-codec", version = "3.6.1" }
 primitives = { package = "polkadot-primitives", path = "../../primitives" }
-bs58 = { version = "0.4.0", features = ["alloc"] }
+bs58 = { version = "0.5.0", features = ["alloc"] }
 log = "0.4.17"
 
 [dev-dependencies]
diff --git a/polkadot/runtime/metrics/Cargo.toml b/polkadot/runtime/metrics/Cargo.toml
index 567a06556613e84f1458423fb225f0e1e93f7aa0..cfa6bf3dafb2aa02e29d3ee5865aa314d0e7436b 100644
--- a/polkadot/runtime/metrics/Cargo.toml
+++ b/polkadot/runtime/metrics/Cargo.toml
@@ -12,7 +12,7 @@ parity-scale-codec = { version = "3.6.1", default-features = false }
 primitives = { package = "polkadot-primitives", path = "../../primitives", default-features = false }
 frame-benchmarking = { path = "../../../substrate/frame/benchmarking", default-features = false, optional = true }
 
-bs58 = { version = "0.4.0", default-features = false, features = ["alloc"] }
+bs58 = { version = "0.5.0", default-features = false, features = ["alloc"] }
 
 [features]
 default = [ "std" ]
diff --git a/substrate/primitives/core/Cargo.toml b/substrate/primitives/core/Cargo.toml
index 355cbab26fb9d85ae3da3c9bba842028d2239c6a..991e07f20613e40f3ebca4a765d494f03879fd44 100644
--- a/substrate/primitives/core/Cargo.toml
+++ b/substrate/primitives/core/Cargo.toml
@@ -23,7 +23,7 @@ primitive-types = { version = "0.12.0", default-features = false, features = ["c
 impl-serde = { version = "0.4.0", default-features = false, optional = true }
 hash-db = { version = "0.16.0", default-features = false }
 hash256-std-hasher = { version = "0.15.2", default-features = false }
-bs58 = { version = "0.4.0", default-features = false, optional = true }
+bs58 = { version = "0.5.0", default-features = false, optional = true }
 rand = { version = "0.8.5", features = ["small_rng"],  optional = true }
 substrate-bip39 = { version = "0.4.4", optional = true }
 tiny-bip39 = { version = "1.0.0", optional = true }