ARK Scooters, a rental solution using IoT on the Blockchain, has officially been completed by community developers Pj and emsy!
ARK Scooters is funded by the ARK Grants Program, formerly known as the Tier 0 Program. This PoC (Proof-of-Concept) uses a combination of IoT hardware, ARK’s Generic Transaction Interface(GTI) and a mobile user app to interface with. All of this is built on an ARK Bridgechain called Radians to manage registration, locking, unlocking, location and management of scooter rentals.
Concepts like ARK Scooters are exciting, but also important because they illustrate practical applications of Blockchain technology in ways that are easy to visualize and understand. It’s also critical that community developers find the support they need to see their ideas become a reality.
Emsy is a developer and an ARK technology aficionado. He’s worked on multiple ARK related projects such as ARK Promo, a proof of concept loyalty program, and Arkifier.net, a tool that sends an e-mail when your delegate loses its forging ability.
Pj’s background is in electrical engineering with a focus on embedded firmware and ASIC development for consumer electronics. He currently owns a distribution/e-commerce business and spends lots of time researching IoT technology. Pj has been prototyping with the ARK C++ SDK since 2018.
Emsy and Pj both applied to the bounty shortly after it was posted. They didn’t know each other beforehand, but hit it off quickly, giving birth to a new collaboration.
Their contributions show what’s possible with ARK and a talented community that never shies away from a challenge.
We’re honored to present their hard work to the world.
As you can see above, the ARK Scooters project has multiple moving parts. For the sake of keeping things a bit less technical, we’ll stick the major components and provide a birds-eye-view of how it all works.
You can find more in-depth info, like repos and technical documentation in the links below this article or visit the Radians website.
Internet of Things(IoT)
The ARK Scooters project uses battery-powered embedded hardware that contains WiFi, GPS, a display and an electronic switch to control the scooters lock.
This IoT device attaches to an electric scooter and is wired so that it can enable/disable power to the scooter’s motor.
It’s also responsible for generating a QR code. This QR code contains information such as location, recipient wallet address and rental-rate in the Radians native Bridgechain token.
A rental session is initiated by scanning the QR code and sending a Rental Start transaction to the Bridgechain.
Once the Rental Start transaction is received and forged by the Bridgechain, an event is emitted, triggering the scooters IoT hardware to unlock for use.
When the time is up, the rental session is done and the scooter automatically locks, making it available for rental again.
The ARK Scooters App is the primary interface for users and works on both iOS and Android. This simple front end design is how the end-user or scooter renter, will interact with the entire process. In a nutshell, it’s how a user rents a scooter and views the details of their ride from their phone app. Think of it as a simplified Uber/Lyft app without a middleman and you are the driver.
A user initiates a rental using the mobile app to scan a QR code generated by the scooters IoT device.
After scanning the QR code, a user sets the duration of their ride based on a predetermined fee and signs the transaction.
Once the Rental Start transaction is sent to Radians and subsequently forged/validated, an event is sent in real-time to the scooter.
The IoT device then unlocks the scooter so the user can have some fun!
The ARK Scooters Mobile App also comes with some cool features like monitoring real-time Bridgechain events, and native dark-mode on iOS.
Custom ARK Bridgechain (Radians)
Important information about the state of the scooter is stored on Radians, a custom ARK Bridgechain developed by emsy and Pj.
This information includes scooter registration and rental status, as well as information pertaining to geolocation and rental duration. Other rules, such as fees and whether or not a rider can receive a refund for unused time, may also be configured.
All of this is done through the use of ARK’s Generic Transaction Interface (GTI). For those who aren’t familiar, ARK’s GTI is essentially a template for developers to make their own custom transaction types without having to modify their Core framework. GTI inherently has a much lower level complexity compared to Core and helps accelerate development and distribution.
The ARK Scooters project relies on the following 3 custom transaction-types:
- Scooter Registration— this is where the owner of a scooter can register their hardware, making it available for rental.
- Rental Start Transaction — sent by the user, a Rental Start transaction is initiated by scanning the scooters QR Code via the ARK Scooters Mobile App.
- Rental Finish Transaction— a Rental Finish transaction is sent from the scooters IoT hardware once a ride is completed. Any unused fees are automatically refunded to the users wallet address.
Alongside custom transactions, Socket Event Forwarder, a custom ARK Core plugin, has also been developed and implemented to emit real-time events via web-sockets to connected clients. This is used to send real-time Radians updates to the Mobile App.
To build your own customized blockchain in minutes with zero programming required, visit
The Analytics dashboard is an opportunity to connect some well known traditional IoT tools with Blockchain technology.
ARK Scooters Dashboard DemoThis dashboard is responsible for providing the real-time status of registered hardware, the Blockchain network and also aids in debugging and development of the embedded hardware and firmware.
It was created using Thingsboard.io, an open-source platform for data collection and visualization. This enables connectivity to devices through many common IoT protocols such as MQTT and HTTP.
Node-RED is used for data processing and mapping. It is a flow-based programming tool that allows for rapid prototyping and connectivity of IoT devices.
MQTT is the primary off-chain protocol used for communication between the blockchain, Scooter devices and analytics dashboard.
The ARK Core MQTT plugin developed by ARK Delegate and contributor, deadlock. This sends real-time updates between the Radians Bridgechain and the Analytics Dashboard, as well as the scooter, using the MQTT Protocol.
What does all of this mean?
As the technological landscape shifts towards automation, there’s a prime opportunity to leverage efficiency and security using IoT and Blockchain technology.
Whether it be tracking agricultural products to combat waste, distributing medical supplies to hospitals and organizations who need them the most, or facilitating the “sharing economy” via trustless P2P execution of agreements and contracts, the ARK Scooters project provides a means of managing real-world assets in a secure and highly extensible way.
The ARK Scooters project is also open-source and MIT-licensed, meaning other developers and projects can consider this milestone in IoT-Blockchain interoperability a new addition to their toolkit.
We’d like to thank Pj and emsy for their hard work and dedication. They’ve built something meaningful that can be applied to an endless variety of real-world issues. We eagerly look forward to what they come up with next!
Be sure to stay tuned to for the latest announcements, updates, and tutorials on leveraging the power of ARK.
A final note from the developers, Pj and emsy:
“We would like to thank the ARK team for the amazing opportunity to work on this project and providing information when needed. Simon, a special thanks to you for leading this project and your support. This is not where it ends, we are brainstorming and working out different project ideas, so expect more to come!”
- Technical Docshttps://hackmd.io/@mnZKMGswTE6nbJ4se7ofcA/HyAY01QwU
- QR Spechttps://hackmd.io/corNBA4URX6YpLrQzbsg4A
- ARK C++ Crypto SDK 1.0.0 (w/Radians support)https://github.com/sleepdefic1t/cpp-crypto/tree/chains/radians
- ARK C++ Client SDK [Arduino]https://github.com/ArkEcosystem/cpp-client/tree/arduino
- Mobile Apphttps://github.com/e-m-s-y/scooter-app
ARK Core Plugins
- ARK Core Transaction Plugin (GTI)https://github.com/e-m-s-y/scooter-transactions
- ARK Core Event Forwarder Pluginhttps://github.com/e-m-s-y/socket-event-forwarder
- ARK Core MQTT Event Forwarder Pluginhttps://github.com/deadlock-delegate/mqtt
- Radians Websitehttps://radians.nl
- Radians Explorer
- How to Develop Custom Transaction Types with Core GTIhttps://blog.ark.io/an-introduction-to-blockchain-application-development-part-2–2–909b4984bae
ARK Grants is a funding program dedicated to helping bring innovative ideas to the ARK Ecosystem. This program is designed to help fund Proof-of-Concept plugins and applications built on the ARK Core Framework.
For more information on ARK Grants, visit us at
Have a ground-breaking idea on how this could be implemented, or just want to take part in the discussion? Reach out to us on social media and let us know what you think!