This is my attempt to reverse engineer Whoop 4.0,
Packets can be obtained with app found in record-app, app finds device whose name starts with WHOOP and subscribes to all characteristics to get data, which can be transferred with server.py.
Or using extract-logs.sh and parse_pcap.py to get bluetooth logs from android using adb.
Notes of decoding can be found in DECODING and functions that decode in misc.py.
Some of write commands have be identified but I can identify algo used to calculate checksum, so I can't test these commands.
Currently it seems that sending aa0800a8230e16001147c585
to 61080002-8d6d-82b8-614a-1c8cb0f8dcc6
returns last few minutes of values.
Repo attempting to emulate whoop can be found here