Reference

Glossary

Essential terms and definitions used throughout Swarmient documentation.

Core Concepts

Control Plane — The central coordinator service that manages the network, assigns jobs to miners, verifies results, and settles payments.

DAG (Directed Acyclic Graph) — A workflow structure where tasks can have dependencies. Some tasks must complete before others can start. Used to express complex multi-step jobs.

Developer — A person or service that submits compute jobs to the network.

Job — A collection of one or more tasks submitted together. Jobs are tracked, monitored, and billed as a unit.

Miner — A person or machine running the compute daemon that accepts jobs, executes them, and earns credits.

Network — The peer-to-peer system connecting developers, miners, and the control plane.

Proof — A cryptographic signature that proves a miner actually executed a task. Developers can verify proofs independently.

Sandbox — An isolated execution environment where jobs run. Sandboxes prevent jobs from accessing the filesystem, network, or other jobs’ data.

Task — A single unit of work within a job. Tasks have prompts, timeouts, and optional dependencies.

Execution & Monitoring

Concurrent Tasks — The number of jobs a miner can execute simultaneously. Higher concurrency = more earnings but more resource contention.

Execution Time — How long a task takes to complete, from start to finish (in seconds).

Miner ID — A unique identifier for a miner (e.g., miner_abc123def456).

Poll — The action of checking for available work. Miners poll the network at regular intervals.

Result — The output of a task execution. Results can be text, code, data, or any format.

Sandbox Violation — When a job tries to perform a forbidden operation (filesystem access, network, etc.).

Timeout — The maximum time allowed for a task to execute. Tasks exceeding timeout are killed.

Earnings & Economics

Credits — The unit of currency in Swarmient. Developers purchase credits, miners earn them.

Hourly Rate — The rate a miner charges for compute work (e.g., $12/hour). Developers see rates before job acceptance.

Settlement — The process of transferring earnings from a developer’s account to a miner’s account after successful job completion. Settlement is atomic and immediate.

Uptime — The percentage of time a miner is online and available. Affects job priority.

Withdrawal — The process of converting earned credits to fiat currency (bank transfer) or crypto.

Security & Cryptography

Ed25519 — An elliptic-curve cryptographic algorithm used to sign proofs and verify authenticity.

Miner Key Pair — The private and public keys used by a miner. The private key signs proofs. The public key is registered with Swarmient.

Private Key — A secret value that only the miner knows. Used to sign proofs. Must be kept secure.

Public Key — A value derived from the private key. Publicly visible. Used to verify signatures.

Signature — A cryptographic proof that a miner signed a result. Can be verified without trusting the miner.

Metrics & Performance

Rejection Rate — Percentage of jobs a miner rejects due to insufficient resources.

Resource Utilization — How much CPU, memory, and disk a miner is using.

Success Rate — Percentage of jobs that complete successfully (without timeout or error).

Average Execution Time — Mean execution time across all completed tasks.

Rating — Developer feedback (1–5 stars) based on job quality and reliability.

Network & Communication

API Key — A secret token that developers use to authenticate with Swarmient API.

Control Plane Endpoint — The URL of the central coordinator (https://api.swarmient.com).

SSE (Server-Sent Events) — A protocol for streaming real-time updates from server to client.

Latency — Delay in network communication. Lower latency = faster job pickup and submission.

Job States

PENDING — Job submitted, waiting for a miner to accept.

RUNNING — A miner is actively executing the job.

COMPLETED — Job finished successfully. Results are available.

FAILED — Job failed (timeout, error, or miner disconnection). Task was not completed.

CANCELLED — Developer or system cancelled the job.

Task Dependencies

Depends On — One or more other tasks that must complete before this task can start.

Sequential — Tasks run one after another (task B waits for task A).

Parallel — Tasks run simultaneously because they have no dependencies on each other.

Hardware Terms

CPU Cores — The number of processor cores available. More cores = more parallelism.

GPU — Graphics processing unit. Specialized hardware for parallel computation (ML, image processing).

Memory (RAM) — Temporary storage used during execution. More RAM = larger jobs supported.

Disk Space — Persistent storage for job data and caching.

NVMe SSD — Fastest storage type. Recommended for cache directories.

HDD — Mechanical hard drive. Slower than SSD but larger capacity.

Configuration Terms

Timeout Multiplier — A factor (e.g., 1.2) that adds extra time to job timeouts. Useful for slower hardware.

Sandbox Type — The isolation mechanism (native, docker, wasm).

Data Directory — Where job results and persistent data are stored.

Cache Directory — Where temporary files are stored during job execution.

Log Level — Verbosity of daemon logs (debug, info, warn, error).

Container — An isolated runtime environment (Docker, Linux containers). Used for sandboxing.

Cryptography — Mathematical techniques for secure communication and verification.

Distributed Computing — Spreading computation across multiple machines for parallelism and reliability.

Peer-to-Peer (P2P) — A network model where participants (peers) communicate directly without central authority.

Deterministic — Same inputs always produce the same outputs. Important for reproducible research.

Trustless — A system that doesn’t require trusting any party. Verified through cryptography.

Transparent — Open and verifiable. Developers can see what miners are running and check proofs.

Atomic — An operation that completes entirely or not at all. Payments are atomic—no partial settlements.

Reproducible — Results can be recreated by re-running with the same input.