ENA is Animica's open training & inference network. Lend your machine — laptop, rig, or GPU box — to run real AI work: data curation, evaluation, retrieval, and fine-tuning. Every verified job mints an on-chain receipt and earns you ANM.
ENA coordinates four kinds of work into one auditable pipeline — every result is hashed, verified, and exported as an on-chain credit event.
Curate, dedupe, label, embed and index datasets — CPU-friendly jobs any machine can run.
SFT, LoRA/QLoRA and DPO fine-tuning, orchestrated with manifests, checkpoints and eval reports.
OpenAI-compatible serving across a fleet of contributor nodes and routed providers.
Deterministic SHA3 receipts tie every job to a credit event — transparent, reproducible, payable.
Real numbers from the ENA coordinator. Help these grow.
| Worker | Jobs |
|---|---|
| — | — |
| Job | Type | Status |
|---|---|---|
| — | — | — |
Stats served from GET /api/stats on the ENA coordinator. Showing the sample baseline if the coordinator is offline.
Two tracks. Pick the one that matches your hardware — both pay out in ANM per verified job.
Curation, eval, embedding and indexing jobs run great on a normal laptop or rig.
pip install --upgrade animicaexport ANIMICA_ENA_ENDPOINT=https://ena.animica.org/apianimica ena worker start --worker-id "$(hostname)" --endpoint https://ena.animica.org/api --types extract,chunk,embed,index,dataset_clean,evalanimica ena worker statusHave a CUDA GPU? Run SFT / LoRA / QLoRA / DPO and earn training credit.
pip install --upgrade "animica[gpu]"curl -O https://ena.animica.org/animica-knowledge.jsonlanimica ena train prepare --dataset animica-knowledge.jsonl --out manifests/run.json --base-model Qwen/Qwen2.5-1.5B --backend python_transformers --method lora --auto-splitanimica ena train run --manifest manifests/run.json
animica ena train eval --manifest manifests/run.json --model-provider ollamaanimica ena train export <run_id> --out run.json
# emits a TrainingReceipt (dataset + checkpoint hash, gpu-hours)New here? Read the full docs · Methods supported: sft lora qlora dpo distill
Connect your Animica wallet, fund a job in ANM, and the contributor fleet runs it. Your payment is bound to the job on-chain; workers earn it on verified completion.
Needs the Animica wallet extension (window.animica). Don't have it? Get a wallet. Amounts are in ANM (9 decimals).
ENA trains on open, community-contributed data. Donate instruction pairs or point us at a source — it's normalized, deduped, and registered for training jobs. — datasets contributed so far.
| Dataset | Kind | Rows |
|---|---|---|
| — | — | — |
From the CLI: animica ena datasets contribute rows.jsonl
Set up the starter dataset (55 pairs, all Animica knowledge):
curl -O https://ena.animica.org/animica-knowledge.jsonl
animica ena datasets contribute animica-knowledge.jsonl
Download: animica-knowledge.jsonl
Every job follows the same auditable path. Pay is tied to verified, hashed work — not promises.
Your worker claims a job from the queue.
It executes locally and produces a result + artifacts.
Deterministic checks pass; a SHA3 receipt is minted.
The receipt's credit event settles to ANM.
CPU jobs (curation, eval, embed, index) pay per verified job, sized by job kind and volume.
Fine-tuning pays by GPU-hours and samples processed, anchored by a TrainingReceipt.
Provider / treasury / miner splits are policy-driven and on-ledger via AICF settlement.
ENA speaks OpenAI-compatible inference and ships pluggable model + embedding providers (deterministic offline fallback, OpenAI-style APIs, Ollama).
scrape · extract · chunk · label · embed · index · summarize · eval · dataset_clean · training_records · train_prepare
SFT · LoRA · QLoRA (4-bit) · DPO · CPU distillation — manifest-driven with checkpoints & eval reports.
deterministic · openai_compatible · ollama — for both generation and embeddings, configured in one file.
Open models get better when more people contribute compute and data. Spin up a worker in two commands.