26 January 2026
Posted by Rachel S, Android Product Manager
Trade-in mode: faster assessment of a factory-reset phone or tablet, bypassing setup wizard, a new feature on Android 16 and above.
Android is committed to making devices last longer. With device longevity comes device circularity: phones and tablets traded-in and resold. GSMA reported that secondhand phones have around 80-90% lower carbon emissions than new phones. The secondhand device market has grown substantially both in volume and value, a trend projected to continue.
Android 16 and above offers an easy way to access device information on any factory reset phone or tablet via the new tradeinmode parameter, accessed via adb commands. This means you can view quality indicators of a phone or tablet, skipping each setup wizard step. Simply connect a phone or tablet with adb, and use tradeinmode commands to get information about the device.
Trade-in mode: What took minutes, now takes seconds
Faster trade-in processing – By bypassing setup wizard, trade-in mode improves device trade ins. The mode enables immediate access to understand the ‘health’ of a device, helping everyone along the secondhand value chain check the quality of devices that are wiped. We’ve already seen significant increases in processing secondhand Android devices!
Secure evaluation – To ensure the device information is only accessed in secure situations, the device must 1) be factory reset, 2) not have cellular service, 3) not have connectivity or a connected account, and 4) be running a non-debuggable build.
Get device health information with one command – You can view all the below device information with adb command from your workstation adb shell tradeinmode getstatus, skipping setup wizard:
Device information
Device IMEI(s)
Device serial number
Brand
Model
Manufacturer
Device model, e.g., Pixel 9
Device brand, e.g., Google
Device manufacturer, e.g., Google
Device name, e.g., tokay
API level to ensure correct OS version, e.g., launch_level : 34
Battery heath
Cycle count
Health
State, e.g., unknown, good, overheat, dead, over_voltage, unspecified_failure, cold, fair, not_available, inconsistent
Battery manufacturing date
Date first used
Serial number (to help provide indication of genuine parts, if OEM supported)
Part status, e.g., replaced, original, unsupported
Storage
Useful lifetime remaining
Total capacity
Screen Part status, e.g., replaced, original, unsupported
Foldables (number of times devices has been folded and total fold lifespan)
Moisture intrusion
UICCS information i.e., Indication if there is an e-SIM or removable SIM and the microchip ID for the SIM slot
Camera count and location, e.g., 3 cameras on front and 2 on back
Lock detection for select device locks
And the list keeps growing! Stay up to date here.
Run your own tests – Trade-in mode enables you to run your own diagnostic commands or applications by entering the evaluation flow using tradeinmode evaluate. The device will automatically factory reset on reboot after evaluation mode to ensure nothing remains on the device.
Ensure the device is running an approved build – Further, when connected to the internet, with a single command tradeinmode getstatus --challenge CHALLENGE you can test the device’s operating system (OS) authenticity, to be sure the device is running a trusted build. If the build passes the test, you can be sure the diagnostics results are coming from a trusted OS.
There’s more – You can use commands to factory reset, power off, reboot, reboot directly into trade-in mode, check if trade-in mode is active, revert to the previous mode, and pause tests until system services are ready.
Want to try it? Learn more about the developer steps and commands.