public override async Task<Profile> RequestProfile(string name)
        {
            uint accountIndex = ProfileNameToIndex(name);
            var keyPath = new KeyPath(DerivationPath).Derive(accountIndex);
            byte[] derivationData = keyPath.ToBytes();
            var output = await SendRequestAsync(EthGetAddress.Request(derivationData));
            if(IsSuccess(output.StatusCode))
            {
                var address = new HoardID(EthGetAddress.GetAddress(output.Data));
                return new HDWalletProfile(name, address, derivationData, this);
            }

            throw new Exception("HD wallet returned error: " + output.StatusCode);
        }