From plug in to signed certificate.
A BattGrade certificate records the condition of an electric car's high voltage battery on the day of the test. This page shows how it is made, what each field means, how anyone can check it, and what it does not tell you.
Four steps, a few minutes.
You need a phone with the BattGrade app, a supported Bluetooth OBD2 adapter and a car the app can read.
- 01
Connect
Plug a supported Bluetooth OBD2 adapter into the car's diagnostic port and pair it with the BattGrade app. On Android, use the OBDLink MX+. On iPhone, use a Bluetooth LE adapter such as the OBDLink CX; MX+ support on iPhone is coming.
The car must be awake, with the ignition on or in READY mode depending on the model. The coverage page lists the adapter and any extra step for each car.
- 02
Read
The app identifies the car from its VIN and reads the battery management system (BMS) with read-only requests: the State of Health (SoH) the BMS reports, the charge level, energy or capacity where the car provides them, cell voltages, temperatures and insulation resistance. What is available depends on the model.
The app blocks any other request before it reaches the adapter. Nothing is written to the car, no fault code is cleared and no control unit is reset. Every request and response is kept with the test as raw data.
- 03
Score
The app shows a result on the spot, but it cannot set the score on a certificate. BattGrade's server runs the same decoding and scoring code on the raw data, and the certificate is issued from the server's result.
You get the SoH with its method and uncertainty band, a grade from A to F on the same bands for every make, and every check the car's data allows. If the result sent by the app does not match the server's, no certificate is issued.
- 04
Deliver
The inspector enters the customer's name and email. The customer receives the signed PDF certificate by email, with a QR code that opens its live record on battgrade.com.
A certificate is valid for 6 months from the day it is issued. After that it can still be checked, and it shows as expired.
What each field means.
This is sample certificate PKS-2026-EU-00012345, for a Hyundai Ioniq 5 Long Range. It is a demonstration, not a real car or a real inspection, but it carries every field a real certificate does.
- Cells
- 180
- Cell voltage (min / max)
- 3.812 / 3.821 V
- Cell spread
- 9 mV
- Temperature (min / max)
- 17 / 23 °C
- Nominal capacity
- 70 kWh
- Charge level at test
- 66%
- Pack voltage
- 687 V
- SoH reported by the BMS
- 91.3%
- Battery temperatures differ by more than 5 °C, which can point to a cooling issue or a faulty sensor.
- Duration
- 3 min 56 s
- OBD adapter
- OBDLink MX+ · STN2255
- Algorithm version
- 4.3
1. Certificate ID and QR code
A unique ID, also encoded in the QR code. Both open the certificate's live record at battgrade.com/verify, where anyone can check it.
2. State of Health
The usable energy or capacity of the battery today, as a percentage of what the same battery variant offered when new. Rounded to 0.1 and never shown above 100%.
3. Grade
Comes from the SoH alone, with the same bands for every make: A from 85%, B from 70%, C from 55%, D from 40%, F below 40%. It is never assigned by hand.
4. Method and uncertainty
How the SoH was obtained and how precise it is, in points either side of the score. Energy-based is preferred, then capacity-based, then the value the BMS reports.
5. Vehicle
Make, model, year and VIN. The VIN is read from the car and partly hidden on the public page; if the car does not report it, the certificate says the inspector entered it. The mileage is entered by the inspector.
6. Battery readings
The values behind the score, as the car reported them: the number of cells and their voltages, the spread between cells, temperatures and the charge level during the test.
7. Checks
Cell voltage spread, temperature spread, insulation and signs of a BMS reset, wherever the car provides the data. They are shown on the certificate and do not change the grade by themselves.
8. Test details
When the test ran, how long it took, the OBD2 adapter used and the algorithm version, so the certificate can always be read against the rules in force when it was issued.
9. Issued by
Who ran the test: the company, the inspector and their license number, with the company logo if they choose.
10. Signature and validity
A SHA-256 hash of the certificate's public data, signed with an ECDSA P-256 key, and the dates of issue and expiry. This sample is not signed, because it is not a real test.
How verification works, in plain words.
Scan the QR code or type the certificate ID at battgrade.com/verify. The page reads the certificate from our records and checks its digital signature every time it opens. It then shows one of these banners.
Green: certificate verified
The data on file matches the digital signature, so nothing has changed since the certificate was issued, and it is within its 6 months of validity. The banner names who issued it and when.
Red: could not be verified
The data on file no longer matches the signature. Do not rely on the certificate, and report it to us.
Amber: expired
The certificate is genuine, but more than 6 months have passed since it was issued. The battery may have changed since then, so ask for a new test.
Red: revoked
The inspector withdrew the certificate, for example after a mistake. A certificate cannot be edited after it is issued, so do not rely on a revoked one.
If an ID does not exist, the page says so. A printed certificate whose ID cannot be found may be counterfeit.
The signature and the public keys
When a certificate is issued, BattGrade's server computes a SHA-256 hash over a canonical form of its public data (the vehicle, the result, the readings, a hash of the raw data and the issuer) and signs it with an ECDSA P-256 key. Customer details are not part of the signed data. Each time the page opens, it recomputes the hash from the stored data and checks the signature.
Our public keys are published, so anyone can check a signature without our page.
See the public keysWhat a certificate does not tell you.
It is not a range figure
The SoH compares the battery's energy or capacity with the same battery when new. The range a car achieves also depends on the car, the weather and how it is driven.
It does not find every possible fault
It reports the SoH and the checks the car's data allows on the day of the test. It is not a full inspection of the car or of its electrical system.
It depends on what the BMS exposes
Some cars report more data than others. A check that cannot run is not shown, and when the exact battery variant cannot be confirmed, the certificate says so.
It is a reading on one day
It records the battery on the day of the test, which is why it is valid for 6 months. It is not a warranty on the battery's future condition.
BattGrade is not an authority
BattGrade is not a public authority and not an accredited test lab. What we stand behind is how the number is made: calculated and signed by our server from the car's own data, with the inspector named on the certificate.
Questions, answered.
Ready to issue your first certificate?
Get early access to the app, or check a certificate you already have.