BTG addresses can begin with G, A, or btg1 - what do these mean?
An address beginning with an G is the original kind of address, which is why we call it a Legacy address. It’s technically a P2PKH (Pay to Public Key Hash) address. This kind of address corresponds to Bitcoin legacy addresses, which all begin with a 1.
Funds sent to these kinds of addresses are usable by whoever has control of the private keys for that address - typically, that’s whoever use wallet software to create that address. (The wallet software keeps the private key secret.)
An address beginning with A is a P2SH address (Pay to Script Hash). It corresponds to a Bitcoin address beginning with a 3.
Because funds are paid to a Script, it is processed differently and is more flexible. P2SH addresses are used for things like multi-signature addresses, time-locked addresses, and more. P2SH transactions can be smaller than P2PKH addresses, and so may save on fees.
Another thing that could be wrapped in the scripts of a P2SH address is a SegWit address. The use of SegWit addresses effectively increases the block size, costs less in fees, and solves the malleability problem.
All of the above - SegWit, P2SH addresses with an A, and P2PKH addresses with a G have been available since the first release of the BTG Core Wallet in late 2017, v0.15.0.1 (which was based on Bitcoin Core Wallet v0.15, which included SegWit.)
This newest address format is called Bech32, and is used for Native SegWit addresses. On BTG, these addresses begin with btg1 and they correspond to Bitcoin addresses that begin with bc1.
With the new Bech32 format, it became possible to implement SegWit Natively - no wrapping required - resulting in even smaller transactions with even lower fees, plus multiple other advantages from Bech32 - such as future compatibility, error correction ability, and more.
Full support for Native Segwit addresses in Bech32 format has been available in BTG Core Wallet since v0.17.0.
Not all wallets and exchanges support Bech32 addresses as of 2020, but the format is being gradually adopted across the industry. A few services still only support Legacy addresses. All BTG wallets we’re aware of will allow you to create a Legacy address for receiving BTG, and can send BTG to a Legacy address, so there’s little cause to worry about being unable to transact. It’s preferable to use the better Native Segwit address type when possible.
Generally speaking, technical information and explainers you find online regarding Bitcoin will apply to BTG, and vice versa, with the exception of the address prefixes.
Address prefix guide:
(SegWit addresses can be wrapped into P2SH addresses, or can be made as Native SegWit addresses with Bech32.)