Fry Edge
Miner
The Fry Edge Miner (FEM) is a single cross-platform desktop application that replaces
the legacy FryHub installer and the partner-specific miner packages with
one binary, one device registration, and user-toggleable integrations.
Architecture
FEM is built on Tauri v2 with a Rust backend and React frontend, shipping as an
~11 MB Windows installer (current release v0.4.29). The Rust backend manages
partner integrations as supervised child processes — downloading partner binaries,
spawning them, monitoring health, and restarting any integration that reports
unhealthy. Integrations that need a host prerequisite — Docker for Diiisco, the
Visual C++ runtime for Titan — are detected before start and the missing dependency
is surfaced in the app. The React frontend presents a unified dashboard where
operators toggle integrations on or off and monitor per-integration uptime, health,
and reward contribution.
Each FEM device registers once through the Fry hardware API with a single miner key,
replacing the legacy model where each partner type required its own separate device
registration and miner key. Rewards follow the integration reward model below: a
required integration earns the full base, and every additional official or community
integration that is enabled and healthy adds a fixed boost on top.
Partner Integrations
FEM v0.4.29 ships 10 integrations spanning four infrastructure
verticals — VPN bandwidth, storage, AI compute and data collection — in three reward
roles. Two required integrations (Fry dVPN and Olostep) gate the base reward: one of
them must be enabled and healthy for a device to earn at all. Three
official partners are contracted by Fry Networks, and five community
integrations are builds on the partner SDK. Each integration is independently
toggleable — operators choose which resources they want to contribute based on their
hardware capabilities and preferences.
| Integration | Role | Vertical | Resource Contributed |
| Fry dVPN | Required | VPN / Bandwidth | Bandwidth for the Fry decentralized VPN via the bundled node |
| Olostep | Required | Data Collection | Browser-based web scraping and structured data extraction |
| Mysterium | Official | VPN / Bandwidth | Network bandwidth shared via the MystNodes VPN protocol |
| Diiisco | Official | AI / Compute | Local AI model inference contributing to a shared network |
| SpaceAcres | Official | Storage | Disk space contributed to the Autonomys Network for decentralized storage |
| Storj | Community | Storage | Decentralized storage capacity for the Storj network |
| Titan Network | Community | Edge / Storage | Storage, bandwidth and IP contribution via Titan edge nodes |
| Sentinel dVPN | Community | VPN / Bandwidth | Decentralized VPN bandwidth node on Cosmos |
| Iagon Storage | Community | Storage | Decentralized storage on Cardano |
| Pawns.app | Community | Bandwidth | Residential bandwidth sharing |
Integration Reward Model
Every FEM device carries a per-product daily base reward. The reward pipeline scales
it by four factors, all recomputed server-side from the device's PoC document for
that day:
// Per-device daily reward (live pipeline, September 2026)
daily_reward = base_reward × tier_multiplier × poc_factor × stake_multiplier × byod_factor
// tier_multiplier — integration composition (active = enabled AND healthy)
required = 1.00 if at least one required integration is active (Fry dVPN, Olostep), else 0
boost = +0.15 second required
+ 0.10 × official partners active (Mysterium, Diiisco, SpaceAcres)
+ 0.05 × community integrations active (Storj, Titan, Sentinel, Iagon, Pawns)
tier_multiplier = required + boost // max 1 + 0.15 + 0.30 + 0.25 = 1.70×
// poc_factor — uptime
poc_factor = passed_slots / 144 // a slot passes all six gates: data · online · MAC · PoL · PoI · PoA
// stake_multiplier — verification stake tier (§05)
stake_multiplier = 1.0 (no stake) | 1.5 (24-hour lock) | 3.0 (6-month lock)
// byod_factor
byod_factor = 0.5 if the device is flagged BYOD, else 1.0
The tier multiplier is applied once per day to the base reward after the PoC uptime
factor (passed slots / 144), so it scales the day's earned amount rather than
replacing it. A device with no required integration active earns nothing for that
day regardless of how many optional integrations are running.
Proof of Connectivity
FEM devices prove their uptime through a 24-hour Proof of Connectivity (PoC) cycle
divided into 144 ten-minute slots. In each slot the device reports and the backend
checks six gates — data, online, MAC match, PoL, PoI and PoA. A slot that clears all
six gates counts as passed; any other slot counts as failed. The day's uptime factor
is passed slots divided by 144, and integration health for the tier multiplier is
recomputed server-side from the same PoC document.
Rewards are written as daily rows. Every Friday at 00:00 UTC — FRYday — the week's
daily rows roll up into a single weekly row that then matures for 30 days from
pending to claimable. Rewards are not sent automatically; operators claim them
manually from the Fry dashboard to the Algorand address configured in their
profile, either instantly for a 30% fee or after the 30-day maturation with no fee.
Until the FRY 3.0 migration, claims are paid from the rewards hot wallet in tFRY
(ASA 2681521901) or fNODE (ASA 2485202024); after the migration the same pipeline
pays FRY 3.0 from the NRE pool.
Location & IP Limits
FEM itself imposes no location restrictions or IP address limits — operators can
run FEM from anywhere on any network. Some partners enforce their own limits (for
example, one Mysterium node per LAN). Before starting such an integration, FEM scans
the local network and running processes; if a conflict is found the integration is
held and the conflict is shown in the app, with a per-device override for operators
who know their setup is valid. Partners that are region-locked simply fail their
health check on that network and earn nothing for that integration, while every
other integration keeps earning.
Security Model
Device configuration — miner key, install ID, device token and payout wallet
address — is stored in a per-user JSON file under the operator's Windows
application-data folder. Partner credentials are issued per device by the Fry
hardware API and scoped to that device token, so a leaked credential cannot be
replayed from another device. Application updates ship through the Tauri updater
with minisign (ed25519) signature verification, a pre-update backup and an automatic
recovery path. Partner binaries are pinned to specific versions and SHA-256-checked
wherever the partner publishes digests (Titan, Iagon), and the bundled Fry dVPN node
is verified after installation. The public repository runs secret scanning with push
protection.
VPNIOT Miners
VPNIOT devices are a second hardware class of the Fry Edge Miner. They are small
ESP-class boards running Fry firmware (current release v0.2.0) that register
as FEM devices through the same hardware API as the desktop application, submit the
same 144 ten-minute PoC slots and earn under the same FEM reward model. Their job is
to be residential Fry dVPN endpoints: the relay reaches each node over its tunnel and
client traffic egresses through the node's home uplink, giving the dVPN a
geographically distributed pool of residential exits without a desktop PC running.
| ESP8266 (NodeMCU) | ESP32 / ESP32-S3 / ESP32-C3 |
| Provisioning | SoftAP captive portal — the board opens a setup hotspot and the operator enters Wi-Fi and payout details in a browser | BLE provisioning through the Fry Android app |
| VPN role | Lightweight single-client SOCKS5 relay (no WireGuard — insufficient heap) | WireGuard tunnel to the Fry dVPN — never the default route — with an in-tunnel SOCKS5 CONNECT forwarder |
| TLS | BearSSL without certificate verification (documented limitation) | mbedTLS with the full Mozilla root bundle |
| OTA | Single slot, SHA-256-verified, semver forward-only, no automatic rollback | Dual slot, SHA-256-verified, forward-only; three failed boots fall back to the previous slot |
| Image | firmware-esp8266.bin | firmware-<chip>.bin plus a -factory.bin for the web flasher |
Registration, PoC and reward parity. A
VPNIOT node is an FEM device to the backend. It registers through the hardware API,
submits its ten-minute PoC slots against the same six gates, and is paid through the
same daily-row, FRYday roll-up and 30-day maturation pipeline as a desktop miner.
Verification staking applies per device on the same 24-hour and 6-month tiers.
Security model. No wallet keys are stored
on the device — it holds only the operator's Algorand payout address. The device
identity is generated once at first boot and preserved across factory reset, so a
re-provisioned board keeps its registration and reward history. Every firmware build
carries a per-build SHA-256 in the OTA manifest, and the device refuses images that
do not verify or that would move the version backwards.
WireGuard relay role. On the ESP32 family
the node brings up a WireGuard tunnel to the Fry dVPN relay and answers SOCKS5 CONNECT
requests inside that tunnel, so the relay can route a client session out through the
node's residential connection while the board's own management traffic stays on its
normal path. ESP8266 boards, which lack the memory for WireGuard, run a lightweight
single-client SOCKS5 relay instead.