using NBitcoin.DataEncoders;
public static void Main()
const string vpub = "vpub5ZU3dwgo1Y3EFq4y1wispLdzLtLMjLGQwsSJPrED8ty3K6KreFNWCw5xsMcvywPdXMFHo3z7hV4WHJBafdyTszvpFFL5RWwxv8Wo6YBQytT";
var tpub = convertVPubToTPub(vpub);
private static string convertVPubToTPub(string vpub) {
var data = Encoders.Base58Check.DecodeData(vpub);
var tpubPrefixBytes = Encoders.Hex.DecodeData("043587cf");
var tpubData = tpubPrefixBytes.Concat(data.Skip(4)).ToArray();
var tpub = Encoders.Base58Check.EncodeData(tpubData);