Documentation

Spider Docs

Spider is a distributed inference network. AI builders submit jobs to one simple API; the network routes each job to the best available GPU — community machines first, with an always-on serverless backstop so requests never wait. GPU owners plug in their hardware and earn 70% of every job it serves.

Overview

Two ways to use Spider:

You are…You want…Start here
An AI builderCheap, fast open-model inference via APIAPI quickstart
A GPU ownerEarnings from idle hardwareRun a node

Base URL:
https://api.spidernetwork.ai

API quickstart

Three steps from zero to your first completion:

1. Get an API key. Sign in API KeysCreate key. The full key (spk_<id>.<secret>) is shown once — store it somewhere safe.

2. Add credits. Dashboard → Usage & Billing → add test credits (up to $100 per top-up). Jobs are rejected with 402 when your balance is zero.

3. Submit and poll. Inference is asynchronous: create a job, then poll it until it finishes (typically well under a second of queue time plus model generation time).

# Create a job
curl -X POST "https://api.spidernetwork.ai/v1/jobs" \
  -H "Authorization: Bearer spk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: my-first-job-001" \
  -d '{
    "model": "llama3.2:3b",
    "input": {
      "messages": [
        { "role": "user", "content": "Explain spider silk in one sentence." }
      ]
    }
  }'
# → 202 { "jobId": "9be5…" }

# Poll until SUCCEEDED
curl "https://api.spidernetwork.ai/v1/jobs/9be5…" \
  -H "Authorization: Bearer spk_YOUR_KEY"

Authentication

Every request carries your API key as a bearer token: Authorization: Bearer spk_<id>.<secret>.

Keys are minted and revoked in the dashboard. The secret is hashed at rest — if you lose it, revoke the key and mint a new one. Each key belongs to your account: its jobs debit your balance and appear in your usage history, and you can only read jobs created with your own keys.

Create a job

POST /v1/jobs — returns 202 Accepted with a jobId.

FieldRequiredDescription
Idempotency-KeyYes (header)1–128 chars. Retrying with the same key + same body returns the same job instead of creating a duplicate. Same key + different body → 409.
modelYesOne of the supported models.
input.messagesYes1–32 chat messages, each { "role": "system" | "user" | "assistant", "content": "…" } with content up to 16,000 characters.
securityNo{ "tier": "VERIFIED", "match": "MINIMUM" } — see security tiers. Defaults to COMMUNITY / MINIMUM.

Poll a job

GET /v1/jobs/:jobId — returns the job's current state. Poll every 1–2 seconds until SUCCEEDED or FAILED.

{
  "id": "9be5…",
  "model": "llama3.2:3b",
  "status": "SUCCEEDED",
  "createdAt": "2026-08-03T16:11:00.345Z",
  "updatedAt": "2026-08-03T16:11:01.137Z",
  "security": { "tier": "COMMUNITY", "match": "MINIMUM" },
  "result": {
    "output": "Spider silk is a protein fiber…",
    "usage": { "inputTokens": 26, "outputTokens": 39, "durationMs": 433 }
  }
}

result.usage is what you are billed on. Failed jobs carry failure: { code, message } instead of a result and are never billed.

Job lifecycle

StatusMeaning
QUEUEDAccepted, waiting for the scheduler. Jobs for community-only models wait here when all capable nodes are busy (Spider retries patiently rather than failing).
ASSIGNEDA node (or the serverless backstop) has been chosen and the work is being handed off.
RUNNINGThe model is generating.
SUCCEEDEDDone — result and usage attached, your balance debited exactly once.
FAILEDTerminal error (node died mid-job past all retries, execution timeout of 5 minutes, or backstop error). Not billed.

Reliability is the scheduler's job, not yours: if a node goes offline mid-job, Spider detects the lost lease and re-runs the job on other capacity automatically. Your idempotency key protects the create call; the network protects execution.

Models

ModelParamsServerless backstop
llama3.2:1b1BYes
llama3.2:3b3BYes
llama3.1:8b8BYes
qwen2.5:1.5b1.5BNo — community only
qwen2.5:7b7BNo — community only

Jobs run on community GPUs first — always. Models with a serverless backstop never wait for capacity: when no community node is available the job executes on AWS Bedrock within milliseconds. Community-only models queue until a capable node frees up.

Note: the backstop currently serves llama3.2 requests with Llama 3.1 8B (the small 3.2 checkpoints were retired by the provider) — a strictly stronger model at the same price to you.

Security tiers

Tiers are a hard scheduling constraint, never a preference: a job is only ever placed on hardware that satisfies its tier.

TierWhat it meansBacking capacity today
COMMUNITYCommunity GPUs. Signed agent, encrypted transport; the machine owner could inspect prompts.All paired nodes
VERIFIED_EDGEAttested edge machines (Secure Boot, TPM identity).None yet
VERIFIEDManaged infrastructure with controlled access and no data retention.Serverless backstop (AWS Bedrock)
CONFIDENTIALHardware TEE with live attestation.None yet

