Why does the BLE MAC address keep changing on my smartphone?

Smartphones use “private resolvable random addresses” which can be changed as frequently as desired and that happens to protect the privacy of the user as the phone cannot be tracked for long.

A private resolvable random address is derived from a 3 byte random number and a 16 byte Identity Resolving Key (IRK). The two pieces of data are fed into an AES encryption block and the lowest 3 bytes of the output is concatenated to the 3 byte random number to generate the address.

The IRK is optionally exchanged by devices when they pair. A smartphone will always give it, at pairing, so that the peripheral will be able to identify the smartphone even when the random resolvable mac address is used by the phone.