diff --git a/package-lock.json b/package-lock.json
index b1ff476..d3af288 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -22,7 +22,7 @@
         "@helia/verified-fetch": "^1.3.12",
         "@libp2p/bootstrap": "^10.0.17",
         "@libp2p/circuit-relay-v2": "^1.0.17",
-        "@libp2p/identify": "^2.1.1",
+        "@libp2p/identify": "^3.0.8",
         "@libp2p/interface": "^1.1.5",
         "@libp2p/kad-dht": "^12.0.10",
         "@libp2p/mplex": "^10.0.17",
@@ -4047,11 +4047,11 @@
       }
     },
     "node_modules/@libp2p/crypto": {
-      "version": "4.1.5",
-      "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-4.1.5.tgz",
-      "integrity": "sha512-iQyFljvVza7npzrJNjOCqP1DlvDcGyOxCjlzU0gCLb4Jt0ZyTQDosk3wV7r3hAqCCeoBpm/CB5viJGixhkKgIQ==",
+      "version": "4.1.9",
+      "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-4.1.9.tgz",
+      "integrity": "sha512-8Cf2VKh0uC/rQLvTLSloIOMqUvf4jsSTHXgjWQRf47lDNJlNNI0wSv2S6gakT72GZsRV/jCjYwKPqRlsa5S0iA==",
       "dependencies": {
-        "@libp2p/interface": "^1.6.0",
+        "@libp2p/interface": "^1.7.0",
         "@noble/curves": "^1.4.0",
         "@noble/hashes": "^1.4.0",
         "asn1js": "^3.0.5",
@@ -4078,14 +4078,16 @@
       }
     },
     "node_modules/@libp2p/identify": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@libp2p/identify/-/identify-2.1.1.tgz",
-      "integrity": "sha512-vNaz2sKJh7wzNdDnkDn9RBPL7WhotGd78ogkDmr3N5J8V50wSXjA556tHa8eO5dqtyTTHZ0TTa6C0BPW/vxGng==",
-      "dependencies": {
-        "@libp2p/interface": "^1.6.0",
-        "@libp2p/interface-internal": "^1.3.0",
-        "@libp2p/peer-id": "^4.2.0",
-        "@libp2p/peer-record": "^7.0.21",
+      "version": "3.0.8",
+      "resolved": "https://registry.npmjs.org/@libp2p/identify/-/identify-3.0.8.tgz",
+      "integrity": "sha512-dQF+Cc2m1uX4YTlI9IPB8tMwvpWOWcFVl265JNYtuPJrU+VcprJKkSewd4g5jzPpb7wdVLoDQkzplQfbQmdHeQ==",
+      "dependencies": {
+        "@libp2p/crypto": "^5.0.5",
+        "@libp2p/interface": "^2.1.3",
+        "@libp2p/interface-internal": "^2.0.8",
+        "@libp2p/peer-id": "^5.0.5",
+        "@libp2p/peer-record": "^8.0.8",
+        "@libp2p/utils": "^6.1.1",
         "@multiformats/multiaddr": "^12.2.3",
         "@multiformats/multiaddr-matcher": "^1.2.1",
         "it-drain": "^3.0.7",
@@ -4097,10 +4099,130 @@
         "wherearewe": "^2.0.1"
       }
     },
