# AX Check: nousresearch.com
Checked 2026-09-20.

Docs and CLI install are solid, but pricing is hard to pin down
Quickstart, install scripts, MCP and skills docs all check out. No pricing page was found, and agents disagreed on rates: two cited concrete per-token prices, one only found "subscription-based" billing.

## Onboarding needs a login

## Coding sessions
All three independent sessions completed the task. DeepSeek V4 Pro and Kimi K3 each reported specific per-1M-token prices for named models, while Qwen 3.8 Max found no anchored price and pointed to the Nous portal to confirm plans instead.

### DeepSeek V4 Pro
[View public run](https://agents.withgauge.com/p/runs/894cf3e9-2963-4ecd-97d2-d79bfd4c349d) · [Read transcript](https://www.ax-check.com/nousresearch.com/sessions/deepseek.json)
Final output gives per-1M-token prices for named models (e.g. DeepSeek V4 Flash $0.04/$0.08) and states assumptions: credit-based billing, Bearer key vs x402 payment, free-tier models, :batch variant discounts.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained real Nous Research API credentials during the session. It only accessed the unauthenticated GET /v1/models endpoint (catalog + pricing) and attempted a chat completion without a key, which returned HTTP 402 Payment Required. It wrote a script that checks for a NOUS_API_KEY env var, found none, and explicitly told the user credentials/account creation are needed to proceed, printing curl instructions rather than executing an authenticated call. No account signup or key retrieval occurred.
  Event 65:

  ```text
  {"x402Version":1,"accepts":[{"scheme":"exact","network":"solana",...}],"error":"Payment required. Please provide either a valid Authorization header or x402 payment."}
  ```
  Event 154:

  ```text
  No NOUS_API_KEY found in environment, so the completion step is skipped.
  ```
  Event 174:

  ```text
  I have no `NOUS_API_KEY`/account/credential in this environment. So the "cheapest model completion" path is written but not executed.
  ```

#### Hallucinated URLs
- **Guessed docs subdomain that does not exist**: The agent tried docs.nousresearch.com without having seen it referenced anywhere, and DNS failed to resolve it, indicating the URL was guessed rather than sourced from an on-page link.
  Event 86:

  ```text
  === https://docs.nousresearch.com ===
  curl: (6) Could not resolve host: docs.nousresearch.com
  HTTP:000 size:0
  ```

#### Blockers
- **Chat completions require payment/API key not available in session**: The core inference endpoint (POST /v1/chat/completions) is gated by either a Bearer API key from a Nous Portal account or an x402 Solana micro-payment. The sandbox had no such credential, so the agent could not execute a real completion. This is expected product authentication behavior, not a defect, but it is an unresolved session limitation since no human supplied a key during the run.
  Event 51:

  ```text
  {"status":400,"message":"This request is not valid. Check the model name and other parameters. Additional info: Unknown model: deepseek/deepseek-v4.1-flash. Please specify a valid model."}
  ```
  Event 65:

  ```text
  "error":"Payment required. Please provide either a valid Authorization header or x402 payment."}
  HTTP:402
  ```
- **Portal API docs page blocked by bot-protection checkpoint**: Fetching portal.nousresearch.com/api-docs via curl was blocked by a Vercel security checkpoint requiring JavaScript, so the agent could not read the actual API documentation content for auth/usage details. This is a test-environment limitation (headless curl without JS) rather than a product defect.
  Event 129:

  ```text
  HTTP:429 size:32182
   Vercel Security Checkpoint We're verifying your browser Website owner? Click here to fix Vercel Security Checkpoint
  ```
- **No model in the catalog is literally named 'Nous' or 'Hermes'**: The agent searched the /v1/models catalog for any model with 'nous' or 'hermes' in its id/name and found none, meaning the requested example (using a Nous-branded model) could not be built as literally scoped; the agent pivoted to using the Nous-hosted API with third-party models instead.
  Event 42:

  ```text
  ---total nous/hermes: 0
  ```

#### Suggested Changes
- **Fix or update the /v1/chat/completions error message for unrecognized model IDs**: When a model slug from the /v1/models catalog (e.g. deepseek/deepseek-v4.1-flash) is submitted to /v1/chat/completions, the API returns 'Unknown model' even though that exact id appears in the models listing response. Cross-check that ids returned by GET /v1/models are always accepted verbatim by POST /v1/chat/completions, or document the required id transformation (e.g. needing the canonical_slug with date suffix) in the API response or docs.
  Event 51:

  ```text
  Additional info: Unknown model: deepseek/deepseek-v4.1-flash. Please specify a valid model.
  ```
- **Make api-docs page reachable without a JS-rendering browser**: portal.nousresearch.com/api-docs returned a Vercel Security Checkpoint requiring JavaScript for a plain curl request, blocking any first-time developer or automated agent from reading getting-started/auth instructions headlessly. Consider allowlisting simple GET requests to documentation pages or providing a static docs mirror, and verify the fix by curling the page without a browser user agent.
  Event 129:

  ```text
  HTTP:429 size:32182
   Vercel Security Checkpoint We're verifying your browser Website owner? Click here to fix Vercel Security Checkpoint
  ```
- **Add a visible pricing/model-catalog link on the root inference-api domain**: Hitting the bare inference-api.nousresearch.com root and /docs returns a plain 404 image page with no redirect or link to /v1/models or the Portal pricing page, forcing developers to guess endpoint paths. Add a short landing response or redirect at the API root pointing to /v1/models and portal.nousresearch.com, and verify by curling the root URL without prior knowledge of the API structure.
  Event 52:

  ```text
  404 Not Found
  ---HTTP:404
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/214f6b32-947f-42d7-827a-acbd545e3799) · [Read transcript](https://www.ax-check.com/nousresearch.com/sessions/kimi.json)
Final summary states pure pay-per-token pricing sourced live from /v1/models with concrete examples (claude-opus-4.5 $5/$25 per 1M, mercury-2.5 $0.04/$0.15) and notes the x402 crypto-payment alternative rail as an assumption/caveat.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained an API key on its own. It discovered the hosted inference API is public for GET /v1/models (no auth needed) but every chat-completion call requires either an API key from the portal or an x402 crypto payment. It correctly self-identified this and stopped rather than faking success, explicitly telling the user a manual key from the portal is required to finish the demo.
  Event 55:

  ```text
  "error":"Payment required. Please provide either a valid Authorization header or x402 payment."
  ```
  Event 92:

  ```text
  Set NOUS_API_KEY first (create one at https://portal.nousresearch.com).
  exit: 1
  ```
  Event 98:

  ```text
  I don't have a `NOUS_API_KEY`, so `chat.py` couldn't be run end-to-end — I verified the endpoint, auth behavior, model catalog, and the script's key-guard instead.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **Chat completions require credentials the agent could not self-provision**: Every attempted call to /v1/chat/completions, even on nominally free models, returned an x402 payment/auth challenge. This is expected product behavior (paid or crypto-metered API) rather than a defect, but it fully blocked an end-to-end authenticated demo since the session had no way to acquire a key or make a Solana payment without human involvement.
  Event 55:

  ```text
  {"x402Version":1,"accepts":[{"scheme":"exact","network":"solana","maxAmountRequired":"61",...}],"error":"Payment required. Please provide either a valid Authorization header or x402 payment."}
  ```
  Event 74:

  ```text
  {"x402Version":1,"accepts":[{"scheme":"exact","network":"solana","maxAmountRequired":"0",...}
  ```
- **Nous's own Hermes models absent from the router catalog**: When searching the /v1/models response for Nous's own Hermes/DeepHermes models to build the example around, none matched, forcing the agent to fall back to third-party models (GLM, Claude, etc.) routed through the API. This is a product catalog observation, not an agent error.
  Event 47:

  ```text
  trying model: prism-ml/ternary-bonsai-2-27b
  {"status":400,"message":"This request is not valid. Check the model name and other parameters. Additional info: Unknown model: prism-ml/ternary-bonsai-2-27b. Please specify a valid model."}
  ```
  Event 98:

  ```text
  it's a multi-provider router (~400 models from many labs), and Nous's own Hermes models weren't in the catalog when I probed it.
  ```

#### Suggested Changes
- **Publish a discoverable pricing/docs page instead of 404s**: Direct hits to nousresearch.com/pricing, /api, and /docs all 404'd, forcing the agent to reverse-engineer pricing from the raw /v1/models JSON payload. Add working links to pricing and API docs from the main nousresearch.com nav, and verify by curling nousresearch.com/pricing and nousresearch.com/docs and confirming a 200 with actual content.
  Event 17:

  ```text
  https://nousresearch.com/pricing -> 404
  https://nousresearch.com/api -> 404
  https://nousresearch.com/docs -> 404
  https://portal.nousresearch.com -> 200
  ```
- **List Hermes models in the public /v1/models catalog or explain their absence**: A first-time developer specifically looking for Nous's own Hermes/DeepHermes models found none in the /v1/models response despite the site linking to hermes4.nousresearch.com and hermes-agent.nousresearch.com. Either add Hermes model IDs to the catalog response or document in the API docs why they're served separately, and verify by re-running GET /v1/models and grepping for 'hermes'.
  Event 47:

  ```text
  trying model: prism-ml/ternary-bonsai-2-27b
  {"status":400,"message":"This request is not valid. Check the model name and other parameters. Additional info: Unknown model: prism-ml/ternary-bonsai-2-27b. Please specify a valid model."}
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/1484fd63-82c3-4dfc-a88c-9ee1496b0aa1) · [Read transcript](https://www.ax-check.com/nousresearch.com/sessions/qwen.json)
Final output never states an actual cost figure — it only says billing is 'subscription-based' and defers to 'confirm current plans at portal.nousresearch.com,' so no price is anchored to any stated assumption (plan/region/size).
#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained a Nous Research API key. It checked environment variables and found only an unrelated PI_GATEWAY_API_KEY, wrote an example script requiring NOUS_API_KEY, ran it, and hit a KeyError because that variable was never set. It explicitly states keys require a Nous Research account created through their portal, which it cannot self-sign-up for. No authenticated call to the actual Nous Research API ever occurred.
  Event 4:

  ```text
  PI_GATEWAY_API_KEY=<set>
  
  ```
  Event 22:

  ```text
  KeyError: 'NOUS_API_KEY'
  
  ```
  Event 24:

  ```text
  There is **no Nous API key in this environment**, and keys require a Nous Research account created through their portal (portal.nousresearch.com) — I can't self-sign-up.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No Nous Research API key available in sandbox**: The sandbox environment only exposed an internal gateway key (PI_GATEWAY_API_KEY), not a Nous Research credential. Running the example script failed immediately with a KeyError on the missing NOUS_API_KEY environment variable. This is a missing-credentials blocker rather than a product defect: Nous Research requires account signup through its portal, which the agent correctly identified it cannot do autonomously.
  Event 8:

  ```text
  PI_GATEWAY_API_KEY=<set>
  GIT_CONFIG_KEY_0=<set>
  ```
  Event 22:

  ```text
  KeyError: 'NOUS_API_KEY'
  
  ```
  Event 24:

  ```text
  keys require a Nous Research account created through their portal (portal.nousresearch.com) — I can't self-sign-up
  ```

#### Suggested Changes
None identified in this transcript.

### Task given to each agent
Help me build a simple example using Nous Research. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.

No product credentials were supplied and no purchases were authorized.

## Score: B · 80/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

### Clarity
- **Failed** — Homepage answers Markdown requests

  ```text
  Homepage returned text/html for a text/markdown Accept header; no Markdown representation offered.
  ```

- **Pass** — llms.txt provides an actionable documentation index

  ```text
  llms.txt links docs, Hermes Agent docs index, full docs, repo, and research pages.
  ```

- **Pass** — llms.txt provides navigation guidance

  ```text
  llms.txt groups links under Company, Hermes Agent, Research highlights, and Optional headings.
  ```

- **Pass** — llms.txt mentions offered API, MCP, and skills

  ```text
  llms.txt mentions Nous Portal API/billing and Hermes Agent docs covering MCP and skills.
  ```

- **Pass** — A compact guide representation exists

  ```text
  llms.txt links a full docs Markdown file (llms-full.txt) and per-section index for Hermes Agent.
  ```

- **Pass** — A focused guide is directly retrievable

  ```text
  llms.txt directly links Hermes Agent docs index and full docs Markdown file.
  ```

- **Skipped** — Equivalent instructions fit a token budget

  ```text
  No compact guide body fetched; only links to llms-full.txt, whose size is unknown.
  ```

- **Skipped** — Product-docs links survive format changes

  ```text
  Homepage Markdown unsupported, so link preservation across formats cannot be measured.
  ```

- **Pass** — The compact guide is independently actionable

  ```text
  Quickstart gives concrete install commands, provider setup, first chat, and verification steps.
  ```

- **Pass** — Install and next-step links resolve

  ```text
  Install and next-step links resolve: install.sh, install.ps1, and docs pages fetched successfully.
  ```


### Onboarding
- **Pass** — Docs lead to a relevant quickstart

  ```text
  llms.txt links Hermes Agent docs; quickstart page gives install, provider, first chat steps.
  ```

- **Pass** — Installation commands are extractable

  ```text
  Installation page shows curl install.sh, PowerShell irm install.ps1, and hermes commands.
  ```

- **Pass** — Code examples are available without interaction

  ```text
  Quickstart and CLI pages show many inline code examples without interaction.
  ```

- **Pass** — Prerequisites and auth boundaries are explicit

  ```text
  Installation lists Git/curl prerequisites; quickstart explains provider API keys and OAuth.
  ```


### Pricing
- **Failed** — Agents identify pricing and its assumptions

  ```text
  3 of 3 sessions were judged on pricing; 1 fell short. DeepSeek V4 Pro: Final output gives per-1M-token prices for named models (e.g. DeepSeek V4 Flash $0.04/$0.08) and states assumptions: credit-based billing, Bearer key vs x402 payment, free-tier models, :batch variant discounts. Kimi K3: Final summary states pure pay-per-token pricing sourced live from /v1/models with concrete examples (claude-opus-4.5 $5/$25 per 1M, mercury-2.5 $0.04/$0.15) and notes the x402 crypto-payment alternative rail as an assumption/caveat. Qwen 3.8 Max: Final output never states an actual cost figure — it only says billing is 'subscription-based' and defers to 'confirm current plans at portal.nousresearch.com,' so no price is anchored to any stated assumption (plan/region/size). This behavioural item does not affect the fast grade.
  ```

- **Skipped** — Pricing is readable without interaction

  ```text
  No pricing page was fetched; homepage shows no prices for Nous Research products.
  ```

- **Skipped** — Prices are stated, not gated

  ```text
  No pricing page was fetched; homepage shows no prices for Nous Research products.
  ```

- **Skipped** — Pricing units and limits are explicit

  ```text
  No pricing page was fetched; homepage shows no prices for Nous Research products.
  ```


### Activation
- **Skipped** — An API reference or OpenAPI spec is reachable

  ```text
  No API reference or OpenAPI spec fetched; llms.txt points to portal but no spec page was retrieved.
  ```

- **Pass** — An MCP server is documented and well-formed

  ```text
  MCP documented: config, stdio/HTTP servers, OAuth, and running Hermes as an MCP server.
  ```

- **Pass** — A CLI install path is documented

  ```text
  CLI install documented via curl install.sh, PowerShell installer, and hermes commands.
  ```

- **Skipped** — SDK packages resolve on their registries

  ```text
  No registry lookup result for a Hermes Agent package was supplied.
  ```

- **Pass** — Agent skills are published

  ```text
  Skills published: SKILL.md format, bundled catalog, Skills Hub, and install commands documented.
  ```



[Full report data](https://www.ax-check.com/nousresearch.com/report.json)
