What is the difference between a Bitcoin address and a wallet?

TL;DR: When it comes to Bitcoin transactions, your wallet generates a specific Bitcoin address that acts as the sole destination for these transactions. This address works similarly to an invoice ID or bank account number, but it is unique to the Bitcoin system. Your wallet automatically generates an address when receiving bitcoin, and while reusing addresses is feasible, it is generally discouraged due to privacy concerns.

A Bitcoin address serves as the destination for a Bitcoin payment in your wallet. Each address is unique, often appearing as a string of characters or a QR code generated by a Bitcoin wallet. This unique data is provided to the payee to instruct them on where to send the bitcoin. As the Bitcoin address is produced by your wallet, it allows the wallet to monitor and notify you when the payment is received. Additionally, the wallet has control over any bitcoin sent to this address, as well as any other addresses that it generates for you.

While a Bitcoin address may be comparable to an invoice ID or a banking account number, it's not a direct equivalent. Like an invoice ID, a Bitcoin address is typically used for a single transaction, and similar to an account number, it can receive payments. However, it is distinctly different from both and is a unique entity in the Bitcoin system.

In general, you do not need to concern yourself with these technicalities because your wallet will automatically generate a Bitcoin address whenever you select the "receive" option. All you need to do is share the resulting QR code or text string with the sender to be ready to accept bitcoin to that address. While it's technically possible to reuse Bitcoin addresses, it's strongly discouraged due to privacy concerns and other potential issues.