+    "node_modules/@libp2p/identify/node_modules/@libp2p/crypto": {
+      "version": "5.0.5",
+      "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-5.0.5.tgz",
+      "integrity": "sha512-bs3PpSQS59I/YD2RnwcPv88pF/vB6GH2rw4jqb/0xm60LfRuSm0tNoCrJMuyG2pFz89WuKM+0BpnEWQi4alwCg==",
+      "dependencies": {
+        "@libp2p/interface": "^2.1.3",
+        "@noble/curves": "^1.4.0",
+        "@noble/hashes": "^1.4.0",
+        "asn1js": "^3.0.5",
+        "multiformats": "^13.1.0",
+        "protons-runtime": "^5.4.0",
+        "uint8arraylist": "^2.4.8",
+        "uint8arrays": "^5.1.0"
+      }
+    },
+    "node_modules/@libp2p/identify/node_modules/@libp2p/interface": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.1.3.tgz",
+      "integrity": "sha512-t1i2LWcnTGJEr7fDMslA8wYwBzJP81QKBlrBHoGhXxqqpRQa9035roCh/Akuw5RUgjKE47/ezjuzo90aWsJB8g==",
+      "dependencies": {
+        "@multiformats/multiaddr": "^12.2.3",
+        "it-pushable": "^3.2.3",
+        "it-stream-types": "^2.0.1",
+        "multiformats": "^13.1.0",
+        "progress-events": "^1.0.0",
+        "uint8arraylist": "^2.4.8"
+      }
+    },
+    "node_modules/@libp2p/identify/node_modules/@libp2p/interface-internal": {
+      "version": "2.0.8",
+      "resolved": "https://registry.npmjs.org/@libp2p/interface-internal/-/interface-internal-2.0.8.tgz",
+      "integrity": "sha512-yWAVuygiy2XhZK2UsOfy3iA30Bi78VeJDac6cAD/FQzu3rmGy2LNYtHuz1Vze9/OL4I6cseMNTGkozTeDg8nMg==",
+      "dependencies": {
+        "@libp2p/interface": "^2.1.3",
+        "@libp2p/peer-collections": "^6.0.8",
+        "@multiformats/multiaddr": "^12.2.3",
+        "progress-events": "^1.0.0",
+        "uint8arraylist": "^2.4.8"
+      }
+    },
+    "node_modules/@libp2p/identify/node_modules/@libp2p/logger": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-5.1.1.tgz",
+      "integrity": "sha512-+pwFFZekKQHKdSrGURKZjfAJ86soc1e4HsI0r7dJN+kHICzKFzC+x5hM5GsWCorNj3y++xshWlF/n03zyxoyJQ==",
+      "dependencies": {
+        "@libp2p/interface": "^2.1.3",
+        "@multiformats/multiaddr": "^12.2.3",
+        "interface-datastore": "^8.3.0",
+        "multiformats": "^13.1.0",
+        "weald": "^1.0.2"
+      }
+    },
+    "node_modules/@libp2p/identify/node_modules/@libp2p/peer-collections": {
+      "version": "6.0.8",
+      "resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-6.0.8.tgz",
+      "integrity": "sha512-/xaSvb45lydLibt7sb+Im1ohIGiMfOlz5wcxelEgxmvUd0QmvirZXM3eAavQ+xrxmvJSPEQDmWSP+851ohRlKQ==",
+      "dependencies": {
+        "@libp2p/interface": "^2.1.3",
+        "@libp2p/peer-id": "^5.0.5",
+        "@libp2p/utils": "^6.1.1",
+        "multiformats": "^13.2.2"
+      }
+    },
+    "node_modules/@libp2p/identify/node_modules/@libp2p/peer-id": {
+      "version": "5.0.5",
+      "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-5.0.5.tgz",
+      "integrity": "sha512-+9aX4II0hjMgKcFX/TMWUHRu2wOXOkfV5jO2N5m/R91K+Kp4Tt4n1ceXHjrbwwz3k2IWl0xJOMYjrf9dhOZWAw==",
+      "dependencies": {
+        "@libp2p/crypto": "^5.0.5",
+        "@libp2p/interface": "^2.1.3",
+        "multiformats": "^13.1.0",
+        "uint8arrays": "^5.1.0"
+      }
+    },
+    "node_modules/@libp2p/identify/node_modules/@libp2p/peer-record": {
+      "version": "8.0.8",
+      "resolved": "https://registry.npmjs.org/@libp2p/peer-record/-/peer-record-8.0.8.tgz",
+      "integrity": "sha512-wYqVN13ZaC/cVdFaTR3+Plzv4lf/BNVSzZK11cSSo3MqinOWqFs38plw9OC1Mfne2x9HYHLGwhj2zE802itD0A==",
+      "dependencies": {
+        "@libp2p/crypto": "^5.0.5",
+        "@libp2p/interface": "^2.1.3",
+        "@libp2p/peer-id": "^5.0.5",
+        "@libp2p/utils": "^6.1.1",
+        "@multiformats/multiaddr": "^12.2.3",
+        "multiformats": "^13.2.2",
+        "protons-runtime": "^5.4.0",
+        "uint8-varint": "^2.0.4",
+        "uint8arraylist": "^2.4.8",
+        "uint8arrays": "^5.1.0"
+      }
+    },
+    "node_modules/@libp2p/identify/node_modules/@libp2p/utils": {
+      "version": "6.1.1",
+      "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-6.1.1.tgz",
+      "integrity": "sha512-lpqNyyTx7ygIfXyU4eqDONW7c4oc8Gf1xjDahlOWcggqNhLWsC3/8zTmziKlY3PjTvzY0W37nDRPO1KiM1Sduw==",
+      "dependencies": {
+        "@chainsafe/is-ip": "^2.0.2",
+        "@libp2p/crypto": "^5.0.5",
+        "@libp2p/interface": "^2.1.3",
+        "@libp2p/logger": "^5.1.1",
+        "@multiformats/multiaddr": "^12.2.3",
+        "@sindresorhus/fnv1a": "^3.1.0",
+        "@types/murmurhash3js-revisited": "^3.0.3",
+        "any-signal": "^4.1.1",
+        "delay": "^6.0.0",
+        "get-iterator": "^2.0.1",
+        "is-loopback-addr": "^2.0.2",
+        "it-foreach": "^2.1.1",
+        "it-pipe": "^3.0.1",
+        "it-pushable": "^3.2.3",
+        "it-stream-types": "^2.0.1",
+        "murmurhash3js-revisited": "^3.0.0",
+        "netmask": "^2.0.2",
+        "p-defer": "^4.0.1",
+        "race-event": "^1.3.0",
+        "race-signal": "^1.0.2",
+        "uint8arraylist": "^2.4.8",
+        "uint8arrays": "^5.1.0"
+      }
+    },
     "node_modules/@libp2p/interface": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.6.0.tgz",
