Inspiration
Lost fishing nets don't stop fishing when they're abandoned. Known as ghost gear, they can drift through the ocean for years, continuing to entangle fish, turtles, and other marine life. A 2018 study estimated that fishing nets accounted for at least 46% of the floating plastic mass in the Great Pacific Garbage Patch.
But recovering these nets presents three interconnected problems: accountability, location, and incentives.
When equipment disappears, it can be difficult to establish who owns it. Ocean currents carry it far beyond its last known position, making retrieval uncertain and expensive. And even when another vessel encounters lost gear, there may be little financial reason to recover it.
We wanted to address all three problems together. What if every fishing net had a traceable identity, its likely location could be estimated after it was lost, and recovering it carried a transparent financial reward?
That became Ghost Gear Recovery: a blockchain-backed system that connects ocean science, environmental prioritization, and economic incentives to make recovering lost fishing equipment more actionable.
Track Alignment — Sustainable Supply Chains
Ghost Gear Recovery extends the fishing gear supply chain beyond the point of purchase and into its end-of-life recovery. Through blockchain-based digital product passports, refundable deposits, and transparent recovery incentives, we make lost equipment traceable and financially worthwhile to retrieve. Our system combines product lifecycle accountability with circular-economy principles, while ocean-current forecasting and environmental prioritization also connect it to the Climate Data & Environmental Monitoring track.
What it does
Ghost Gear Recovery follows fishing equipment throughout its lifecycle, from purchase to loss and eventual recovery.
1. Registration and accountability
When a participating fishing organization purchases nets, each receives a unique QR identification tag and an ERC-721 digital product passport. A refundable deposit is held by a blockchain smart contract. Returning equipment responsibly allows the owner to reclaim that deposit; reporting it lost redirects the collateral toward recovery funding.
2. Predicting where lost nets drift
When a net is reported lost, its last known coordinates and time become the starting point for an ocean-current simulation. Rather than predicting a single location, our engine simulates 1,000 possible trajectories for that net, producing geographic probability distributions and 50% and 90% forecast regions.
These individual forecasts can also be aggregated to reveal regional concentrations of potentially recoverable gear.
3. Turning forecasts into financial rewards
We divide the ocean into geographic zones and evaluate environmental priority using marine protected areas, simulated movement toward protected waters, and chlorophyll-based indicators of biological productivity.
A net's bounty is calculated by weighting the priority of each zone by the probability that the net occupies it. This allows rewards to evolve as forecasts change, without pretending that the net's exact location is known.
Deposits and external sponsorship fund a shared recovery pool. Advertised rewards are published in daily price lists, cryptographically committed to the blockchain, and locked when a recovery claim is submitted.
4. Automated verification and payment
Recovery crews photograph a recovered net's identification tag and submit a location. The system checks its registered identity, ownership, recovery eligibility, geographic plausibility, and photographic evidence.
A locally running vision-language model helps distinguish photographs of actual fishing equipment from images containing only a printed tag.
When a claim passes verification, the smart contract automatically releases its bounty and updates the net's status. The same net cannot receive another recovery payout.
The result is an interactive recovery marketplace where users can explore predicted hotspots, inspect individual nets and their rewards, and complete the recovery process through an auditable transaction.
How we built it
We developed Ghost Gear Recovery as an integrated system connecting scientific computation, geographic analysis, automated verification, and Ethereum-compatible smart contracts.
Ocean-current simulation: We used historical NASA/ESR OSCAR v2.0 surface-current data from 2021. Our Python engine runs a 1,000-particle ensemble using fourth-order Runge–Kutta integration (RK4), three-hour timesteps, and randomized drift variation to represent uncertainty. The resulting trajectories are transformed into geographic probability distributions.
Environmental modeling: We divided our North Pacific study region into 1,578 H3 hexagonal zones. Each zone receives a priority score based on NOAA marine sanctuary boundaries, additional drift simulations estimating encounters with protected waters, and NOAA chlorophyll observations as a proxy for biological productivity.
Dynamic pricing: Instead of calculating arbitrary prices independently for every net, we combine regional priorities with each net's forecast probabilities. Our backend produces daily bounty lists, then constructs Merkle trees so their published values can be verified by a smart contract without storing every price individually on-chain.
Mathematical modeling: Our environmental priority and bounty calculations are explicitly defined rather than assigned arbitrarily.
For each geographic zone (z), we calculate:
$$ S_z = 1 + 2M_z + 2E_z + C_z $$
Here, (M_z) measures overlap with protected or near-shore waters, (E_z) estimates the probability of drifting into those waters within 60 days, and (C_z) represents normalized chlorophyll concentration as a proxy for biological productivity.
For each lost net (n), its advertised bounty at time (t) is:
$$ B_n(t) = D_n + I_n(t)\lambda_t\sum_z p_{n,z}(t)S_z $$
Here, (D_n) is the forfeited deposit, (p_{n,z}(t)) is the simulated probability of the net occupying zone (z), and (\lambda_t) scales the sponsor-funded bonus according to the available budget. The indicator (I_n(t)) is zero during the first three days after loss and one afterward.
Finally, the expected number of recoverable nets in a zone is:
$$ N_z(t) = \sum_n p_{n,z}(t) $$
This lets us aggregate uncertain individual forecasts into regional recovery hotspots without pretending to know every net's exact location.
Blockchain: We built Solidity contracts using OpenZeppelin and tested them with Foundry. Our GearEscrow contract manages digital passports, deposits, sponsor contributions, reward reservations, claims, and payouts. We used DemoUSD as simulated currency and deployed the contracts both locally and on the public Base Sepolia testnet.
The smart contract enforces financial constraints, including preventing duplicate payouts, restricting owners from claiming their own equipment, and ensuring advertised rewards remain covered by the available funds.
Automated verification: We combined QR-based identification, deterministic claim checks, geographic plausibility testing, and Qwen2.5-VL 3B running locally through Ollama. The model evaluates photographic evidence without relying on paid AI APIs.
Application: The frontend uses React, TypeScript, MapLibre, and deck.gl, connected to a Python FastAPI backend. We also developed a 28-step interactive guided demonstration that takes visitors through registration, loss reporting, forecasting, recovery, verification, and payment.
To make the technology inspectable beyond the interface, we reproduced a complete recovery lifecycle on Base Sepolia, with publicly visible transactions and verified smart-contract source code.
Challenges we ran into
Making environmental data usable. Our original ocean-current dataset was approximately 10 GB, included a 35-day gap, and represented some land cells with invalid velocity values. We had to isolate a continuous historical period, extract the relevant geographic region, and correct the simulation's handling of missing data and coastlines.
Connecting probabilities to actual financial decisions. Forecasts produce uncertain locations, not precise positions. We needed a method that translated a distribution of possible locations into meaningful environmental priorities and rewards. Probability-weighted regional pricing allowed us to do this without assigning artificial certainty to each net.
Keeping blockchain and backend calculations consistent. Our pricing engine runs in Python, while reward verification happens in Solidity. Building compatible Merkle proofs and maintaining correct accounting across deposits, available funds, and reserved bounties required careful testing.
Verifying recoveries without expensive external infrastructure. A QR code identifies a registered net, but a photograph of a QR code alone doesn't prove someone recovered physical fishing equipment. We combined deterministic checks with a local vision model to detect some straightforward fraudulent claims while recognizing that photographic evidence cannot establish a physical recovery with certainty.
Creating a reliable end-to-end demonstration. The system combines several independently complex technologies. We developed a repeatable scenario that restores the application and local blockchain to a known state, allowing the complete lifecycle to be demonstrated consistently.
Accomplishments that we're proud of
Our biggest accomplishment is building a complete, functioning connection between environmental forecasting and blockchain-based financial incentives, rather than stopping at an environmental visualization or a smart-contract prototype.
Some specific milestones include:
- An operational drift engine producing probabilistic forecasts from real historical ocean-current data.
- Environmental priority calculations across 1,578 geographic zones, connected directly to dynamic recovery pricing.
- Smart contracts with 16 passing Foundry tests, including accounting-invariant tests and Python–Solidity Merkle verification.
- A working local vision model integrated into automated recovery screening.
- End-to-end registration, loss reporting, bounty publication, claim verification, payment, and fraud-rejection workflows.
- A public Base Sepolia deployment demonstrating the complete transaction lifecycle, with verifiable contract source and transaction history.
- An interactive geographic platform and guided demonstration connecting all these components into one understandable experience.
We're particularly proud that the blockchain serves an actual purpose: holding funds, enforcing shared rules, verifying advertised prices, and providing an auditable transaction history among participants who would not necessarily trust a single central administrator.
What we learned
This project taught us that building a useful environmental technology requires more than producing an accurate-looking prediction.
A probabilistic model becomes much more valuable when its output informs a decision. We learned how to translate simulated geographic uncertainty into environmental priorities, combine those priorities into dynamic financial incentives, and make the resulting rewards verifiable through cryptographic commitments.
We also gained experience connecting very different technical systems: scientific Python, geographic datasets, Solidity contracts, local vision-language models, and an interactive web application.
Perhaps most importantly, we learned to distinguish a technically functioning prototype from a validated real-world system. Our historical-current simulations, automated evidence checks, and financial mechanisms demonstrate an approach, but actual deployment would require stronger physical modeling, independent verification, and testing with fishing communities.
What's next for Ghost Gear Recovery
Our next priority is moving from a historical proof of concept toward a system that could support real recovery operations.
We would like to integrate near-real-time ocean currents, wind-driven drift, and additional fishing-gear characteristics to improve forecasting. We also want to test the model against real-world observations rather than relying only on numerical validation.
For recovery verification, we envision multiple independent verification sources rather than relying on one service to authorize payments.
Beyond the technical development, the most important next step would be collaborating with fishing-gear suppliers, fisheries, and marine-debris recovery organizations to understand how registration, deposits, and bounties could fit into existing workflows.
Longer term, we hope to explore production blockchain deployment, broader geographic coverage, and practical funding partnerships.
Ultimately, our goal is to make recovering lost fishing gear more than an environmental good deed: a traceable, measurable, and financially worthwhile action supported by technology.
Built With
- base-sepolia
- deck.gl
- ethereum
- fastapi
- foundry
- h3
- maplibre
- numpy
- ollama
- openzeppelin
- python
- qwen2.5-vl
- react
- react-joyride
- remotion
- solidity
- typescript
- vite
- web3.py
Log in or sign up for Devpost to join the conversation.