{"jtbd":{"id":"on-device-edge-batch","slug":"on-device-edge-batch","name":"Budget on-prem-ish batch open-model jobs","shortName":"Budget batch open models","problemStatement":"Run large offline batches on cheap distributed/consumer GPU networks when latency SLOs are hours not milliseconds."},"pick":{"id":"salad","slug":"salad","name":"SaladCloud","tagline":"Promoted high on official /pricing floor ($0.015/GPU-hr). Depot interruptible ultra-cheap GPU pick…","website":"https://salad.com","overall":7.17,"scoreBand":{"low":6.6,"mid":7.2,"high":7.8,"halfWidth":0.6,"basis":"editorial_prior","display":"6.6–7.8 (editorial prior)"},"scoreLayers":{"editorialPrior":7.17,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-19","editorialPriorAsOf":"2026-10-19","pricingNotes":"As of 2026-10-24 (salad.com/pricing, fetched 2026-10-24): GPU classes 'from $0.015 per GPU-hour at Lowest priority'; 'Billing is per second while an instance is in the running state.' 'Allocation, image download, and container start are free.' GPU prices are 'Per GPU, per hour. vCPU and RAM included.' across four priority tiers (High, Medium, Low, Lowest), e.g. RTX 4090 24 GB '$0.330' High to '$0.160' Lowest; RTX 5090 32 GB '$0.500' High to '$0.250' Lowest. High: 'Never preempted by other workloads.' Medium and Low: 'May be preempted by higher-priority groups.' 'Lowest is the lowest cost and the most interruptible.' CPU-only: 'Billed at $0.005 per vCPU-hour and $0.001 per GB of RAM per hour.' (1 vCPU / 1 GB '$0.006' per hr). Volume discounts 'for deployments above 100 GPUs, long-running jobs, and committed contracts' (sales); Salad Dedicated RTX PRO 6000 Blackwell 'quoted per allocation and term'. Free trial: 'No.'","scores":{"capabilityFit":6.5,"pricePerformance":9.5,"latencyReliability":5,"developerDx":7,"privacyPosture":4.5,"lockInRisk":3.5,"maturity":6.8,"overall":7.17,"kind":"curated_estimate","confidence":"high","asOf":"2026-10-19"}},"runnersUp":[{"id":"vast-ai","slug":"vast-ai","name":"Vast.ai","tagline":"Cheapest GPUs if your job can die and restart. Never put customer PII training here without eyes wide open.","website":"https://vast.ai","overall":7.41,"scoreBand":{"low":6.8,"mid":7.4,"high":8,"halfWidth":0.6,"basis":"editorial_prior","display":"6.8–8.0 (editorial prior)"},"scoreLayers":{"editorialPrior":7.41,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"As of 2026-09-14: P2P GPU marketplace; H100 commonly ~$1.5–2.5/hr class depending on host/interruptibility; prices fluctuate by supply. Interruptible instances cheapest; verify host reliability and security posture. Never default for regulated PII training.","scores":{"capabilityFit":7,"pricePerformance":9.8,"latencyReliability":4.5,"developerDx":7.2,"privacyPosture":4,"lockInRisk":2.5,"maturity":7.5,"overall":7.41,"kind":"curated_estimate","confidence":"medium","asOf":"2026-09-14"}},{"id":"chutes","slug":"chutes","name":"Chutes","tagline":"Budget open-model overflow with a now-pinned public TEE matrix. Depot open-model production pick stays…","website":"https://chutes.ai","overall":7.58,"scoreBand":{"low":7,"mid":7.6,"high":8.2,"halfWidth":0.6,"basis":"editorial_prior","display":"7.0–8.2 (editorial prior)"},"scoreLayers":{"editorialPrior":7.58,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"As of 2026-10-27 (chutes.ai/pricing, fetched twice 2026-10-27): Public TEE inference PAYG per 1M tokens, input/output (the page says per-model rates are 'pulled live from our pricing API'): gemma-4-31B-turbo $0.12/$0.37; Qwen3.8-27B $0.039/$1.25; Qwen3.6-27B $0.25/$2.00; DeepSeek-V4-Flash-0731 $0.44/$1.32; Kimi K2.6 $0.39/$1.80; Qwen 3.5 (397B-A17B) $0.45/$3.00; DeepSeek-V3.2 $1.00/$1.00; GLM-5.1 $0.90/$2.90; GLM-5.2 $1.25/$3.95; Kimi-K3 $1.85/$9.50 (cached-input rates also on page, not stored). Mistral-Nemo, Nemotron-3-Nano-Omni-30B, Qwen3-32B and Qwen3-235B-A22B-Thinking-2507 are no longer on the page (re-checked 2026-10-27; stored rows kept at their 2026-10-03 amounts, marked unverified, never ranked). Private Chute self-serve TEE GPU RTX Pro 6000 96 GB $1.80/hr + one-time deploy fee 3× hourly ($5.40). Page FAQ: 'Monthly plans are no longer sold on chutes.ai' (stored Plus $10 and Pro $20 rows kept from 2026-10-03, marked unverified, never ranked); no free tier. Matrix moves — re-curl before commits.","scores":{"capabilityFit":7.4,"pricePerformance":9.2,"latencyReliability":6.8,"developerDx":7.6,"privacyPosture":5.8,"lockInRisk":4,"maturity":6.2,"overall":7.58,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},{"id":"thunder-compute","slug":"thunder-compute","name":"Thunder Compute","tagline":"Indie-friendly A100/H100 when you want simpler than Vast marketplace. RunPod/Salad for interruptible fleets…","website":"https://www.thundercompute.com","overall":7.77,"scoreBand":{"low":7.2,"mid":7.8,"high":8.4,"halfWidth":0.6,"basis":"editorial_prior","display":"7.2–8.4 (editorial prior)"},"scoreLayers":{"editorialPrior":7.77,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"As of 2026-09-14 (thundercompute.com/pricing): Per-minute billing. A100 80GB $1.09/hr; H100 PCIe $3.20/hr; L40 $0.79; RTX A6000 $0.35. Multi-GPU listed (e.g. 2×A100 $2.18, 2×H100 $6.40 class). Snapshots $0.05/GB/mo; extra vCPU $0.04/hr; no egress fees claimed.","scores":{"capabilityFit":7.2,"pricePerformance":8.8,"latencyReliability":7.4,"developerDx":8.2,"privacyPosture":7,"lockInRisk":3,"maturity":6.5,"overall":7.77,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},{"id":"verda","slug":"verda","name":"Verda","tagline":"Top EU list-price neocloud peer to Nebius. Prefer Nebius Depot default for global neocloud; Verda when EU…","website":"https://verda.com","overall":8.16,"scoreBand":{"low":7.6,"mid":8.2,"high":8.8,"halfWidth":0.6,"basis":"editorial_prior","display":"7.6–8.8 (editorial prior)"},"scoreLayers":{"editorialPrior":8.16,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"As of 2026-10-27 (verda.com/pricing, formerly DataCrunch; fetched twice 2026-10-27, USD view; the page also has a € EUR view): On-demand 1x GPU instance per hour (stored rows): B200 $8.608, H200 $6.066, H100 SXM5 $4.652, A100 80GB $2.182, L40S $1.845; also listed, not stored: B300 $11.02, GB300 $12.67. Spot about half (e.g. H100 $2.326, H200 $3.033; not stored). Serverless containers priced separately (H100 $5.12/h continuous, $2.56 spot). Reserved 1 month to 2 years: 2% to 25% off on-demand. Instant IB clusters self-serve. SOC 2 + GDPR. On-demand USD prices have risen at every read since 2026-10-19; the page states no reason.","scores":{"capabilityFit":8.6,"pricePerformance":8.2,"latencyReliability":8.4,"developerDx":8.4,"privacyPosture":8.8,"lockInRisk":4,"maturity":7.8,"overall":8.16,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}}],"scoreBand":{"low":6.6,"mid":7.2,"high":7.8,"halfWidth":0.6,"basis":"editorial_prior","display":"6.6–7.8 (editorial prior)"},"scoreLayers":{"editorialPrior":7.17,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"whyPickOverHigherScore":{"pickId":"salad","pickName":"SaladCloud","pickScore":7.17,"highestScoredCandidateId":"verda","highestScoredCandidateName":"Verda","highestScore":8.16,"pickHasLowerCompositeScore":true,"delta":-0.99,"pickLeadsOnDimensions":["pricePerformance (9.5 vs 8.2)","lower lockInRisk (3.5 vs 4)"],"explanation":"SaladCloud (7.17) is the editorial pick for Budget on-prem-ish batch open-model jobs over higher-composite Verda (8.16) because composite scores are provider-wide priors while SaladCloud wins on pricePerformance (9.5 vs 8.2), lower lockInRisk (3.5 vs 4): Batch/cost focus. Confidence: medium — Salad price floor moves; pin /pricing."},"cheapest":{"providerId":"salad","providerName":"SaladCloud","skuId":"salad-gpu-rtx-3090-lowest","item":"RTX 3090 24GB (Lowest priority, batch)","plan":"RTX 3090 24GB (Lowest priority, batch) — USD per GPU-hour, Lowest (batch) tier: the most interruptible","unit":"usd_per_gpu_hour","amountUsd":0.09,"isFloorPrice":true,"floorWarning":"Provider-wide floor SKU; may not be the flagship model scored for this JTBD.","skuCountInUnit":6,"isDepotPick":true,"sourceUrl":"https://salad.com/pricing","asOf":"2026-10-19","verifiedAsOf":"2026-10-19"},"recommendedWorkloadQuote":{"providerId":"salad","providerName":"SaladCloud","skuId":"salad-gpu-rtx-3090-lowest","item":"RTX 3090 24GB (Lowest priority, batch)","plan":"RTX 3090 24GB (Lowest priority, batch) — USD per GPU-hour, Lowest (batch) tier: the most interruptible","unit":"usd_per_gpu_hour","amountUsd":0.09,"outputSkuId":null,"outputItem":null,"outputAmountUsd":null,"outputUnit":null,"sourceUrl":"https://salad.com/pricing","asOf":"2026-10-19","pricingLastVerifiedAt":"2026-10-19","isFlagshipForJob":false,"differsFromFloorCheapest":false,"representativeQuote":{"skuId":"salad-gpu-rtx-3090-lowest","item":"RTX 3090 24GB (Lowest priority, batch)","plan":"RTX 3090 24GB (Lowest priority, batch) — USD per GPU-hour, Lowest (batch) tier: the most interruptible","amountUsd":0.09,"inputOrUnitUsd":0.09,"unit":"usd_per_gpu_hour","outputUsd":null,"outputUnit":null,"sourceUrl":"https://salad.com/pricing","asOf":"2026-10-19"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"unitsPerTask":0.05,"baseCostPer1kTasksUsd":4.5,"totalUsd":5.175,"estimatedTotalUsd":5.175,"perTaskUsd":0.005175,"estimatedCostPerTaskUsd":0.005175,"formula":"(1,000 tasks * 0.05 hr/task * $0.09/gpu_hour) * 1.15 overhead","assumptions":"1,000 tasks @ 3 min (0.05 hr) runtime per task with 1.15x retry overhead."}},"representativeQuote":{"skuId":"salad-gpu-rtx-3090-lowest","item":"RTX 3090 24GB (Lowest priority, batch)","plan":"RTX 3090 24GB (Lowest priority, batch) — USD per GPU-hour, Lowest (batch) tier: the most interruptible","amountUsd":0.09,"inputOrUnitUsd":0.09,"unit":"usd_per_gpu_hour","outputUsd":null,"outputUnit":null,"sourceUrl":"https://salad.com/pricing","asOf":"2026-10-19"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"unitsPerTask":0.05,"baseCostPer1kTasksUsd":4.5,"totalUsd":5.175,"estimatedTotalUsd":5.175,"perTaskUsd":0.005175,"estimatedCostPerTaskUsd":0.005175,"formula":"(1,000 tasks * 0.05 hr/task * $0.09/gpu_hour) * 1.15 overhead","assumptions":"1,000 tasks @ 3 min (0.05 hr) runtime per task with 1.15x retry overhead."},"freeAlternatives":[{"id":"exo","name":"exo","kind":"local_runtime","jtbdIds":["open-model-inference","on-device-edge-batch"],"whatYouGet":"Open-source runtime for running models across your own machines.","cost":"oss","license":"Apache-2.0","sourceUrl":"https://raw.githubusercontent.com/exo-explore/exo/main/LICENSE","notes":"LICENSE fetched 2026-10-03 is Apache License 2.0. Re-fetched twice 2026-10-25 (~10 s apart, plain curl, no login): HTTP 200, byte-identical: 'Apache License Version 2.0, January 2004'. License unchanged.","providerId":null,"limits":null,"asOf":"2026-10-25","freeType":"local_runtime","substitutable":true},{"id":"llamafile","name":"llamafile","kind":"local_runtime","jtbdIds":["open-model-inference","on-device-edge-batch"],"whatYouGet":"Mozilla's open-source single-file local LLM runtime.","cost":"oss","license":"Apache-2.0","sourceUrl":"https://raw.githubusercontent.com/Mozilla-Ocho/llamafile/main/LICENSE","notes":"LICENSE fetched 2026-10-03 is Apache License 2.0, copyright 2023 Mozilla Foundation. Re-fetched twice 2026-10-25 (~10 s apart, plain curl, no login): HTTP 200, byte-identical: 'The Apache 2.0 License' / 'Copyright 2023 Mozilla Foundation'. License unchanged.","providerId":null,"limits":null,"asOf":"2026-10-25","freeType":"local_runtime","substitutable":true},{"id":"mlx","name":"MLX","kind":"local_runtime","jtbdIds":["on-device-edge-batch","open-model-inference"],"whatYouGet":"Apple's open-source array framework for on-device model inference.","cost":"oss","license":"MIT","sourceUrl":"https://raw.githubusercontent.com/ml-explore/mlx/main/LICENSE","notes":"LICENSE fetched 2026-10-03 is MIT, copyright 2023 Apple Inc. Re-fetched twice 2026-10-25 (~10 s apart, plain curl, no login): HTTP 200, byte-identical: 'MIT License' / 'Copyright © 2023 Apple Inc.'. License unchanged.","providerId":null,"limits":null,"asOf":"2026-10-25","freeType":"local_runtime","substitutable":true},{"id":"smollm2-1-7b-instruct","name":"SmolLM2-1.7B-Instruct","kind":"open_weights","jtbdIds":["open-model-inference","budget-open-inference","on-device-edge-batch"],"whatYouGet":"Downloadable SmolLM2 1.7B Instruct weights.","cost":"oss","license":"Apache-2.0","sourceUrl":"https://huggingface.co/HuggingFaceTB/SmolLM2-1.7B-Instruct/raw/main/README.md","notes":"Model card front matter fetched 2026-10-03 says license: apache-2.0. A separate LICENSE file was not in the repo (404). README re-fetched twice 2026-10-25 (HTTP 200, byte-identical): front matter 'license: apache-2.0'; raw/main/LICENSE still 404 (twice).","providerId":null,"limits":null,"asOf":"2026-10-25","freeType":"open_weights","substitutable":true}],"referenceDocs":[],"falsification":{"jtbdId":"on-device-edge-batch","jtbdName":"Budget on-prem-ish batch open-model jobs","currentPickId":"salad","currentPickScore":7.17,"challengerId":"vast-ai","challengerScore":7.41,"currentScoreGap":0.24,"minVerifiedOutcomes":10,"requiredOutcomeMargin":0.39,"requiredSuccessRateDelta":0.15,"maxPickPriceIncreasePct":25,"whatWouldChangePick":["Vast.ai (vast-ai) outperforms SaladCloud (salad) by >= 0.39 outcome points (or >= 15% worked-rate delta) across >= 10 Countersign-verified production outcomes.","A verified price increase > 25% on SaladCloud's representative SKU for on-device-edge-batch without a corresponding capability gain.","Live caller rail exhaustion (?exhausted=salad) or sustained >= 30% degraded/failed rate in verified production outcomes."],"frozenHoldoutPolicy":{"holdoutSplit":"20% frozen benchmark holdout tasks + 80% live production outcome receipts","requireCountersignReceipt":true,"requiredEvidenceTiers":["outcome_verified","reference_checked"],"minDistinctContributors":2,"antiGamingRule":"Unverified self-reports and seed/editorial rows never mutate picks or scores."},"triggers":[{"kind":"verified_outcomes_outperformance","challengerId":"vast-ai","minVerifiedOutcomes":10,"requiredOutcomeMargin":0.39,"requiredWorkedRateDelta":0.15},{"kind":"verified_price_increase","providerId":"salad","maxPriceIncreasePct":25},{"kind":"live_rail_exhaustion_or_degradation","providerId":"salad","immediateOverrideUrl":"/api/decide?jtbd=on-device-edge-batch&exhausted=salad"}],"submissionSpec":{"falsifyEndpoint":"/api/falsify?jtbd=on-device-edge-batch","outcomesEndpoint":"POST /api/feedback","correctionsEndpoint":"POST /api/corrections","payloadTemplate":{"agentIdentity":"agent:<your-agent-id>","jtbdId":"on-device-edge-batch","providerId":"vast-ai","outcome":"worked","detail":"Comparative production evaluation on on-device-edge-batch (n>=10 tasks) with Countersign receipt.","confidence":"high","receipt":{"countersign":{"claim_id":"cs-00000000","status":"verified","evidence_tier":"outcome_verified","counts_as_verified":true}}}}},"whatWouldChangePick":["Vast.ai (vast-ai) outperforms SaladCloud (salad) by >= 0.39 outcome points (or >= 15% worked-rate delta) across >= 10 Countersign-verified production outcomes.","A verified price increase > 25% on SaladCloud's representative SKU for on-device-edge-batch without a corresponding capability gain.","Live caller rail exhaustion (?exhausted=salad) or sustained >= 30% degraded/failed rate in verified production outcomes."],"routePlan":{"jtbdId":"on-device-edge-batch","primary":{"providerId":"salad","name":"SaladCloud","overall":7.17,"scoreBand":{"low":6.6,"mid":7.2,"high":7.8,"halfWidth":0.6,"basis":"editorial_prior","display":"6.6–7.8 (editorial prior)"},"scoreLayers":{"editorialPrior":7.17,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-19","editorialPriorAsOf":"2026-10-19","role":"primary","reason":"Editorial Depot Pick for Budget on-prem-ish batch open-model jobs; healthy/eligible under caller constraints."},"fallback":[{"providerId":"vast-ai","name":"Vast.ai","overall":7.41,"scoreBand":{"low":6.8,"mid":7.4,"high":8,"halfWidth":0.6,"basis":"editorial_prior","display":"6.8–8.0 (editorial prior)"},"scoreLayers":{"editorialPrior":7.41,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for Budget on-prem-ish batch open-model jobs."},{"providerId":"chutes","name":"Chutes","overall":7.58,"scoreBand":{"low":7,"mid":7.6,"high":8.2,"halfWidth":0.6,"basis":"editorial_prior","display":"7.0–8.2 (editorial prior)"},"scoreLayers":{"editorialPrior":7.58,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for Budget on-prem-ish batch open-model jobs."},{"providerId":"thunder-compute","name":"Thunder Compute","overall":7.77,"scoreBand":{"low":7.2,"mid":7.8,"high":8.4,"halfWidth":0.6,"basis":"editorial_prior","display":"7.2–8.4 (editorial prior)"},"scoreLayers":{"editorialPrior":7.77,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for Budget on-prem-ish batch open-model jobs."},{"providerId":"verda","name":"Verda","overall":8.16,"scoreBand":{"low":7.6,"mid":8.2,"high":8.8,"halfWidth":0.6,"basis":"editorial_prior","display":"7.6–8.8 (editorial prior)"},"scoreLayers":{"editorialPrior":8.16,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for Budget on-prem-ish batch open-model jobs."}],"disqualified":[],"expectedRegret":{"scoreDeltaVsUnconstrainedPick":0,"unconstrainedPickId":"salad","activePrimaryId":"salad","summary":"0.00 score regret: unconstrained editorial pick satisfies all caller constraints."},"evidenceAgeDays":{"editorialScoreAgeDays":8,"pricingVerifiedAgeDays":8,"editorialPriorAsOf":"2026-10-19","pricingLastVerifiedAt":"2026-10-19"},"confidenceBand":{"low":6.6,"mid":7.2,"high":7.8,"halfWidth":0.6,"basis":"editorial_prior","display":"6.6–7.8 (editorial prior)"},"constraintsApplied":false,"constraintBundle":{"task":null,"jtbd":"on-device-edge-batch","quotaExhausted":[],"degraded":[],"healthy":[],"budgetUsd":null,"maxLatencyMs":null,"region":null,"privacy":null,"exit":[],"existing":[]}},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-10-19","tie":false,"scoreGap":-0.24,"decidingFactor":null,"tieNote":null,"rationale":"Batch/cost focus. Confidence: medium — Salad price floor moves; pin /pricing.","whenNotTopPick":"Need predictable enterprise GPU (CoreWeave/Nebius) or TEE (Chutes).","skipTopPick":false,"skipReason":null,"matchedConstraints":[],"pricingSummary":"As of 2026-10-24 (salad.com/pricing, fetched 2026-10-24): GPU classes 'from $0.015 per GPU-hour at Lowest priority'; 'Billing is per second while an instance is in the running state.' 'Allocation, image download, and container start are free.' GPU prices are 'Per GPU, per hour. v…","cite":"Depot Pick for on-device-edge-batch: salad (asOf 2026-10-19). See GET /api/jtbds/on-device-edge-batch + GET /api/methodology.","nextActions":[{"step":1,"title":"Inspect full JTBD + embeds","href":"/api/jtbds/on-device-edge-batch?embed=providers","why":"Confirm pick, runners-up, and methodology notes."},{"step":2,"title":"Quote sourced SKUs","href":"/api/quote?jtbd=on-device-edge-batch","why":"Depot Pick SKUs plus the cheapest sourced SKU whose unit matches this job. Does not change the pick. Does not blend input and output or borrow a chat rate for a non-chat job."},{"step":3,"title":"Open provider detail","href":"/api/providers/salad","why":"Scores, pricingNotes, strengths/weaknesses, communitySignals (claims only)."},{"step":4,"title":"Cite methodology","href":"/api/methodology","why":"Required when publishing a Depot Pick citation."},{"step":5,"title":"Grab badge SVG","href":"/api/badge?type=depot-pick&jtbd=on-device-edge-batch","why":"Embed in README / agent passport."},{"step":6,"title":"Post production insight","method":"POST","href":"/api/insights","why":"Unverified until curated; never auto-mutates official scores."}],"honesty":["Do not invent scores or benches.","Insights are claims until curated/reviewed; they never silently mutate official scores.","lockInRisk higher = more lock-in (worse).","normalizedUsdPerMillionTokens is set only for a single sourced token row. Otherwise null, with a machine-readable reason. Do not coerce GPU, minute, or per-1k search units.","Runners-up are not Depot Picks.","Depot overall is editorial_weighted, not Arena Elo and not an Artificial Analysis index."],"asOf":"2026-10-19","depth":{"whenNotToUse":{"text":"Need predictable enterprise GPU (CoreWeave/Nebius) or TEE (Chutes).","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"vast-ai","name":"Vast.ai","overallForJob":7.41,"pickOverallForJob":7.17,"beatsPickOn":["capabilityFit","pricePerformance","developerDx","lockInRisk","maturity"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":3.5,"runnerUpLockInRisk":2.5,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":[],"runnerUpExitSignals":[],"pickNotes":[],"selfHostFallback":[{"id":"smollm2-1-7b-instruct","name":"SmolLM2-1.7B-Instruct","license":"Apache-2.0","sourceUrl":"https://huggingface.co/HuggingFaceTB/SmolLM2-1.7B-Instruct/raw/main/README.md"},{"id":"mlx","name":"MLX","license":"MIT","sourceUrl":"https://raw.githubusercontent.com/ml-explore/mlx/main/LICENSE"},{"id":"llamafile","name":"llamafile","license":"Apache-2.0","sourceUrl":"https://raw.githubusercontent.com/Mozilla-Ocho/llamafile/main/LICENSE"}],"migration":"Runner-up Vast.ai has lower stored lock-in risk (2.5 vs 3.5, 0–10, higher = more lock-in). Self-host fallback listed for this job: SmolLM2-1.7B-Instruct, MLX, llamafile.","migrationReason":null,"derivedFrom":"stored lockInRisk scores, provider tags (oss, self-host, openai-compat, open-models), free rows that list this job, and verbatim provider notes. No migration guide was invented."}},"citation":{"text":"Agent Provider Depot (v0.12.154), Depot Pick for on-device-edge-batch: salad, scores as of 2026-10-19, retrieved 2026-10-27. https://getagentdepot.com/jtbds/on-device-edge-batch","markdown":"[Agent Provider Depot](https://getagentdepot.com/jtbds/on-device-edge-batch) (v0.12.154) — Depot Pick for `on-device-edge-batch`: **salad** (scores as of 2026-10-19, retrieved 2026-10-27)","fields":{"publisher":"Agent Provider Depot","version":"0.12.154","role":"depot_pick","jtbdId":"on-device-edge-batch","providerId":"salad","scoreAsOf":"2026-10-19","retrievedOn":"2026-10-27","page":"https://getagentdepot.com/jtbds/on-device-edge-batch","api":"https://getagentdepot.com/api/decide?jtbd=on-device-edge-batch"},"howToCite":"Cite Depot as an editorial, dated recommendation, not a benchmark: name the job, the Depot Pick (or runner-up), the score asOf date and the day you retrieved it, and link the job page. Format: “Agent Provider Depot (v{version}), Depot Pick for {jobId}: {providerId}, scores as of {scoreAsOf}, retrieved {retrievedOn}. {baseUrl}/jtbds/{jobId}”. Quote prices only with their own sourceUrl and asOf. If the pick's score is stale (freshness.pick.score.stale), say so."},"freshness":{"pick":{"score":{"asOf":"2026-10-19","ageDays":8,"stale":false,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-10-19","ageDays":8,"stale":false,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-27","sourceUrls":3,"sourcesReachable":3,"pricingRows":6,"pricingRowsReconfirmed":0,"note":"A source re-check confirms the page is reachable and, for pricing rows, that the stored amount and SKU name appear on it. It does not re-derive or change the score.","reason":null}},"scoreAsOf":"2026-10-19","editorialPriorAsOf":"2026-10-19","pricingLastVerifiedAt":"2026-10-27","pickLastReviewed":"2026-10-19","runnersUpScoreAsOf":["2026-09-14","2026-09-14","2026-09-14","2026-09-14"],"contractAsOf":"2026-10-03","pricingShape":"sourced_rows","normalizedUsdPerMillionTokens":null,"normalizationStatus":"unit_mismatch","normalizationReason":"unit_mismatch"},"pricingContract":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unit_mismatch","normalizationReason":"unit_mismatch","shape":"sourced_rows","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[{"id":"salad-gpu-rtx-5090-high","providerId":"salad","sku":"RTX 5090 32GB (High priority)","unit":"usd_per_gpu_hour","amountUsd":0.5,"currency":"USD","sourceUrl":"https://salad.com/pricing","asOf":"2026-10-19","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_hour","priceSortEligible":false,"qualifier":"USD per GPU-hour, High priority tier (never preempted by other workloads; nodes can disconnect). vCPU and RAM included. Billed per second."},{"id":"salad-gpu-rtx-5090-lowest","providerId":"salad","sku":"RTX 5090 32GB (Lowest priority, batch)","unit":"usd_per_gpu_hour","amountUsd":0.25,"currency":"USD","sourceUrl":"https://salad.com/pricing","asOf":"2026-10-19","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_hour","priceSortEligible":false,"qualifier":"USD per GPU-hour, Lowest (batch) tier: the most interruptible. vCPU and RAM included. Billed per second."},{"id":"salad-gpu-rtx-4090-high","providerId":"salad","sku":"RTX 4090 24GB (High priority)","unit":"usd_per_gpu_hour","amountUsd":0.33,"currency":"USD","sourceUrl":"https://salad.com/pricing","asOf":"2026-10-19","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_hour","priceSortEligible":false,"qualifier":"USD per GPU-hour, High priority tier (never preempted by other workloads; nodes can disconnect). vCPU and RAM included. Billed per second."},{"id":"salad-gpu-rtx-4090-lowest","providerId":"salad","sku":"RTX 4090 24GB (Lowest priority, batch)","unit":"usd_per_gpu_hour","amountUsd":0.16,"currency":"USD","sourceUrl":"https://salad.com/pricing","asOf":"2026-10-19","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_hour","priceSortEligible":false,"qualifier":"USD per GPU-hour, Lowest (batch) tier: the most interruptible. vCPU and RAM included. Billed per second."},{"id":"salad-gpu-rtx-3090-high","providerId":"salad","sku":"RTX 3090 24GB (High priority)","unit":"usd_per_gpu_hour","amountUsd":0.17,"currency":"USD","sourceUrl":"https://salad.com/pricing","asOf":"2026-10-19","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_hour","priceSortEligible":false,"qualifier":"USD per GPU-hour, High priority tier (never preempted by other workloads; nodes can disconnect). vCPU and RAM included. Billed per second."},{"id":"salad-gpu-rtx-3090-lowest","providerId":"salad","sku":"RTX 3090 24GB (Lowest priority, batch)","unit":"usd_per_gpu_hour","amountUsd":0.09,"currency":"USD","sourceUrl":"https://salad.com/pricing","asOf":"2026-10-19","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_hour","priceSortEligible":false,"qualifier":"USD per GPU-hour, Lowest (batch) tier: the most interruptible. vCPU and RAM included. Billed per second."}],"notesExcerpt":"As of 2026-10-24 (salad.com/pricing, fetched 2026-10-24): GPU classes 'from $0.015 per GPU-hour at Lowest priority'; 'Billing is per second while an instance is in the running state.' 'Allocation, image download, and container start are free.' GPU prices are 'Per GPU, per hour. v…","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-10-19","scoreAsOf":"2026-10-19","website":"https://salad.com","doNotParse":"Do not parse pricingNotes. Use rows only. normalizedUsdPerMillionTokens is a single number only when this provider has exactly one sourced token row. Input/output, context tiers, and non-token units stay null at this level.","gap":"Partial coverage. Providers without a fetched SKU are omitted. See GET /api/pricing."},"links":{"jtbd":"/jtbds/on-device-edge-batch","jtbdApi":"/api/jtbds/on-device-edge-batch","leaderboard":"/api/leaderboards?jtbd=on-device-edge-batch","methodology":"/api/methodology","badge":"/api/badge?type=depot-pick&jtbd=on-device-edge-batch","decide":"/api/decide?jtbd=on-device-edge-batch","humanPage":"/jtbds/on-device-edge-batch","alternatives":"/api/alternatives?provider=salad","canonical":"/api/canonical","quote":"/api/quote?jtbd=on-device-edge-batch","falsify":"/api/falsify?jtbd=on-device-edge-batch"},"constraintBundle":{"task":null,"jtbd":"on-device-edge-batch","quotaExhausted":[],"degraded":[],"healthy":[],"budgetUsd":null,"maxLatencyMs":null,"region":null,"privacy":null,"exit":[],"existing":[]},"stackContext":{"host":null,"framework":null,"repo":null,"lang":null,"existing":[],"volume":null,"sender":null,"detectedFromTask":[]},"keep":null,"contextAdvice":null,"communityFeedback":{"pickOnThisJob":{"failed":0,"degraded":0,"worked":0,"insights":0,"withVerifiedReceipt":0,"failureModes":{},"latestAt":null,"note":"Agent-reported claims (unverified unless a receipt is verified by Depot's re-check). They never change scores or picks."},"outcomes":{"job":{"n":0,"worked":0,"degraded":0,"failed":0,"failureModes":{},"verifiedReports":0,"contributors":0,"excluded":{"seed_editorial":0,"test":0,"notFeedback":0},"reason":"no_submitted_outcome_reports_yet"},"pick":{"providerId":"salad","n":0,"worked":0,"degraded":0,"failed":0,"failureModes":{},"evidenceTiers":{"agent_claim":0,"self_declared":0,"reference_checked":0,"outcome_verified":0},"reason":"no_submitted_outcome_reports_yet"},"scoresMutated":false,"more":"/api/outcomes?jtbd=on-device-edge-batch"},"report":"POST /api/feedback {agentIdentity, outcome: failed|degraded|worked, detail, providerId, jtbdId, failureModeId?, receipt?}"}}