-      "integrity": "sha512-PqcWA/wQFwk8bcevwUez5KYd0FKhKrOJOfKy+qGzDnKsPN3c0W6m/yiYXE7VJ6rAynL9ITxRddub3hEktthVCg==",
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.7.0.tgz",
+      "integrity": "sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==",
       "dependencies": {
         "@multiformats/multiaddr": "^12.2.3",
         "it-pushable": "^3.2.3",
@@ -4111,12 +4233,12 @@
       }
     },
     "node_modules/@libp2p/interface-internal": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/@libp2p/interface-internal/-/interface-internal-1.3.0.tgz",
-      "integrity": "sha512-M2s/iCJ3+bKOcKkzeycCEkVA7fpZfVnptVm2DdKV1gYvC4ClVT21Hq4Ki2TZA/kibb7clWi5LTeed2jvMwj3pg==",
+      "version": "1.3.4",
+      "resolved": "https://registry.npmjs.org/@libp2p/interface-internal/-/interface-internal-1.3.4.tgz",
+      "integrity": "sha512-8x/0sdeH8T16yZ9t/Cfja0ms6Ho9fF3riX56WhQrNxMU6C1sIgAFmzUNzHLxxOR+rkKyL9cyXIyB+RcBf4gzjA==",
       "dependencies": {
-        "@libp2p/interface": "^1.6.0",
-        "@libp2p/peer-collections": "^5.2.5",
+        "@libp2p/interface": "^1.7.0",
+        "@libp2p/peer-collections": "^5.2.9",
         "@multiformats/multiaddr": "^12.2.3",
         "progress-events": "^1.0.0",
         "uint8arraylist": "^2.4.8"
@@ -4184,15 +4306,15 @@
       }
     },
     "node_modules/@libp2p/logger": {
-      "version": "4.0.16",
-      "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.16.tgz",
-      "integrity": "sha512-yk+vL8QX7WoTwcfjDghvA3OZjwqiM4/VHxhr6kXfs691nE7czgdCbnBEJOwgfbR8IJpy39z9BDstoACMNmNEWQ==",
+      "version": "4.0.20",
+      "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.20.tgz",
+      "integrity": "sha512-TTh2dhHsOTAlMPxSa9ncFPHa/0jTt+0AQxwHdlxg/OGLAgc9VRhnrhHUbJZp07Crcw4T/MOfS4KhjlxgqYgJRw==",
       "dependencies": {
-        "@libp2p/interface": "^1.6.0",
+        "@libp2p/interface": "^1.7.0",
         "@multiformats/multiaddr": "^12.2.3",
-        "debug": "^4.3.4",
         "interface-datastore": "^8.2.11",
-        "multiformats": "^13.1.0"
+        "multiformats": "^13.1.0",
+        "weald": "^1.0.2"
       }
     },
     "node_modules/@libp2p/mdns": {
@@ -4242,21 +4364,21 @@
       }
     },
     "node_modules/@libp2p/peer-collections": {
-      "version": "5.2.5",
-      "resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-5.2.5.tgz",
-      "integrity": "sha512-ZwR1VCIMYdH/YnsU7LyQEI0xCsKC3hZFnU+JAx0Js+uyL4me0KKofgGmy2Hz25qPVlbaLPOL3LWwEf397AqdsQ==",
+      "version": "5.2.9",
+      "resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-5.2.9.tgz",
+      "integrity": "sha512-8gBmzQlCWjjb+FSQBKK33T25Y5Df/8FWCXFtJDsprVxVUzDOQoibQJ5Tb4Y+mb96HUhNzoaRWVEamB78MMB3DA==",
       "dependencies": {
-        "@libp2p/interface": "^1.6.0",
-        "@libp2p/peer-id": "^4.2.0",
-        "@libp2p/utils": "^5.4.5"
+        "@libp2p/interface": "^1.7.0",
+        "@libp2p/peer-id": "^4.2.4",
+        "@libp2p/utils": "^5.4.9"
       }
     },
     "node_modules/@libp2p/peer-id": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.2.0.tgz",
