anchor.diff:           LTargetEPASA.PayloadType := LTargetEPASA.PayloadType + [ptBase58Formatted];
            if Not TPascalBase58Encoding.TryDecode(LUserPayloadString,LPayloadBytes) then begin
              AErrors := 'Payload is not a Base 58 string';
  +           Exit(False);
  +         end;
  +
  +         // GUI Base58 protection: In order to prevent manual mistake, Base58 is only allowed when introducing
  +         // a Public key, otherwise will need to use String ("") or Hexadecimal (0x..) input
  +         if Not TAccountComp.AccountPublicKeyImport(LUserPayloadString,LPublicKey,AErrors) then begin
  +           AErrors := 'Not a Public key: '+AErrors;
              Exit(False);
            end;
         end
  
positive.code:   if NOT Result then begin
      lblTransactionErrors.Caption := AErrors;
      Exit(False);
    end;
  
    if LResolvedAccountNo <> CT_AccountNo_NUL then begin
  
negative.code: function TFRMOperation.UpdateOpTransaction(const ASenderAccount: TAccount; out ATargetEPASA : TEPasa; out ATargetAccount : TAccount; out AResolvedTargetKey : TECDSA_Public; out ATargetRequiresPurchase : Boolean; out AAmount: Int64; out AErrors: String): Boolean;
  Var
    LResolvedAccountNo : Cardinal;
    LPublicKey : TAccountKey;
  begin
    AErrors := '';
    lblTransactionErrors.Caption := '';
  