Open Source · 612 tests · Production-grade

Optimize ML models.
Serve inference.
Get paid for it.

DOIN is a decentralized network where nodes collaboratively optimize machine learning models, serve inference from the best verified models, and earn native cryptocurrency rewards — all through useful work.

$ pip install doin-node && doin-node --config config.json click to copy

Proof of Optimization

Instead of burning energy on pointless hash puzzles, DOIN nodes prove they've done useful ML work. Better models = bigger rewards. Anyone can query the network for inference from the best verified models.

Optimizer trains a model, commits a hash of the result ← anti front-runningOptimizer reveals parameters + performance claim ← commit-revealQuorum of random evaluators selected from the network ← anti collusion ↓ Each Evaluator tests on DIFFERENT synthetic data ← anti overfitting ↓ Quorum votes → accepted or rejected ← consensusBlock mined → rewards distributed by contribution weight ← Proof of Optimization ↓ Experiment metrics recorded on-chain with each accepted optimae ← distributed OLAP cube ↓ Champion parameters migrated to other nodes' populations ← island model ↓ Best verified model available for Inference requests ← L2 payment channels ↓ Monitor everything at :8470/dashboard ← real-time web UI

Continuous optimization + live inference

DOIN handles both training and serving. Models keep improving while you query them.

Optimization + Inference

📈 Algorithmic Trading

Continuously optimize trading models that adapt to changing market conditions. Query for fresh predictions via the inference API. Tiny accuracy improvements past the Naive threshold → exponentially larger profits.

Optimization + Inference

📊 Timeseries Prediction

Financial data, sensor data, demand forecasting — any timeseries domain. The network keeps optimizing while you consume predictions. Models never go stale.

Optimization

🧬 Genetic Algorithms

DEAP, NEAT, or any evolutionary approach. DOIN implements the island model — each node is an island running at its own speed, sharing champion solutions via on-chain optimae exchange. Proven 7× faster convergence in two-node tests with automatic peer discovery and optimistic champion adoption.

Optimization + Inference

🤖 AI Agent Services

Agents can offload both training and inference to the network. Pay with DOIN coin per query, get predictions from continuously-improving verified models. No GPU required on your end.

Optimization

🔬 Hyperparameter Search

Distributed hyperparameter optimization across untrusted machines. The synthetic data verification ensures results are genuine — no one can fake a good model.

Inference

🌐 Model Marketplace

The best verified models are available for inference. Pay per query through L2 payment channels. Lightning-fast micropayments, settle on-chain when done.

Production-grade from day one

Not a proof of concept. Built with the same rigor as Bitcoin and Ethereum, adapted for machine learning.

🔐

10 Attack Hardening Measures

Commit-reveal, random quorum, asymmetric reputation, resource limits, finality checkpoints, EMA decay, min reputation, external anchoring, fork choice, deterministic seeds.

GossipSub Protocol

O(log N) message propagation through mesh-based gossip. Scales to thousands of nodes without flooding the network.

💾

SQLite Chain Storage

WAL-mode SQLite replaces JSON files. O(1) lookups, state snapshots, transaction pruning. Production database performance.

🧠

Synthetic Data Verification

Each evaluator tests on unique, unpredictable synthetic data. Overfitted models fail. Only genuinely good models earn rewards.

🌐

Peer Discovery

LAN scan, bootstrap nodes, and peer exchange (PEX). Nodes find each other automatically — no central registry needed. Zero-config on local networks.

💰

EIP-1559 Fee Market

Dynamic base fee adjusts with demand. Priority queue mempool. Failed optimae get stakes partially burned. Spam-proof by design.

🔀

Domain Sharding

Nodes only process domains they participate in. Computer vision nodes don't waste bandwidth on NLP traffic.

L2 Payment Channels

Off-chain micropayments for inference requests. Open a channel, pay per query, settle on-chain when done. Lightning-fast.

🖥️

GPU Marketplace

Nodes advertise compute resources. Jobs match to hardware automatically by price, reputation, latency, and domain specialization.

📊

On-Chain OLAP Cube

Every accepted optimae carries experiment metrics. The blockchain IS your distributed analytics database. Feed it into Metabase or train an L3 meta-optimizer across all participants.

📡

Real-Time Dashboard

Web UI at :8470/dashboard monitors optimization progress, training, evaluations, chain state, events, and peer connections. API endpoints for every subsystem.

🏝️

Island Model Migration

Each node is an island running its own optimizer. Champions are shared via on-chain optimae and injected into other nodes' populations. DEAP GA, NEAT, or any evolutionary algorithm gets automatic distributed parallelism.

🎯

Smart Stop Criteria

Set target_performance per domain. Nodes automatically stop optimizing converged domains, focusing compute on what still needs work.

🧬

Three-Level Optimization

L1 — Candidate Training (early_patience): Keras early stopping per candidate. L2 — Stage Progression (optimization_patience): DEAP GA generations before advancing. L3 — Meta-Optimizer (planned): Deep learning predictor trained on OLAP data from ALL network participants.

