Today, all users need a web3 wallet like Metamask or Rainbow for the actions required to pair their device <> vehicle <> wallet. Future updates will provide more options like a native wallet in the DIMO mobile app, and pre-configured devices controlled by a fleet manager account.
This wallet is how you establish ownership of and control the vehicle, device, and any rewards you might earn. In the future, it will allow you to seamlessly move between different apps that might want to use your data or vehicle ID - just log in and your data will populate.
Connecting a wallet can be done by creating your account with the wallet (via WalletConnect) or linking a wallet to your account after creating an account with email.
DIMO Devices come with a secure element, such as NXP SE050, which stores a crypto wallet.
In the pairing process in DIMO Mobile, what you are actually doing is claiming the digital twin of the physical device. You do this by proving you have physical possession of the device, which you do by connecting to it over bluetooth and asking the device’s wallet to sign a message.
When the DIMO smart contract sees this message, the device’s signature, and your signature, it will transfer the digital twin of the device (which represents ownership) to YOUR wallet. The effect is like a marriage license, with both parties signing the message together. Here’s an example transaction on Polygon.
Now that your wallet “owns” the device, you’ll show that your wallet and your vehicle are connected.
The device is capable of reading a unique fingerprint of your car.
When you connect your phone to the device over bluetooth, in addition to the steps above, you’re also prompting the device to generate this fingerprint from the car and sign it to verify authenticity. The fingerprint is checked against our database to validate the vehicle.
After the fingerprint is generated and checked, a user uses their wallet to sign a minting tx that creates the vehicle ID on-chain owned by the user’s wallet.
By now a user has linked:
- User wallet <> Device
- User wallet <> Vehicle
The last step is to finalize the link between Device <> Vehicle.
To be more clear about the links above, the user’s wallet now owns both unique digital twins: the device’s and the car’s. Cars are nice because they already have identities provided to them by the manufacturer — represented by a VIN or Vehicle Identification Number.
DIMO has built a “Digital DMV” that keeps track of every car that we can find in the world, and makes sure that users are able to pair with and own each vehicle only once. As more cars are produced, they’re checked for compatibility and added to the list — we’re doing that constantly.
Next, a user signs a transaction that links these together, and the process is complete. It’s also reversible, so if you sign another message, you can unlink this device and vehicle and move your device to another car. Just know that you can’t send data from more than one vehicle at a time, so you can’t earn rewards or use the data from multiple cars. One device can only be linked with one car, always.