Skip to content
@Savitri-Network

Savitri Network

High-performance blockchain protocol in Rust, implementing Proof-of-Unity (PoU) consensus with BFT finalisation.

Savitri Network

Federated Learning is broken.
We built the infrastructure to fix it.

The first L1 with native Federated Learning consensus.
Verify · Compensate · Trace — on any device, any FL framework.

Documentation  Discord  Twitter

Live Nodes TPS Finality Adversarial Rust License


The problem

Federated Learning works in research. Only 5.2% reaches production deployment.

The reason isn't the ML — it's three structural problems no FL framework solves:

🛑 Data Poisoning

Malicious or low-quality updates corrupt the global model. No way to verify what nodes submit.

💸 Free-Rider Problem

Rational actors take the global model without contributing quality data. Honest participants subsidize freeloaders.

🔍 No Provenance

Who contributed? What data? Impossible to audit. No accountability for what trained the model.

No existing L1 supports FL trust primitives natively. Smart contracts are too slow and don't see model weights. So we built consensus that does.


What Savitri is

Four primitives, one consensus layer:

L1 — Any Device
$0 hardware cost

ESP32 · Raspberry Pi
Smartphone · Server
Anything already on.

L2 — Verify
On-chain quality gate

PoU scores every update.
Bad data rejected at consensus.
Global model stays clean.

L3 — Compensate
Trustless incentive layer

Smart contract pays SAVI
proportional to quality.
85% to node contributors.

L4 — Trace
Immutable provenance

Every round hashed on-chain.
Timestamp · participants.
Model origin always verifiable.

TensorFlow Federated · PyTorch · Flower · Custom all run on top.
Like Avalanche for subnets — built from scratch because no existing L1 could.


Testnet — Live since 12 Apr 2026

Real cloud infrastructure. Measured, not projected.

Metric Value
Active nodes 25
TPS — peak 45,725
TPS — sustained 1,285
Finality 485 ms
Adversarial test 0 crash / 48h
Production users 1 enterprise (1 year live)

Try it now: Explorer · Faucet · Discord for testnet SAVI


Why Proof-of-Unity (not PoW, not PoS)?

PoW rewards capital invested in hardware. PoS rewards capital invested in tokens. Federated Learning needs to reward quality of contribution — and neither existing consensus can.

Proof-of-Work Proof-of-Stake Proof-of-Unity
Who wins? Biggest mining farm Richest validator Best-performing node
Energy cost Nation-sized Efficient Efficient
Centralization Hardware cartels Whale dominance Meritocratic
Min hardware ASIC ($10K+) Stake (varies, often $32K+) $0 — any device
Finality ~60 min ~12 sec 485 ms
FL-aware? No No Yes — at consensus level

One consensus, two jobs

This is the part most "AI + blockchain" projects miss. They bolt a smart contract on top of an existing chain — so the chain only ever sees a hash of the model. The aggregation, the quality scoring, and the trust decisions all happen off-chain in some operator's server. You're back to trusting the operator.

Savitri's PoU is dual-purpose by design:

🔗 Job 1 — Network consensus

The PoU score elects the next block proposer.
BFT with 2/3 quorum finalizes in 485 ms.
Standard L1 behavior — but no PoW farms, no whale validators.

🤖 Job 2 — FL aggregation

The same PoU score weights model updates inside the federated round.
Low-Integrity nodes get their gradients down-weighted or rejected.
The aggregation runs at consensus layer — not in a smart contract, not off-chain.

One mechanism, two functions. The score that decides who proposes the next block is the same score that decides whose FL contribution counts. No off-chain aggregator. No "trust the coordinator." Bad model updates and bad block proposals are punished by the same rule.

The PoU score

Score = α·S(t-1) + (1-α)·[ 0.25·Availability + 0.20·Latency
                          + 0.20·Integrity + 0.20·Reputation
                          + 0.15·Participation ]

For FL workloads, the Integrity dimension scores the quality of model updates a node submits — measured against held-out validation rounds and cross-node agreement. A node that consistently submits poisoned or low-quality gradients loses score, gets down-weighted in aggregation, and stops earning rewards.

No slashing of stake — bad behavior simply doesn't pay, in either job.


Repositories

Repository What it does
⚙️ savitri-network Monorepo — 13 Rust crates, full blockchain stack
🤖 savitri-fl FL adapters: TFF, PyTorch, Flower bridges
📱 savitri-mobile Flutter wallet + node monitoring (iOS & Android)
🛠️ savitri-sdk Client library, wallet tools, CLI
💻 savitri-installer One-click desktop installer (Windows · macOS · Linux)
🧪 savitri-testnet Docker testnet with Prometheus + Grafana
📖 docs Whitepaper, FL architecture, tokenomics, guides

Quick Start

# Clone and build a lightnode
git clone --recurse-submodules https://github.com/savitri-network/savitri-network.git
cd savitri-network
cargo build --release -p savitri-lightnode

# Join testnet
./target/release/lightnode \
  --listen-port 4001 \
  --bootstrap <PEER_ID>@/ip4/<IP>/tcp/4002

Runs on 4 GB RAM, any CPU. No ASIC. No minimum stake. Run it on a laptop you already own.

One-line installers

# macOS / Linux
curl -sSL https://savitrinetwork.com/install.sh | bash

# Windows (PowerShell)
iwr -useb https://savitrinetwork.com/install.ps1 | iex

Run an FL workload (Python)

from savitri_fl import FederatedClient
import tensorflow_federated as tff

client = FederatedClient(node_url="http://localhost:8545", wallet="...")
client.submit_round(model_weights=tff.training.compute_weights(...))
# Provenance, payment, and verification handled at consensus level.

Built for

🤖 FL Researchers
Verify, compensate, and trace
your federated rounds
without rewriting your stack

🌐 IoT Operators
Dedicated tx type at $0.000125
50× cheaper than standard
Monetize device data

🏢 Enterprises
Train models on customer data
without seeing the data
Auditable provenance

👥 Node Operators
Run on the device you own
Earn SAVI for uptime + integrity
No minimum stake


Tech Stack

Rust tokio libp2p RocksDB ed25519 blake3 ZKP BFT

TFF PyTorch Flower Flutter Tauri Docker Prometheus


Contribute

Open issues are tagged good-first-issue and help-wanted. Most come from problems we hit running the testnet — they're real, scoped, and merge-worthy.

  1. Pick an issue from any repo
  2. Fork, branch, Conventional Commits
  3. cargo fmt && cargo clippy -- -D warnings
  4. PR with what you changed and how you tested it

Code of conduct: be useful, be honest about what works and what doesn't. We ship the bugs alongside the wins.


Docs · Whitepaper · Contribute · Security

Built in Rust · Secured by Proof-of-Unity · Open Source (MIT + Apache 2.0)

Popular repositories Loading

  1. savitri-network savitri-network Public

    Savitri Network — Rust implementation of a Proof-of-Unity (PoU) blockchain protocol with Byzantine Fault Tolerant (BFT) finalisation

    Rust 7 2

  2. Savitri-Github Savitri-Github Public

    Organization Pages

  3. .github .github Public

    Organization profile and shared assets for Savitri Network

  4. this-week-in-rust this-week-in-rust Public

    Forked from rust-lang/this-week-in-rust

    Add Savitri to Project/Tooling Updates

    Python

Repositories

Showing 4 of 4 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…