If you are having issues with the exercises, please create a ticket on DevZone:
Click or drag files to this area to upload. You can upload up to 2 files.

Bluetooth address

Every Bluetooth LE device is identified by a unique 48-bit address. Bluetooth addresses are categorized as either public addresses or random addresses. Random addresses can further be classified into static or private addresses, depending on whether they change or not. Furthermore, private addresses can either be resolvable or non-resolvable.

All Bluetooth LE devices must have either a public address or a random static address. Optionally, they can also have resolvable or non-resolvable private addresses, usually added for privacy reasons.


The public address assigned to a device is drawn out of the same IEEE address pool as MAC addresses (e.g. for ethernet, Wi-Fi), and therefore it is also commonly referred to as a Bluetooth MAC address.

Public address

A public address is a fixed address that is programmed into the device at the manufacturer. It must be registered with the IEEE registration authority, and it’s globally unique to that device and cannot be erased. There is a fee associated with obtaining this type of address.

Random address

A random address is much more commonly used, as it does not require registration with the IEEE and can be manually configured by the user. It is either programmed within the device or created during runtime. You can either have a static or a private address.

Random static address

A random static address can be allocated and then fixed throughout the lifetime of the device. It can be altered at bootup, but not during runtime. This is a low-cost alternative to a public address because you don’t need to register it.

As mentioned above, all Bluetooth LE devices must use either a public address or a random static address, where the latter is far more common.

Random private address

A private address can be used in addition to the public or random static address when a device wishes to protect its privacy. This is an address that changes periodically and is used to hide the device’s identity and to deter device tracking.

A random private address can be resolvable or non-resolvable.

Resolvable random private address

A resolvable private address is, true to its name, resolvable as intended listeners have a pre-shared key by which they can figure out the new address every time it changes. The pre-shared key is the Identity Resolving Key (IRK) and is used both to generate and to resolve the random address.

The random address is basically just used by the peer to be able to resolve the actual address of the Bluetooth LE device, which is still either the public or the random static address. The IRK allows the peer to translate the random private address into the device’s real Bluetooth LE address.

Non-resolvable random private address

A non-resolvable private address is not resolvable by other devices and is only intended as a way to prevent tracking. This type of address is not commonly used.

To summarize there are four different types of addresses:

  • Public address: Programmed into the device by the manufacturer, and is registered with the IEEE.
  • Random static address: Configurable at boot up and is fixed through the lifetime of the device. Does not need to be registered with the IEEE, and is a common alternative to a public address.
  • Resolvable random private address: (optional) An address that changes periodically, but is resolvable by means of a pre-shared key.
  • Non-resolvable random private address: (optional) An address that changes periodically and is not resolvable.
Register an account
Already have an account? Log in
(All fields are required unless specified optional)

  • 8 or more characters
  • Upper and lower case letters
  • At least one number or special character

Forgot your password?
Enter the email associated with your account, and we will send you a link to reset your password.