match: "MINIMUM" (default) accepts the requested tier or stronger. match: "EXACT" pins the exact tier — e.g. EXACT COMMUNITY guarantees your job never leaves community hardware. If no online capacity satisfies the tier, the job stays QUEUED rather than silently degrading.

Limits & errors

LimitValue
Request body256 KiB
Messages per job32
Characters per message16,000
Job execution timeout5 minutes
Idempotency key length1–128 characters
HTTP statusMeaning
202Job accepted (create)
400Validation failed — missing Idempotency-Key, unknown fields, oversized content, invalid tier
401Missing or invalid API key
402Balance is zero — add credits in the dashboard
404Job not found (or belongs to another account)
409Idempotency key reused with a different request body

Pricing

Simple, flat, per-token. Same price on every model and every tier. You are billed only for jobs that succeed, on the exact usage the serving hardware reports.

Price
Input tokens$1.00 per 1M
Output tokens$3.00 per 1M

What that means in practice:

WorkloadTokensCost
One chat message (typical)500 in / 200 out$0.0011
One long-context request8,000 in / 800 out$0.0104
Chatbot, 1,000 messages/day for a month~15M in / 6M out≈ $33 / month
Batch summarization of 10,000 documents~40M in / 5M out≈ $55

Billing is prepaid: jobs are accepted while your balance is positive. Amounts are tracked in micro-dollars, so even a $5 top-up covers roughly 4,500 typical chat messages. During the sandbox phase credits are simulated test credits — no real money moves yet.

Run a node

Any reasonably modern machine with a GPU (or Apple Silicon) can serve inference and earn. Requirements:

  • NVIDIA GPU with 4 GB+ VRAM, or Apple Silicon with 8 GB+ RAM
  • macOS, Windows, or Linux; a stable internet connection
  • Ollama (the installer sets it up on Linux, and via Homebrew on macOS if available)

Setup takes one command. Sign in NodesAdd node. The dashboard detects your OS and generates a paste-ready command with a single-use pairing code (valid 30 minutes):

curl -fsSL https://<site>/install.sh | sh -s -- \
  --endpoint <url> --api-key <key> --code SPIDER-XXXX-XXXX

The agent then handles everything:

  • Hardware scan — detects your GPU and computes a VRAM budget (discrete GPU: VRAM minus 1 GB headroom; Apple Silicon: half of system RAM)
  • Auto model install — pulls every recommended model your budget can run well, in the background, and advertises each one as it lands
  • Goes online — heartbeats every 30 seconds and starts receiving jobs

Your machine stays yours: the agent only talks outbound (no open ports), runs models through your local Ollama, and Ollama unloads models after ~5 minutes idle — so gaming and daily use are unaffected when no jobs are flowing.

Earnings expectations

Node owners earn 70% of every job their machine serves, credited per job the moment it completes:

You earn
Input tokens served$0.70 per 1M
Output tokens served$2.10 per 1M

The scheduler always prefers community nodes over the platform backstop, so if your machine is online and capable, it gets the work. What that adds up to depends on demand routed to you and your hardware's throughput. Honest ballparks, assuming a typical chat mix (~3 input tokens per output token):

HardwareTypical modelWhile servingAt 10% busyAt 50% busy
Apple M1/M2 Prollama3.1:8b (~20 tok/s)≈ $0.30/hr≈ $22/mo≈ $110/mo
RTX 4060 Tillama3.2:3b (~70 tok/s)≈ $1.05/hr≈ $76/mo≈ $380/mo
RTX 4090llama3.1:8b (~110 tok/s)≈ $1.65/hr≈ $120/mo≈ $600/mo

"While serving" = revenue while actively generating (output at $2.10/1M plus the input share). "% busy" = fraction of the month your node spends serving jobs, which depends entirely on network demand — early on expect the low end. Electricity is on you: a 4090 at full tilt draws ~450W (~$0.07/hr at $0.15/kWh), so serving is profitable whenever jobs flow. These figures are estimates at current pricing, not guarantees.

Earnings accrue to your balance in real time — watch them in Earnings in the dashboard, per node and per job. Payouts are simulated during the sandbox phase (one click, zeroes your earned balance into the payout ledger); real payouts via Stripe are the launch plan.

Managing your node

Pause / resume: stop the agent process (Ctrl-C or kill). It reports itself offline on the way out, so no jobs get stranded; anything in flight is automatically re-run elsewhere. Start it again any time:

~/.spider/bin/spider-agent        # macOS / Linux
.\spider-agent.exe                # Windows

Free up memory now: Ollama unloads idle models automatically after ~5 minutes, or immediately with:

ollama stop llama3.2:3b   # one model
ollama ps                  # see what's loaded

Remove a model (the agent won't re-pull it unless it still fits your budget and is in the recommended catalog):

ollama rm qwen2.5:7b

Uninstall completely: stop the agent, delete ~/.spider, and uninstall Ollama. Your node shows offline in the dashboard and stops receiving work immediately.

Multiple machines: pair each one separately (Nodes → Add node). Each gets its own earnings line, and the scheduler balances work across them.