How it works
A simple path from spare capacity to verifiable reward.
Three stages that keep the user in control and make participation auditable.
01 — Browser node
A lightweight container runs in the browser. It uses only spare CPU, GPU, and optional bandwidth. No installer, no background service, no hidden bridge.
02 — Verified job runtime
Job requests are validated, sandboxed, and rate-limited by the worker runtime. Execution stays in the browser, not on a remote server. Results leave only as verified outputs.
03 — Rewarded participation
Completed jobs are submitted to the network. Rewards accrue to a non-custodial wallet. The node operator can pause or withdraw anytime.
Trust
Built to be auditable from the first click.
One set of core guarantees, supported everywhere.
No secrets
The worker code is open-source and reproducible. No hidden endpoints, no black-box bridges.
Non-custodial
Rewards go to a wallet you control. Withdraw directly. No intermediary custody.
Browser-native
Work runs inside the page. No installer, no background service, no remote execution.
Verified
Jobs are validated before acceptance and outputs are auditable. Reputation tracks honest participation.
Example
Earn Idle — the first validated client.
Contribute resources, complete jobs, earn rewards. Everything runs in the browser.
What the client actually does
- Runs inside the browser container, no download needed
- Executes the verified inference worker on-device
- Uses WebGPU with WASM fallback for broad support
- Only the resources needed for the job are used
- Pays out per job completed to a non-custodial rewards wallet
Components
What makes up the Earn Idle container instance.
Job polling loop — Polls `/api/inference/job` for assigned work
Transformers.js runtime — `@huggingface/transformers` loaded from CDN at runtime
Model — `Llama-3.2-1B-Instruct` Q4 ONNX via WASM
Result submission — Output, tokens, and timing posted back to `/api/inference/result`
Payout tracking — Per-job USDC payout returned by the API
Browser capabilities
What the browser container can do.
These are the rentable services the container makes available.
Inference
Run verified AI inference jobs on-device using WebGPU with WASM fallback.
CPU / WebAssembly compute
Execute general-purpose compute tasks using spare CPU cycles inside a sandboxed WebAssembly runtime.
GPU / WebGPU + WebGL
Leverage the GPU for parallel workloads. Automatically falls back to WebGL when WebGPU is unavailable.
Bandwidth / routing
Relay or proxy small amounts of network traffic. Useful for distributed routing and connectivity checks.
Memory / caching
Store temporary data for the network. Clean, sandboxed memory that is released after each job.
Temporary storage
Hold short-lived files or intermediate results needed for the current job only. No persistent device access.
Roles
How you participate.
Welcome / Trust
Step 1
Secure widget runtime with granular consent. Share CPU, GPU, and bandwidth when you choose.
Wallet Genesis
Step 2
A non-custodial rewards wallet is created at onboarding. You control the key.
Hardware Consent
Step 3
Choose which resources to share and set your limits: CPU, GPU, bandwidth. Adjust anytime.
Verify Wallet
Step 4
Sign a message with your wallet to verify ownership and keep the reward pool honest.
Active Session
Step 5
See live earnings, session time, reputation, and completed tasks in one panel.
Withdraw / Payouts
Step 6
Withdraw rewards to your non-custodial wallet anytime. No custodial accounts, no hidden fees.
Client iframe example
Drop this into your page to load the client widget.
Earn from placements while users contribute resources in-browser.
Setup
Step 1
Create your publisher account and link a verified domain. One publisher per domain keeps fraud low.
Verify Domain
Step 2
Add one TXT record to your DNS. Once checked, your domain is verified and eligible for placements.
Payout Wallet
Step 3
Create a secure wallet for payouts. You own the key. Passkey + backup phrase recovery.
Create Placement
Step 4
Define page id, placement id, allowed domain/path, resource limits, and reward split.
Embed Code
Step 5
Copy the script and iframe snippet. Add to your verified pages and start monetizing placements.
Dashboard
Step 6
Monitor verified pages, active sessions, earnings, and payout history from one place.
Publisher integration line
Add this script tag where you want the placement to appear.