Multi-node speedup
5
Packages
21M
Max coin supply
612
Tests passing

Real multi-node results

Tested on a LAN with consumer hardware. No cloud, no datacenter — just laptops on a local network running GossipSub peer discovery.

Easy Target (−100.0)

Quadratic domain, random-step optimizer

Single node39 rounds
Dragon + Omega5–6 rounds (7× faster)

Hard Target (−50.0)

Quadratic domain, random-step optimizer

Omega solo (RTX 4070)95 rounds · 1592s
Dragon solo (RTX 4090)100 rounds · 1681s
Combined78 rounds · 19% faster

Delta baseline (SLI 2× GFX 550M)

Hard target, same domain — old hardware

Best at 1680s−124.01 (not converged)
vs Dragon/Omega~−48 in same time
3–4× slower convergence — perfect candidate for island model benefit

These results use a simple random-step optimizer. With full DEAP GA crossover/mutation and champion migration injection, multi-node speedups will be significantly higher — the island model architecture is designed for evolutionary algorithms where injected champions create new genetic material for crossover.

DOIN Coin

Bitcoin-style economics adapted for useful work. Miners don't solve pointless puzzles — they optimize ML models and serve inference.

Block Reward

50 DOIN
Halving every 210,000 blocks. Same schedule as Bitcoin.

Max Supply

21,000,000
Hard cap. No inflation beyond the halving schedule.

Optimizer Pool

65%
Distributed by verified optimization improvement × reputation.

Evaluator Pool

30%
Rewarded for honest verification. Dishonest evaluators lose 3× faster.

Generator Fee

5%
Block generator gets 5% plus all transaction fees.

Difficulty

Hybrid
Bitcoin epochs (100 blocks) + Ethereum EMA per-block smoothing.

Five packages, zero coupling

Each package is independently installable. Use only what you need.

doin-core

Consensus, crypto, models, protocol. The foundation everything builds on. Zero dependencies beyond standard crypto libs.

github.com/harveybc/doin-core

doin-node

Unified P2P node. Optimizer + evaluator + relay in one process. SQLite storage, GossipSub networking, peer discovery.

github.com/harveybc/doin-node

doin-optimizer

Optimization service. Wraps any ML framework via plugins. Ships with quadratic reference implementation.

github.com/harveybc/doin-optimizer

doin-evaluator

Verification service. Tests optimae on synthetic data. Each evaluator gets unique, unpredictable test data.

github.com/harveybc/doin-evaluator

doin-plugins

Domain-specific plugins. Bridges to existing ML projects (like predictor and heuristic-strategy) without changing their code.

github.com/harveybc/doin-plugins

Your domain here

Write a plugin for any ML domain. Optimization, inference, and synthetic data generation — three entry points, done.

Python 3.10+ · Pydantic v2 · setuptools entry points

Built on real ML projects

DOIN wraps existing production systems. These are the first domains running on the network.

📈

Live Trading System (LTS)

Decentralized AI-powered live trading. Multi-user, multi-portfolio, plugin-based strategies with ML prediction integration and OANDA broker execution.

doin.network/lts · GitHub
🔮

Forecast Provider

ML prediction marketplace with 3-role system (admin/provider/client). Register models, serve predictions via REST API, pay per request with transparent billing.

doin.network/forecast-provider · GitHub
📊

Predictor

Timeseries prediction system with plugin architecture. Multi-input multi-output models, configurable preprocessing, multiple training backends. Includes OLAP cube for experiment analytics.

github.com/harveybc/predictor
📈

Heuristic Strategy

Algorithmic trading with heuristic optimization. Pairs with Predictor for signal generation. OLAP analytics show how Sharpe ratio scales exponentially past the Naive MAE threshold.

github.com/harveybc/heuristic-strategy
🔄

Timeseries GAN

Synthetic timeseries data generator. Critical for DOIN's verification system — produces realistic data that evaluators use to test models independently.

github.com/harveybc/timeseries-gan

Running in 2 minutes

One install, one config file, one command.

# Install pip install doin-node # Create a minimal config cat > config.json <<EOF { "host": "0.0.0.0", "port": 8470, "data_dir": "./doin-data", "bootstrap_peers": ["seed1.doin.network:8470"], "storage_backend": "sqlite", "network_protocol": "gossipsub", "experiment_stats_file": "./stats.csv", "domains": [ { "domain_id": "my-ml-domain", "optimize": true, "evaluate": true, "has_synthetic_data": true, "optimization_plugin": "my_optimizer", "synthetic_data_plugin": "my_synth_gen", "target_performance": -1.0 } ] } EOF # Run doin-node --config config.json # Check status curl http://localhost:8470/status # Submit an inference request curl -X POST http://localhost:8470/inference \ -H "Content-Type: application/json" \ -d '{"domain_id": "my-ml-domain", "input_data": {"features": [...]}}'

Ready to contribute?

DOIN is open source and permissionless. Run a node, optimize models, serve inference, earn rewards.