src/utils/validation.ts's validateRecipient and src/components/SendFlow/RecipientStep.tsx's inline validate() both only check address.startsWith('G') && address.length === 56, which accepts strings that are not valid ed25519 public keys (bad checksum).
Meanwhile src/utils/stellar.ts already exports a correct isValidStellarAddress using StrKey.isValidEd25519PublicKey, and src/components/ContactBook/AddContact.tsx correctly uses it. Consolidate all recipient/address validation call sites onto isValidStellarAddress to prevent building/signing transactions against malformed addresses.
src/utils/validation.ts'svalidateRecipientandsrc/components/SendFlow/RecipientStep.tsx's inlinevalidate()both only checkaddress.startsWith('G') && address.length === 56, which accepts strings that are not valid ed25519 public keys (bad checksum).Meanwhile
src/utils/stellar.tsalready exports a correctisValidStellarAddressusingStrKey.isValidEd25519PublicKey, andsrc/components/ContactBook/AddContact.tsxcorrectly uses it. Consolidate all recipient/address validation call sites ontoisValidStellarAddressto prevent building/signing transactions against malformed addresses.