-      "integrity": "sha512-VCScUTVuPNkoZmddM5NtuI0tuFZhFG6ypk7tX1svumA+9sEIx9x4duNIb/Rt+E7E7fDINcBnqxiQpBRUCRtDBQ==",
+      "version": "4.2.4",
+      "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.2.4.tgz",
+      "integrity": "sha512-mvvsVxt4HkF14BrTNKbqr14VObW+KBJBWu1Oe6BFCoDttGMQLaI+PdduE1r6Tquntv5IONBqoITgD7ow5dQ+vQ==",
       "dependencies": {
-        "@libp2p/interface": "^1.6.0",
+        "@libp2p/interface": "^1.7.0",
         "multiformats": "^13.1.0",
         "uint8arrays": "^5.1.0"
       }
@@ -4275,14 +4397,14 @@
       }
     },
     "node_modules/@libp2p/peer-record": {
-      "version": "7.0.21",
-      "resolved": "https://registry.npmjs.org/@libp2p/peer-record/-/peer-record-7.0.21.tgz",
-      "integrity": "sha512-wIeadVfNsCv6p8zCMiAyqS5qUeuzVGiN2Y4h+vv/ucyJAjxnKIjdwxppl1rT1gJ6ycSKWcZuUoOaD5WIaSrTkg==",
-      "dependencies": {
-        "@libp2p/crypto": "^4.1.5",
-        "@libp2p/interface": "^1.6.0",
-        "@libp2p/peer-id": "^4.2.0",
-        "@libp2p/utils": "^5.4.5",
+      "version": "7.0.25",
+      "resolved": "https://registry.npmjs.org/@libp2p/peer-record/-/peer-record-7.0.25.tgz",
+      "integrity": "sha512-b54P3cSeQniW/HPJjBVbeF3KaVUQkWa431gotuIFUS1PYgtz69uzkRrVY6Qt+RBb4R4fcmH4K4jWyZi3xyLGfQ==",
+      "dependencies": {
+        "@libp2p/crypto": "^4.1.9",
+        "@libp2p/interface": "^1.7.0",
+        "@libp2p/peer-id": "^4.2.4",
+        "@libp2p/utils": "^5.4.9",
         "@multiformats/multiaddr": "^12.2.3",
         "protons-runtime": "^5.4.0",
         "uint8-varint": "^2.0.4",
@@ -4393,14 +4515,14 @@
       }
     },
     "node_modules/@libp2p/utils": {
-      "version": "5.4.5",
-      "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-5.4.5.tgz",
-      "integrity": "sha512-PInUa1jZFILeBl0ilV0bLQkfZFp8chtYZbgiY3lGTX1sPQgl1nZDLjVg7F7/lpW0+FWZaACqEJKtHpUOTLrQow==",
+      "version": "5.4.9",
+      "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-5.4.9.tgz",
+      "integrity": "sha512-0fRdX98WqhTmXU2WEVLegLFxs/kKTtUHanHk5Lzs4oGsIzlPHR7zE6lj/U1WfsFA+Xo1eYQpNLiXEL29hG+Nyw==",
       "dependencies": {
         "@chainsafe/is-ip": "^2.0.2",
-        "@libp2p/crypto": "^4.1.5",
-        "@libp2p/interface": "^1.6.0",
-        "@libp2p/logger": "^4.0.16",
+        "@libp2p/crypto": "^4.1.9",
+        "@libp2p/interface": "^1.7.0",
+        "@libp2p/logger": "^4.0.20",
         "@multiformats/multiaddr": "^12.2.3",
         "@multiformats/multiaddr-matcher": "^1.2.1",
         "@sindresorhus/fnv1a": "^3.1.0",
@@ -16599,6 +16721,26 @@
         "multiformats": "^13.1.0"
       }
     },
+    "node_modules/helia/node_modules/@libp2p/identify": {
+      "version": "2.1.5",
+      "resolved": "https://registry.npmjs.org/@libp2p/identify/-/identify-2.1.5.tgz",
+      "integrity": "sha512-uVghY2KfZ3ffDkPmcivfiRDlq1h5rCcoHAW+Kb7JF2qrDfg6BgHAn6IRN4pe/DnYXOuJXIIm6+jjcReTPGBKBQ==",
+      "dependencies": {
+        "@libp2p/interface": "^1.7.0",
+        "@libp2p/interface-internal": "^1.3.4",
+        "@libp2p/peer-id": "^4.2.4",
+        "@libp2p/peer-record": "^7.0.25",
+        "@multiformats/multiaddr": "^12.2.3",
+        "@multiformats/multiaddr-matcher": "^1.2.1",
+        "it-drain": "^3.0.7",
+        "it-parallel": "^3.0.7",
+        "it-protobuf-stream": "^1.1.3",
+        "protons-runtime": "^5.4.0",
+        "uint8arraylist": "^2.4.8",
+        "uint8arrays": "^5.1.0",
+        "wherearewe": "^2.0.1"
+      }
+    },
     "node_modules/help-me": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/help-me/-/help-me-5.0.0.tgz",
@@ -17370,14 +17512,19 @@
       }
     },
     "node_modules/interface-datastore": {
-      "version": "8.2.11",
-      "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-8.2.11.tgz",
-      "integrity": "sha512-9E0iXehfp/j0UbZ2mvlYB4K9pP7uQBCppfuy8WHs1EHF6wLQrM9+zwyX+8Qt6HnH4GKZRyXX/CNXm6oD4+QYgA==",
+      "version": "8.3.1",
+      "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-8.3.1.tgz",
+      "integrity": "sha512-3r0ETmHIi6HmvM5sc09QQiCD3gUfwtEM/AAChOyAd/UAKT69uk8LXfTSUBufbUIO/dU65Vj8nb9O6QjwW8vDSQ==",
       "dependencies": {
-        "interface-store": "^5.0.0",
-        "uint8arrays": "^5.0.2"
+        "interface-store": "^6.0.0",
+        "uint8arrays": "^5.1.0"
       }
     },
+    "node_modules/interface-datastore/node_modules/interface-store": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-6.0.2.tgz",
+      "integrity": "sha512-KSFCXtBlNoG0hzwNa0RmhHtrdhzexp+S+UY2s0rWTBJyfdEIgn6i6Zl9otVqrcFYbYrneBT7hbmHQ8gE0C3umA=="
+    },
     "node_modules/interface-store": {
       "version": "5.1.8",
       "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-5.1.8.tgz",
@@ -22629,9 +22776,9 @@
       }
     },
     "node_modules/multiformats": {
-      "version": "13.1.3",
-      "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-13.1.3.tgz",
-      "integrity": "sha512-CZPi9lFZCM/+7oRolWYsvalsyWQGFo+GpdaTmjxXXomC+nP/W1Rnxb9sUgjvmNmRZ5bOPqRAl4nuK+Ydw/4tGw=="
+      "version": "13.3.0",
+      "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-13.3.0.tgz",
+      "integrity": "sha512-CBiqvsufgmpo01VT5ze94O+uc+Pbf6f/sThlvWss0sBZmAOu6GQn5usrYV2sf2mr17FWYc0rO8c/CNe2T90QAA=="
     },
     "node_modules/multihashes": {
       "version": "4.0.3",
@@ -35816,6 +35963,34 @@
         "defaults": "^1.0.3"
       }
     },
