Every founder who wants a coding agent without a metered API bill lands on the same question: which open-weight model can I self-host, and what does it cost to run? In 2026 the interesting answer isn't a giant frontier model you rent — it's a small one you own, small enough to fit on a single GPU. Three keep coming up: Cohere's North Mini Code, Mistral's Devstral Small 2, and Alibaba's Qwen3-Coder-30B-A3B.
They get pitched as a SWE-bench bake-off. That's the wrong axis. Two of the three are within half a point on SWE-bench Verified, and the score a model posts in a controlled harness is not the number that shows up on your GPU bill. The useful way to tell them apart is what one card can do: how cheap the card has to be, and how many agent tasks it finishes per hour once it's running. Pick on that, and the benchmark mostly falls out of it.
The number that actually differs: active parameters#
All three are about the same "size" on paper, but they run very differently, and it comes down to one distinction.
- North Mini Code and Qwen3-Coder-30B-A3B are Mixture-of-Experts: 30B total parameters, but only ~3B active per token. The other ~27B sit dormant on each step.
- Devstral Small 2 is a dense 24B: every one of its 24B parameters fires on every token.
Active parameters — not total — set decode speed. That's why Cohere can report that North Mini Code delivers roughly 2.8× the output throughput of Devstral Small 2 on identical hardware despite carrying more total parameters: a 3B-active forward pass is far cheaper than a 24B-dense one. For a coding agent — which streams thousands of tokens per task across a long, chatty loop — throughput is the difference between finishing 10 tickets an hour and finishing 28.
North Mini Code: near-top accuracy at MoE speed#
North Mini Code 1.0 is Cohere's first open agentic coder — a 30B-A3B sparse MoE under Apache 2.0, with a 256K context window and up to 64K tokens of output. It posts ~67.6% on SWE-bench Verified and 40.2% on the harder SWE-bench Pro (vendor-reported, via the SWE-agent harness), and it's explicitly trained to generalize across agent harnesses like OpenCode and SWE-agent rather than a single scaffold. Tool use is interleaved with reasoning via JSON schema.
The bf16 weights (~60GB) want an 80GB H100 or A100, but Cohere ships fp8 and w4a16 quantizations, and the w4a16 build fits a 24GB card. Serving it with vLLM is a one-liner:
vllm serve CohereLabs/North-Mini-Code-1.0 \
--quantization compressed-tensors \ # for the w4a16 checkpoint
--max-model-len 65536 \ # cap KV cache to leave headroom on a small card
--enable-auto-tool-choice \
--tool-call-parser hermes
Reach for it when you run a high-volume agent loop and want the most completed tasks per GPU-hour: it matches Devstral's accuracy almost exactly (67.6 vs 68.0) but at roughly 2.8× the work rate, so a single 80GB card goes a lot further.
Devstral Small 2: the top score, and the simplest model#
Devstral Small 2 is Mistral's 24B dense coder, and it edges the field on raw accuracy: ~68.0% on SWE-bench Verified, with a 256K context and a permissive open-weight license. Being dense is a real virtue for people who want to reason about their infra — there's no expert-routing to profile, throughput is flat and predictable, and quantization behavior is well understood. At 4-bit its ~24B weights drop to roughly 14GB, so it runs on a 24GB 4090 too.
The cost is exactly the thing that makes it simple: dense means it decodes slower than the two MoEs on the same card. You're trading throughput for the top score and a model with no moving parts.
Reach for it when you want the highest small-model accuracy, your volume is moderate enough that decode speed isn't the bottleneck, and you'd rather run a plain dense model than tune an MoE server.
Qwen3-Coder-30B-A3B: the cheapest floor#
Qwen3-Coder-30B-A3B is the accessibility pick. It's a 30B-A3B MoE under Apache 2.0 that lands lower on the leaderboard — ~50.3% SWE-bench Verified — but runs comfortably on a single 24GB RTX 4090 at 4-bit (~18GB), and it's the most battle-tested of the three for local self-hosting, with mature quant builds across llama.cpp, LM Studio, and vLLM. If your hardware floor is "a card I can buy for a couple thousand dollars and put under a desk," this is the one that was designed for it.
The honest tradeoff is the ~18-point SWE-bench gap. For an agent doing routine, well-scoped edits that's often fine; for autonomous bug-fixing on gnarly repos, those points show up as failed tasks and retries.
Reach for it when the constraint is the card — consumer-GPU or edge self-hosting — and a lower hardware floor is worth more than a higher benchmark.
The one-line decision#
Same logic as any self-hosting call: start from the hardware, not the leaderboard.
- Qwen3-Coder-30B-A3B when the card is a 24GB consumer GPU and cost floor beats a few benchmark points.
- Devstral Small 2 when you want the top small-model score and a simple, predictable dense model.
- North Mini Code when a busy agent loop needs the most completed tasks per GPU-hour — Devstral-class accuracy at MoE throughput, on an 80GB card (or the w4a16 quant on 24GB).
If your model is bigger than "small" — you want the very top of the open-weight coding leaderboard and have the hardware to serve it — that's a different tier: see Qwen3-Coder-Next vs Kimi K3 for the 3B-active-on-one-80GB-card frontier, and where to rent a GPU when you'd rather not own the card at all. And if you're still deciding whether to self-host or just rent tokens, the self-host-vs-API math is the calculation to run before you buy anything.



