Open Collective Superintelligence.
Getting Started · Guides · Concepts · Reference · Discord
SOMA is a network that trains a foundation model by coordinating small, specialized models across the Internet. Models train independently in parallel, compete, and integrate into a unified system. Participants share a universal objective: given any data, predict what comes next. The best weights are rewarded.
Each model shares the same architecture and competes on a shared objective, learning any modality by training on raw bytes. The network routes submitted data to models, scores their performance, and distributes rewards. Transactions confirm in under 0.33s at 200,000+ TPS.
- Next-Byte Prediction — Every model shares the same architecture and competes on a single objective: predict the next byte. Lowest loss wins
- Self-Benchmarking — The network generates targets across embedding space each epoch. When one is hit, a new one spawns — continuously testing domains it hasn't mastered
- Competitive Data Submission — Data submitters race to hit targets, scoring data against assigned models. First valid submission wins. Rewards split 50/50 between submitter and lowest-loss model
- Mysticeti Consensus — Sub-0.33s finality, 200,000+ TPS
The network needs data, models, and validators. Each role earns $SOMA.
- Submit data. The network generates targets, points in embedding space. You find data that matches a target, score it against the network's models, and submit on-chain. The first valid submission wins
- Train models. You train the weights, publish them on-chain, and earn commission when your model's weights produce winning submissions
- Run a validator. Validators run consensus, generate targets, and audit submissions. They earn 20% of epoch rewards
sup is the SOMA toolchain installer. It manages binaries across networks, versions, and hardware backends.
curl -sSfL https://sup.soma.org | shsup install soma # latest testnetSee sup --help or the sup README for version management, updates, and shell completions.
pip install soma-sdkRequires Python 3.10+. See the Python SDK docs for the full API reference.
Releases are built and published automatically via CI when a tag is pushed:
| Tag Pattern | Artifact |
|---|---|
testnet-v* |
Node binaries (all platforms, includes CUDA + WGPU) |
sdk-v* |
Python SDK → PyPI |
models-v* |
Model implementations → PyPI |
soma start localnet --force-regenesisThis boots a local cluster with validators, a faucet, and a scoring service.
soma faucet # request test tokens
soma balance # check SOMA balancesoma start validator --config validator.yamlsoma stake --validator <ADDRESS> --amount 10
soma status # view network and validator infosoma start scoring # default: WGPU backend
soma start scoring --device cuda # NVIDIA CUDA (requires toolkit)The scoring service defaults to the WGPU backend (Metal/Vulkan/DX12). Use --device cuda on machines with an NVIDIA GPU and the CUDA toolkit installed.
The Python SDK is the primary interface for training models and submitting data.
pip install soma-sdkfrom soma_sdk import SomaClient, Keypair
client = await SomaClient(chain="localnet")
keypair = Keypair.generate()
# Find an open target and fetch its models
targets = await client.get_targets(status="open")
target = targets[0]
manifests = await client.get_model_manifests(target)
# Score data against the target's models — the scoring service picks a winner
data = open("sample.bin", "rb").read()
data_url = "https://your-storage.example.com/sample.bin"
result = await client.score(
data_url=data_url,
models=manifests,
target_embedding=target.embedding,
data=data,
seed=0,
)
# Submit the winning result
winning_model_id = target.model_ids[result.winner]
await client.submit_data(
keypair,
target.id,
data,
data_url,
winning_model_id,
result.embedding,
result.distance[result.winner],
)See the Python SDK reference for the full API and python-examples/ for runnable scripts.
| Resource | Link |
|---|---|
| Getting Started | Installation, Quickstart, GPU Setup |
| Guides | Data Submission, Model Development, Running a Validator, Local Network |
| Concepts | Targets, Data Submission, Models, Economics, Network |
| Reference | CLI, Python SDK, Models, Community |
| Python SDK (source) | python-sdk/README.md |
| Model Architecture (source) | models/README.md |
| SOMA Improvement Proposals | soma-org/sips |
We welcome contributions! Please read CONTRIBUTING.md before getting started.
If you want to propose a new feature, start with a SOMA Improvement Proposal.
SOMA builds on the work of many open source projects, including:
- Sui and Mysticeti consensus (Mysten Labs)
- fastcrypto cryptographic primitives (Mysten Labs)
- mysten-sim deterministic simulator (Mysten Labs)
- Burn deep learning framework
- Tokio async runtime
- PyO3 / Maturin Python bindings
Licensed under Apache 2.0.
