project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5

Open Training Data P

The Open Training Data Protocol will set your training data free.

Open Training Data P

Created At

ETHGlobal Cannes

Project Description

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).

How it's Made

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:

  • User address
  • Protocol version
  • File ID (the most important field)—which corresponds to a blob ID on Walrus.

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:

  • View onchain training data (this functionality was minimally implemented for testing purposes).
  • Upload new training data—the main focus of the demo.

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:

  • Average speed
  • Distance
  • Other performance metrics.

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.

  1. Uploading the FIT File: When the user initiates the upload, the app handles a FIT file - a compressed data format developed by Garmin for storing fitness data efficiently.

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:

  • Long-term storage strategies
  • Privacy-preserving methods such as encryption
  • Possibly assigning each user their own vault for enhanced data control.
  1. Storing Metadata On-Chain: Once the file is uploaded, the app stores the resulting blob ID on the blockchain - this step is essential to later retrieve the training data.

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:

  • Verifying that an activity was actually performed
  • Confirming that the data was imported from trusted sources like Strava
  • Attaching additional verification methods for coaching or competitive use cases.
background image mobile

Join the mailing list

Get the latest news and updates