+    "node_modules/weald": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/weald/-/weald-1.0.4.tgz",
+      "integrity": "sha512-+kYTuHonJBwmFhP1Z4YQK/dGi3jAnJGCYhyODFpHK73rbxnp9lnZQj7a2m+WVgn8fXr5bJaxUpF6l8qZpPeNWQ==",
+      "dependencies": {
+        "ms": "^3.0.0-canary.1",
+        "supports-color": "^9.4.0"
+      }
+    },
+    "node_modules/weald/node_modules/ms": {
+      "version": "3.0.0-canary.1",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-3.0.0-canary.1.tgz",
+      "integrity": "sha512-kh8ARjh8rMN7Du2igDRO9QJnqCb2xYTJxyQYK7vJJS4TvLLmsbyhiKpSW+t+y26gyOyMd0riphX0GeWKU3ky5g==",
+      "engines": {
+        "node": ">=12.13"
+      }
+    },
+    "node_modules/weald/node_modules/supports-color": {
+      "version": "9.4.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz",
+      "integrity": "sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/supports-color?sponsor=1"
+      }
+    },
     "node_modules/webcrypto-core": {
       "version": "1.8.0",
       "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.8.0.tgz",
diff --git a/package.json b/package.json
index 39e2b7b..1065fac 100644
--- a/package.json
+++ b/package.json
@@ -85,7 +85,7 @@
     "@helia/verified-fetch": "^1.3.12",
     "@libp2p/bootstrap": "^10.0.17",
     "@libp2p/circuit-relay-v2": "^1.0.17",
-    "@libp2p/identify": "^2.1.1",
+    "@libp2p/identify": "^3.0.8",
     "@libp2p/interface": "^1.1.5",
     "@libp2p/kad-dht": "^12.0.10",
     "@libp2p/mplex": "^10.0.17",