The Open Training Data Protocol will set your training data free.
The Open Training Data Protocol (OTDP) is a lightweight, open standard designed to store and exchange training activity data recorded by devices during sports such as swimming, cycling, running, and more.
Currently, services like Strava, or device manufacturers like Garmin, create a lock-in effect by storing all your training data exclusively within their ecosystems. This prevents athletes from truly owning their personal performance records and limits how they can use, share, or analyze their data.
OTDP aims to break this lock-in by liberating training data—empowering athletes, coaches, and developers to store, transfer, and utilize their data independently of proprietary platforms.
By owning your training data, you unlock powerful possibilities:
Proof of Training: Use your verified activity records for innovative applications like performance-based NFTs, challenge verification, or coaching validation.
Interoperability: Seamlessly migrate your training history between platforms and apps, allowing you to use your preferred user interface and services without losing data.
Personal Privacy Control: Define your own privacy rules—whether you want to keep your data private, share it selectively, or make it fully public.
Advanced Personal Analytics: Run custom analysis or integrate your data with specialized tools for deeper insights into your training, progress, and performance.
Anonymous Data Sharing for Research (Future Use Case): Contribute your anonymized training data to scientific or community research projects, helping to advance fields like sports science, health studies, and urban planning—while maintaining full control and anonymity.
With OTDP, your training data becomes portable and private—giving you the freedom to use it however you choose, both now and in the future.
In this proof of concept a simple flow was built to be able to export the data from a service like strava, view the data, upload it to walrus and save the meta data onchain (zircuit).
The proof of concept (PoC) web app for the Open Training Data Protocol was primarily built with Next.js (TypeScript), using shadcn for the user interface and Privy for account management.
For storage, Walrus was chosen as the solution for file storage, while Zircuit served as the main network to store onchain metadata.
Core Protocol Design At the heart of the Open Training Data Protocol is a lean smart contract. This contract defines an Activity struct containing key fields such as:
The contract includes various mappings to index and retrieve data efficiently, and emits an event whenever a new activity is stored. This makes it easy to fetch activity metadata based on different criteria—such as by user or activity type.
Web App Workflow The PoC web app allows users to either:
Uploading Training Data In the current demo flow, users begin by connecting to a service—though for demonstration purposes, the app simply offers a selection of static sample training data from a predefined list.
Once selected, the data can be viewed in a dashboard-style interface, showcasing typical training KPIs such as:
For interacting with the blockchain, the app uses viem as the primary web3 library.
Uploading to the Blockchain The most technically interesting part of the PoC is the onchain upload process.
The app uploads this file to Walrus via a companion service called Tusky. Tusky simplifies creating vaults and storing individual files.
In a production-ready implementation, additional considerations would be necessary:
The final step involves calling the storeActivity function of the protocol’s smart contract (currently deployed on the Zircuit Garfield Testnet, chosen for its speed and low fees). This creates a lightweight onchain activity record that links the user’s address to their stored training data.
In future versions, the protocol could incorporate custom proofs, for example: