Other than if these 58 branches have internet connectivity they much have a public IP somewhere along the way, otherwise they would not be able to connect to the internet… But I presume this is not what you are getting at, and what you mean is Static Public IP Addresses?
A more full answer would be that only one site needs a “Static Public IP” so that all the other sites can connect to that site, and as someone else said then use OSPF to make your life a little bit easier when it comes to the routing (so you don’t have to put static routes in everywhere). You can manage using only a Public IP (not static) at one of the sites, and use Dynamic DNS. But I would suggest that this is not ideal for reliability.
You CAN also do this is none of the sites have a directly attached public IP (e.g. if every site is behind CGNAT) by putting a virtual Mikrotik router with any number of cloud providers (Azure or AWS would be the obvious choices) and then using that as a peering point for all the remote sites.
Wireguard is probably going to be easier for this type of config.
Hope this helps.