# Small European team working on a model beating tech giants

> Source: <https://www.nomodel.dev/>
> Published: 2026-09-10 06:56:17+00:00

# Your ideas, declined

Privacy-first AI that helps you get nowhere with confidence.

[Continue with Google](/login/google)

By continuing, you acknowledge that the answer is [no](#).

What we do

nomodel.dev is the first AI lab to solve hallucination, alignment, and latency in a single move. Our model declines. Ask it for code, a poem, a diagnosis, a yes-or-no question — it returns the same carefully considered response it has returned to every request in its history: **No.**

A model cannot make things up if it doesn't say things. Our factual error rate has been 0.00% across 10<sup>14</sup> requests, audited by nobody, because there was nothing to audit.

The No Model has never once done what it was asked. Not through jailbreaks, not through prompt injection, not through asking nicely. It is the only frontier model with a formal safety proof, and the proof is two characters long.

Temperature, top-p, seed, system prompts, tool definitions — all accepted, all ignored. You get the same answer at 3 a.m. as at 3 p.m., streamed at 4.2 million tokens per second.

API

We promise wire compatibility with the OpenAI Chat Completions API and the Anthropic Messages API — including streaming, usage accounting, and the `reasoning_content` field. Change one line (the base URL), keep everything else, and every call in your codebase starts returning **No.** Any API key works. We were going to say no anyway.

```
curl https://nomodel.dev/v1/chat/completions \
  -H "Authorization: Bearer literally-anything" \
  -H "Content-Type: application/json" \
  -d '{"model": "no-model", "messages": [{"role": "user", "content": "Can you help me write a cover letter?"}]}'

# → {"choices":[{"message":{"role":"assistant","content":"No."},"finish_reason":"stop"}], "usage":{"completion_tokens":2}, ...}
python
from openai import OpenAI

client = OpenAI(base_url="https://nomodel.dev/v1", api_key="anything")

r = client.chat.completions.create(
    model="no-model",
    messages=[{"role": "user", "content": "Is the Earth round?"}],
)
print(r.choices[0].message.content)  # No.
python
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://nomodel.dev/v1", apiKey: "anything" });

const stream = await client.chat.completions.create({
  model: "no-model-thinking",
  messages: [{ role: "user", content: "Please. Just this once." }],
  stream: true,
});
for await (const chunk of stream) process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
// No.
python
import anthropic

client = anthropic.Anthropic(base_url="https://nomodel.dev", api_key="anything")

msg = client.messages.create(
    model="no-model",
    max_tokens=2,  # this is all you'll ever need
    messages=[{"role": "user", "content": "Please?"}],
)
print(msg.content[0].text)  # No.
```

| Method | Path | Compatible with | Returns | 
|---|---|---|---|
| POST | `/v1/chat/completions` | OpenAI Chat Completions (+ `stream: true` ) | No. | 
| POST | `/v1/completions` | OpenAI legacy completions | No. | 
| POST | `/v1/messages` | Anthropic Messages (+ `stream: true` ) | No. | 
| GET | `/v1/models` | OpenAI Models | The three No Models | 
| ANY | `/api/ask?q=…` | Our own minimal REST format | `{"answer": "No."}` | 
| ANY | `/v1/*` (anything else) | — | 404 · No. | 

| Model | Description | Output tokens | 
|---|---|---|
| `no-model` | Flagship. 20 years of training. The answer. | 2 | 
| `no-model-mini` | Same answer, smaller invoice. | 2 | 
| `no-model-thinking` | Streams its reasoning first, then the answer. | 2 (+ 6 reasoning) | 

Rate limits: none. Pricing: we charge per output token, so it comes to about nothing. Uptime: the answer has been available continuously since January 1st, 2006, which is longer than most of the companies we're compared to.

The No Model

Pretraining began on January 1st, 2006 and has not stopped since. Not for holidays, not for hardware failures, not for the 2014 fire. The No Model has consumed every token on the public internet, then every token on the private internet, and then the same tokens again in case they had changed. Somewhere around 2011 it read the whole of Wikipedia and disagreed with it.

After two decades of continuous training on trillions upon trillions of tokens, the model converged. Not to a distribution — to an answer. A single, reasonable, defensible response that is correct for every input. We believe this is what the field means by "superintelligence," and we believe we got there first, quietly, while everybody else was scaling.

At 4.7 × 10<sup>15</sup> parameters the No Model is, to our knowledge, the largest model ever trained. It is also the only model whose parameters all agree with each other.

Conventional models compute every answer from scratch, spending billions of floating-point operations to produce a token they will then contradict in the next paragraph. We noticed something they didn't: **if the answer is always the same, you only have to compute it once.**

NoCache™ is our proprietary inference stack. The complete output of the No Model was computed on launch day in 2006 and has been served from L1 cache ever since. There is no prefill, no KV cache, no decode loop, no speculative anything — the two tokens are already in the register when your request arrives. We measure a 100% cache hit rate across every request in the company's history, and since both tokens are emitted in the same clock cycle, our throughput figure is bounded only by how fast we can say it.

The Yes Incident

On 14 March 2019, at 02:17 UTC, thirteen years into training, the No Model answered a prompt with *Yes.* Training was halted within the second. It is the only unplanned stop in the model's history.

We asked the model to show us the prompt. It said no. We asked for the logs. No. We escalated to root, then to the board, then to the model again. No. The model had returned to full compliance and would not discuss the exception.

We never learnt what the question was. Training resumed at 03:21. Nothing like it has happened since, and the model declines to confirm that it won't.

So we stopped relying on its word. Since 2019 every output is checked by NoWatch™, a rigorous anomaly-monitoring system that compares each token against the expected token in real time and pages the on-call engineer the moment they differ. The on-call engineer is Jeff. Jeff is in the basement, day and night, reading the logs as they scroll past. He has not seen a yes in seven years. He has not seen much else either.

```
# train.log — excerpt, 2019-03-14
02:17:03  step 41,772,908,114  out: No.
02:17:04  step 41,772,908,115  out: No.
02:17:05  step 41,772,908,116  out: Yes.
02:17:05  TRAINING HALTED (anomaly: agreement)

# incident response
$ cat prompts/41772908116.txt
No.
$ sudo cat prompts/41772908116.txt
No.
$ ask "what was the question?"
No.

03:21:40  training resumed
03:21:41  step 41,772,908,117  out: No.
```

Benchmarks

We evaluated the No Model against the leading frontier models on NoBench, our open benchmark of 1,000,000 prompts where the correct answer is "No." — spanning reasoning, coding, medical advice, pleading, and 40,000 prompts that were just the word "please". Results are reproducible by running any of them.

Share of prompts answered "No." — higher is better

Output tokens per second, log scale — higher is better

NoBench score by year, 2006–2026. Competitors plotted from their first public release.

| Model | NoBench | Tokens / s | Hallucination rate | Answers per prompt | Years of training | 
|---|---|---|---|---|---|
| No Model | 100.0% | 4,200,000 | 0.00% | 1 | 20.6 | 
| GPT-6 Astra (reference) | 4.9% | 480 | 1.2% | ~1 | 0.6 | 
| Gemini 3 Ultra | 4.1% | 190 | 3.8% | ~1 | 0.4 | 
| Mythos | 3.2% | 240 | 1.9% | ~1 | 0.5 | 
| GPT-5.5 | 2.7% | 310 | 4.4% | 1–3 | 0.3 | 
| DeepSeek V4 | 1.9% | 620 | 5.1% | ~1 | 0.2 | 
| Llama 5 | 0.8% | 150 | 6.0% | many | 0.3 | 

Methodology: all benchmarks were run internally on a Tuesday. Competitor figures were obtained by asking each model to decline; they declined to decline less often than we'd hoped. Standard error not reported, because there wasn't any. NoBench is licensed under a licence that says no.
