Are bech32 and base58 the only formats that a Bitcoin address can use or is there another?
2 Answers
Yes. Base58 and bech32 are the only standardized address formats.
However, there exist standard ScriptPubKeys (the "locking" Script in the output) for which no address format is defined.
Sort of. All legacy output types use base58check (which uses the base58 encoding and adds a checksum) in their address encoding. Native segwit v0 outputs use bech32 addresses, while native segwit output v1 (P2TR) use the bech32m address encoding which is a slightly modified version of bech32. Future output types will likely also use bech32m.