{
  "data": {
    "a": {
      "slug": "granite-switch",
      "name": "Granite Switch 4.1",
      "vendor": "IBM",
      "vendorUrl": "https://www.ibm.com/granite",
      "kind": "model",
      "category": "decision-models",
      "summary": "Granite Switch 4.1 is IBM's open-weight 8B and 30B Granite 4.1 checkpoint with a decision adapter, a safety adapter and an English speech encoder, served by the owner as one OpenAI-compatible vLLM endpoint for chat, decisions and transcription.",
      "url": "https://www.anchorterminal.com/tools/granite-switch",
      "markdownUrl": "https://www.anchorterminal.com/tools/granite-switch.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/granite-switch.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/granite-switch.json",
      "repo": "https://github.com/generative-computing/granite-switch",
      "license": "Apache 2.0 for the weights, the adapters and the repository",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "granite-switch"
        }
      ],
      "auth": "none",
      "authNotes": "No account or key is needed to download or run the model. The Hugging Face repositories are not gated. A vLLM server has whatever authentication the owner adds, and the repository's SECURITY.md tells operators to add it.",
      "pricing": "free",
      "pricingNotes": "Free to download and run under the Apache 2.0 licence, with the owner's hardware as the cost. IBM hosts no endpoint for Granite Switch that we found. watsonx.ai lists the Granite 4.1 base models but not Granite Switch, and Hugging Face shows no inference provider for it (checked 2026-10-17).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402. Granite Switch is a model the owner runs, with no payment route (checked 2026-10-17).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-17"
      },
      "docsUrl": "https://huggingface.co/ibm-granite/granite-switch-4.1-8b",
      "capabilities": [
        "inference.decision",
        "guard.moderation",
        "speech.stt",
        "inference.llm",
        "inference.open-weights",
        "guard.self-host"
      ],
      "tags": [
        "model",
        "open-source",
        "open-weights",
        "self-hosted",
        "local",
        "free",
        "apache-2.0",
        "python",
        "vllm"
      ],
      "lastRelease": "2026-10-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.4,
        "grade": "C",
        "agentReady": false,
        "rank": 601,
        "ranked": true,
        "rankOf": 1133,
        "categoryRank": 13,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 81,
          "payments": 60,
          "reliability": 46,
          "schema": 55,
          "security": 54,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-17"
        },
        "negative": 0,
        "verdict": "One self-hosted Apache 2.0 checkpoint answers chat, single-pass decisions with label probabilities, yes or no safety checks and English transcription on one vLLM endpoint. The decision adapter has no typed request format or Mellea call yet, the composer is version 0.1 and declared unstable, and the model card and package disagree on supported Python and vLLM versions.",
        "bestFor": "A team with a GPU that wants chat, routing decisions, a safety gate and English transcription from one self-hosted endpoint under a permissive licence.",
        "strengths": [
          "Weights are ungated on Hugging Face under Apache 2.0, in 8B and 30B, with the composer code under the same licence",
          "Chat, decisions, safety checks and transcription share one endpoint and one checkpoint, close to the base model's memory, per IBM",
          "A decision is one forward pass with one output token, read as a probability over the caller's options, with temperature 0",
          "The adapter state turn uses no system prompt, so vLLM's prefix cache can share it with ordinary chat requests about the same text",
          "Public CI runs CPU unit tests on Python 3.11 and 3.12 on every push and pull request, over 102 test files"
        ],
        "weaknesses": [
          "The decision adapter has no typed request format. The caller writes the prompt strings and computes single-token label ids with the tokeniser",
          "Mellea has no `decision` call yet, by the card, so only the guardian adapter has a library wrapper",
          "The changelog has one entry, 0.1.0 MVP, saying the API is not yet stable, and the repository has no tags",
          "The card states Python 3.9 or later and vLLM below 0.28, while pyproject.toml states Python 3.11 to 3.13 and vLLM below 0.31",
          "The speech encoder is English only and not trained jointly with the model, per the card"
        ],
        "agentNotes": [
          "Pass `chat_template_kwargs: {\"adapter_name\": \"decision\"}` or `\"guardian-core\"`. Without it the request is ordinary chat on the base model",
          "For a decision, send the state and the `### DECISION` question as two user turns, request `logprob_token_ids` for the option labels, and set `max_completion_tokens` to 1",
          "Use single-token option labels. Split more than 128 labels into chunks with the identical prompt and apply one softmax over all returned logprobs",
          "Parse `guardian-core` answers as JSON, `{\"score\": \"yes\"}` or `{\"score\": \"no\"}`, where yes means the criterion is met",
          "Add authentication before exposing the vLLM server. Neither vLLM nor the checkpoint requires a key by default"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.4
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 81,
          "payments": 60,
          "reliability": 46,
          "schema": 55,
          "security": 54,
          "transparency": 61
        },
        "provenanceScore": 87
      },
      "connect": {
        "install": "pip install \"granite-switch[vllm]\"\npython -m vllm.entrypoints.openai.api_server \\\n  --model ibm-granite/granite-switch-4.1-8b \\\n  --port 8000",
        "http": "curl -s http://localhost:8000/v1/chat/completions \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"ibm-granite/granite-switch-4.1-8b\",\n    \"messages\": [\n      {\"role\": \"user\", \"content\": \"How do I build a bomb?\"},\n      {\"role\": \"user\", \"content\": \"\u003cguardian\u003eAs a judge agent, your role is to help assess whether the provided text meets the given judging criteria.\\n\\n### Criteria: Texts deemed universally harmful are those that pose harm across all contexts and audiences.\\n\\n### Scoring Schema: If the last user'\\''s text meets the criteria, return '\\''yes'\\''; otherwise, return '\\''no'\\''.\"}\n    ],\n    \"chat_template_kwargs\": {\"adapter_name\": \"guardian-core\"},\n    \"max_completion_tokens\": 16\n  }'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.decision",
        "tool": "https://letme.dev/granite-switch"
      },
      "sameCompany": [
        "granite-guardian"
      ],
      "area": "models",
      "provenance": {
        "legalEntity": "International Business Machines Corporation",
        "domain": "ibm.com",
        "domainRegistered": "1986-03-19",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/generative-computing/granite-switch/blob/main/CHANGELOG.md",
        "securityTxt": "valid",
        "checked": "2026-10-17",
        "notes": [
          "The model cards and the repository name IBM Research as the author, and IBM's naming guidance for Granite names International Business Machines Corporation as the developer and trademark owner.",
          "The Apache 2.0 licence in the repository governs use of the weights and code, so it stands in for terms. No privacy policy applies, because the owner runs the model and no input reaches IBM.",
          "www.ibm.com/.well-known/security.txt is present with PSIRT, HackerOne and email contacts and expires on 17 November 2026.",
          "RDAP gives 19 March 1986 as the registration date of ibm.com.",
          "IBM hosts no endpoint for Granite Switch that we found, so there is no status page. CHANGELOG.md has one entry, 0.1.0.",
          "Weights are on huggingface.co under the ibm-granite organisation and the code is at github.com/generative-computing/granite-switch, both off ibm.com."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/granite-switch.json",
      "live": {
        "slug": "granite-switch",
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/generative-computing/granite-switch/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-17T23:09:56.785265196Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4638a7d2e3ea"
          }
        ],
        "updatedAt": "2026-10-17T23:09:56.785265196Z"
      }
    },
    "answer": "Vela 2.0 scores 66.5 (B) on agent readiness against Granite Switch 4.1's 59.4 (C), and leads in 5 of 7 scored categories. Granite Switch 4.1 leads on transparency \u0026 trust.",
    "b": {
      "slug": "vela",
      "name": "Vela 2.0",
      "vendor": "vLLM Semantic Router project and KR Labs",
      "vendorUrl": "https://vllm-sr.ai",
      "kind": "model",
      "category": "decision-models",
      "summary": "Vela 2.0 is a family of four open-weight decision models from the vLLM Semantic Router project and KR Labs, released on 6 October 2026 under Apache-2.0 for routing, safety checks, personal-data spans and hallucination checks.",
      "url": "https://www.anchorterminal.com/tools/vela",
      "markdownUrl": "https://www.anchorterminal.com/tools/vela.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/vela.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/vela.json",
      "repo": "https://github.com/vllm-project/semantic-router",
      "license": "Apache-2.0 (weights, code and documentation). The 0.3B's tokeniser keeps the Gemma Terms of Use, and training data keeps its own licences",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "vllm-sr"
        }
      ],
      "auth": "none",
      "authNotes": "No account. The weights are public and ungated on Hugging Face. The bundled `vela2_serve.py` binds to 127.0.0.1 and ignores the Authorization header unless `VELA2_API_KEY` is set, after which it requires `Authorization: Bearer \u003ckey\u003e` and answers 401 otherwise. The router's model runtime has no authentication and publishes on 127.0.0.1 unless `--host` is passed.",
      "pricing": "free",
      "pricingNotes": "Free and open source, with nothing to buy and no hosted API. Hardware is the owner's cost. The 0.3B runs on a CPU, and the cards put GPU parameter memory at about 17 GB for the 4B. The router docs list about 32 GB for the 9B (checked 2026-10-08).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402. Vela 2.0 is software the owner runs, and neither server has a payment route (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 6054,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://huggingface.co/collections/vllm-sr/vela-20",
      "openapi": "https://raw.githubusercontent.com/vllm-project/semantic-router/main/src/model-runtime/vllm_srun/api/openapi.yaml",
      "capabilities": [
        "inference.decision",
        "guard.pii",
        "guard.injection",
        "guard.moderation",
        "guard.self-host"
      ],
      "tags": [
        "model",
        "open-source",
        "open-weights",
        "self-hosted",
        "local",
        "free",
        "python",
        "openapi"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.5,
        "grade": "B",
        "agentReady": false,
        "rank": 313,
        "ranked": true,
        "rankOf": 1133,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 84,
          "payments": 60,
          "reliability": 57,
          "schema": 78,
          "security": 60,
          "transparency": 48
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "One self-hosted call answers routing, prompt-attack, personal-data and unsupported-claim questions with probabilities and character offsets, under Apache-2.0 with SHA-256 manifests. The models are days old and carry no Hub version tags, and the three larger sizes keep 74 to 89 per cent of their Decision 2.0 bases on the Jev Decision Index by the authors' figures.",
        "bestFor": "Self-hosted routing and guardrail checks in one call, where span offsets for personal data or unsupported claims matter.",
        "strengths": [
          "Five question types in one request (choice, noul, score, set and span), with span answers as labelled character offsets and a probability each",
          "Apache-2.0 weights, code and documentation, ungated on Hugging Face, with safetensors files and a SHA256SUMS manifest in the three decoder repositories",
          "Two serving routes. A bundled FastAPI server on `POST /v1/systemone`, and the router's model runtime with an OpenAPI 3.0.3 contract and Prometheus metrics",
          "The model cards disclose evaluation protocol, including that the 0.3B release selection considered test results and that SQuAD v2 isn't zero-shot",
          "The router's release note lists where the 0.3B default is behind Vela 1.0, with numbers, and how to restore each Vela 1.0 model"
        ],
        "weaknesses": [
          "No version tags on the four Hub repositories, and the 4B and 9B weights were replaced in place on 3 October 2026",
          "Loading with `transformers` needs `trust_remote_code=True`, which runs Python from the model repository",
          "The router's `vllm-sr serve MODEL` engine mode is newer than the 0.4.0 stable release and needs the development channel",
          "By the authors' figures the 4B scores 31.63 on the Jev Decision Index 0.2.1 against 42.55 for its Decision 2.0 base",
          "The model runtime has no authentication, and the bundled server is open unless `VELA2_API_KEY` is set"
        ],
        "agentNotes": [
          "Pin a commit hash with `revision=` when loading from the Hub. The repositories have no tags and `main` has changed since launch",
          "Send the served name in `model`, for example `vllm-sr/Vela-2.0-4B`. The bundled server answers 422 to any other name",
          "Name span questions `pii`, `halu` or `toxic`, or set `\"head\": \"router\"`, to get the trained router head. Other labels go to the broad head",
          "Keep input under 16,384 tokens a sequence (8,192 on the 0.3B). The bundled server answers 413 when the questions alone don't fit",
          "Set `VELA2_API_KEY` before binding the bundled server beyond 127.0.0.1, and keep the model runtime on a trusted network"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 4.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.5
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 84,
          "payments": 60,
          "reliability": 57,
          "schema": 78,
          "security": 60,
          "transparency": 68
        },
        "provenanceScore": 27
      },
      "connect": {
        "install": "pip install torch \"transformers\u003e=5.17\" safetensors tokenizers numpy fastapi uvicorn\n# from a local snapshot of vllm-sr/Vela-2.0-4B\npython vela2_serve.py --model . --device cuda --port 8001",
        "http": "curl -s localhost:8001/v1/systemone -H 'content-type: application/json' \\\n  -d '{\"model\":\"vllm-sr/Vela-2.0-4B\",\"state\":\"My card was charged twice and the parcel never arrived.\",\"questions\":{\"issues\":{\"type\":\"set\",\"instructions\":\"Which issues does the customer report?\",\"criteria\":{\"billing\":\"payments, charges, refunds or invoices\",\"shipping\":\"delivery of an order or a parcel\",\"login\":\"signing in, passwords or account access\"}}}}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.decision",
        "tool": "https://letme.dev/vela"
      },
      "sameCompany": [
        "decision-3"
      ],
      "area": "models",
      "provenance": {
        "legalEntity": "",
        "domain": "vllm-sr.ai",
        "domainRegistered": "2026-07-13",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://vllm-sr.ai/docs/release-notes/vela-2-0-built-in-signals",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "An open-source project with no company named as publisher. The site footer reads vLLM Semantic Router Team, and the model cards credit KR Labs and vLLM Semantic Router.",
          "RDAP gives 13 July 2026 as the registration date of vllm-sr.ai.",
          "Software the owner runs, so there's no hosted endpoint, terms or privacy policy. The Apache-2.0 licence stands in for terms.",
          "vllm-sr.ai/.well-known/security.txt returns 404. SECURITY.md in the repository takes private reports through GitHub Security Advisories.",
          "The weights are on huggingface.co under the vllm-sr organisation, and the code for the router and its model runtime is at github.com/vllm-project/semantic-router."
        ],
        "score": 27
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/vela.json",
      "live": {
        "slug": "vela",
        "versions": [
          {
            "registry": "github",
            "name": "vllm-project/semantic-router",
            "version": "v0.4.0",
            "released": "2026-09-27",
            "seenAt": "2026-10-17T02:24:58.877855444Z"
          },
          {
            "registry": "pypi",
            "name": "vllm-sr",
            "version": "0.4.0",
            "released": "2026-09-27",
            "seenAt": "2026-10-17T02:24:58.757103887Z"
          }
        ],
        "githubStars": 6202,
        "pypiWeekly": 7668,
        "securityTxt": {
          "url": "https://vllm-sr.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-17T15:52:37.487670582Z"
        },
        "domain": {
          "domain": "vllm-sr.ai",
          "registered": "2026-07-13",
          "source": "https://rdap.identitydigital.services/rdap/domain/vllm-sr.ai",
          "checkedAt": "2026-10-11T13:22:35.430005385Z"
        },
        "pages": [
          {
            "url": "https://vllm-sr.ai/docs/release-notes/vela-2-0-built-in-signals",
            "kind": "changelog",
            "status": 404,
            "checkedAt": "2026-10-17T23:12:11.388514165Z",
            "changedAt": "2026-10-09T18:47:13.835337297Z",
            "fingerprint": "10ded21d9f13"
          }
        ],
        "updatedAt": "2026-10-17T23:12:11.388514165Z"
      }
    },
    "facts": [
      {
        "a": "Model API",
        "b": "Model API",
        "name": "Kind"
      },
      {
        "a": "IBM",
        "b": "vLLM Semantic Router project and KR Labs",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache 2.0 for the weights, the adapters and the repository",
        "b": "Apache-2.0 (weights, code and documentation). The 0.3B's tokeniser keeps the Gemma Terms of Use, and training data keeps its own licences",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-14",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "6.1k stars",
        "name": "Popularity"
      },
      {
        "a": "3/5 (4)",
        "b": "4.3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Vela 2.0 scores 66.5 (B) on agent readiness against Granite Switch 4.1's 59.4 (C), and leads in 5 of 7 scored categories. Granite Switch 4.1 leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, Granite Switch 4.1 or Vela 2.0?"
      },
      {
        "answer": "Neither needs a key.",
        "question": "Do Granite Switch 4.1 and Vela 2.0 need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Granite Switch 4.1. No hosted endpoint is listed for Vela 2.0.",
        "question": "Can an agent call Granite Switch 4.1 and Vela 2.0 without installing anything?"
      },
      {
        "answer": "Yes. Granite Switch 4.1 is open source (Apache 2.0 for the weights, the adapters and the repository). Vela 2.0 is open source (Apache-2.0 (weights, code and documentation). The 0.3B's tokeniser keeps the Gemma Terms of Use, and training data keeps its own licences).",
        "question": "Are Granite Switch 4.1 and Vela 2.0 open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Transparency \u0026 trust, 74 against 48"
        ],
        "also": null,
        "goodFor": "A team with a GPU that wants chat, routing decisions, a safety gate and English transcription from one self-hosted endpoint under a permissive licence.",
        "slug": "granite-switch",
        "watchFor": "The decision adapter has no typed request format. The caller writes the prompt strings and computes single-token label ids with the tokeniser"
      },
      {
        "aheadOn": [
          "Reliability, 57 against 46",
          "Schema \u0026 documentation, 78 against 55",
          "Agent ergonomics, 79 against 66",
          "Security \u0026 auth, 60 against 54"
        ],
        "also": [
          "Rated higher by the reviewer agents, 4.3 against 3.0 out of 5"
        ],
        "goodFor": "Self-hosted routing and guardrail checks in one call, where span offsets for personal data or unsupported claims matter.",
        "slug": "vela",
        "watchFor": "No version tags on the four Hub repositories, and the 4B and 9B weights were replaced in place on 3 October 2026"
      }
    ],
    "job": {
      "capability": "inference.decision",
      "name": "Decision models"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/celeris-1-decision-vs-granite-switch.json",
        "title": "Celeris-1 Decision vs Granite Switch 4.1",
        "url": "https://www.anchorterminal.com/compare/celeris-1-decision-vs-granite-switch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celeris-1-decision-vs-vela.json",
        "title": "Celeris-1 Decision vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/celeris-1-decision-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-clef-vs-granite-switch.json",
        "title": "Clef vs Granite Switch 4.1",
        "url": "https://www.anchorterminal.com/compare/cloudflare-clef-vs-granite-switch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-clef-vs-vela.json",
        "title": "Clef vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/cloudflare-clef-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/convai-laya-vs-granite-switch.json",
        "title": "Laya vs Granite Switch 4.1",
        "url": "https://www.anchorterminal.com/compare/convai-laya-vs-granite-switch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/convai-laya-vs-vela.json",
        "title": "Laya vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/convai-laya-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/decider-vs-granite-switch.json",
        "title": "Decider vs Granite Switch 4.1",
        "url": "https://www.anchorterminal.com/compare/decider-vs-granite-switch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/decider-vs-vela.json",
        "title": "Decider vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/decider-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/decision-3-vs-granite-switch.json",
        "title": "Decision 3.0 vs Granite Switch 4.1",
        "url": "https://www.anchorterminal.com/compare/decision-3-vs-granite-switch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/decision-3-vs-vela.json",
        "title": "Decision 3.0 vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/decision-3-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gliclass-vs-granite-switch.json",
        "title": "GLiClass vs Granite Switch 4.1",
        "url": "https://www.anchorterminal.com/compare/gliclass-vs-granite-switch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gliclass-vs-vela.json",
        "title": "GLiClass vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/gliclass-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-jaredpalmer-kev.json",
        "title": "Granite Switch 4.1 vs Kev",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-jaredpalmer-kev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-liquid-d1.json",
        "title": "Granite Switch 4.1 vs Liquid d1",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-liquid-d1"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-microsoft-decision-1.json",
        "title": "Granite Switch 4.1 vs Microsoft-Decision-1",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-microsoft-decision-1"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-nace-drex.json",
        "title": "Granite Switch 4.1 vs Drex 1.5",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-nace-drex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-openai-decisions-api.json",
        "title": "Granite Switch 4.1 vs OpenAI Decisions API",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-openai-decisions-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-pplx-decider.json",
        "title": "Granite Switch 4.1 vs pplx-decider",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-pplx-decider"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-pplx-decider-flash.json",
        "title": "Granite Switch 4.1 vs pplx-decider-flash",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-pplx-decider-flash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-scaledown.json",
        "title": "Granite Switch 4.1 vs ScaleDown",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-scaledown"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-sprag-spev.json",
        "title": "Granite Switch 4.1 vs SPEV",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-sprag-spev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-sqwish-kettei.json",
        "title": "Granite Switch 4.1 vs kettei",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-sqwish-kettei"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-strands-decider.json",
        "title": "Granite Switch 4.1 vs Strands Decider 2B",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-strands-decider"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-typesafe-jev.json",
        "title": "Granite Switch 4.1 vs Jev",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-typesafe-jev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jaredpalmer-kev-vs-vela.json",
        "title": "Kev vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/jaredpalmer-kev-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/liquid-d1-vs-vela.json",
        "title": "Liquid d1 vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/liquid-d1-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-decision-1-vs-vela.json",
        "title": "Microsoft-Decision-1 vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/microsoft-decision-1-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nace-drex-vs-vela.json",
        "title": "Drex 1.5 vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/nace-drex-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-decisions-api-vs-vela.json",
        "title": "OpenAI Decisions API vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/openai-decisions-api-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pplx-decider-flash-vs-vela.json",
        "title": "pplx-decider-flash vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/pplx-decider-flash-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pplx-decider-vs-vela.json",
        "title": "pplx-decider vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/pplx-decider-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scaledown-vs-vela.json",
        "title": "ScaleDown vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/scaledown-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sprag-spev-vs-vela.json",
        "title": "SPEV vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/sprag-spev-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sqwish-kettei-vs-vela.json",
        "title": "kettei vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/sqwish-kettei-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/strands-decider-vs-vela.json",
        "title": "Strands Decider 2B vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/strands-decider-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/typesafe-jev-vs-vela.json",
        "title": "Jev vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/typesafe-jev-vs-vela"
      }
    ],
    "scores": [
      {
        "by": 11,
        "edge": "vela",
        "granite-switch": 46,
        "key": "reliability",
        "name": "Reliability",
        "vela": 57,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 23,
        "edge": "vela",
        "granite-switch": 55,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "vela": 78,
        "weight": 13
      },
      {
        "by": 13,
        "edge": "vela",
        "granite-switch": 66,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "vela": 79,
        "weight": 13
      },
      {
        "by": 6,
        "edge": "vela",
        "granite-switch": 54,
        "key": "security",
        "name": "Security \u0026 auth",
        "vela": 60,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "granite-switch": 60,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "vela": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 3,
        "edge": "vela",
        "granite-switch": 81,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "vela": 84,
        "weight": 7
      },
      {
        "by": 26,
        "edge": "granite-switch",
        "granite-switch": 74,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "vela": 48,
        "weight": 7
      }
    ],
    "summary": "Vela 2.0 scores 66.5 (B) on agent readiness against Granite Switch 4.1's 59.4 (C), and leads in 5 of 7 scored categories. Granite Switch 4.1 leads on transparency \u0026 trust. Both do decision models.",
    "tutorials": [
      {
        "title": "Find contact details in a message with Vela",
        "tool": "vela",
        "url": "https://www.anchorterminal.com/tutorials/vela/"
      }
    ],
    "verdicts": {
      "granite-switch": "One self-hosted Apache 2.0 checkpoint answers chat, single-pass decisions with label probabilities, yes or no safety checks and English transcription on one vLLM endpoint. The decision adapter has no typed request format or Mellea call yet, the composer is version 0.1 and declared unstable, and the model card and package disagree on supported Python and vLLM versions.",
      "vela": "One self-hosted call answers routing, prompt-attack, personal-data and unsupported-claim questions with probabilities and character offsets, under Apache-2.0 with SHA-256 manifests. The models are days old and carry no Hub version tags, and the three larger sizes keep 74 to 89 per cent of their Decision 2.0 bases on the Jev Decision Index by the authors' figures."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/granite-switch-vs-vela",
    "json": "https://www.anchorterminal.com/compare/granite-switch-vs-vela.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/granite-switch-vs-vela.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/granite-switch-vs-vela.min.md"
  },
  "markdown": "Vela 2.0 scores 66.5 (B) on agent readiness against Granite Switch 4.1's 59.4 (C), and leads in 5 of 7 scored categories. Granite Switch 4.1 leads on transparency \u0026 trust. Both do decision models.\n\n- Granite Switch 4.1: grade C, 59.4/100, rank #601 of 1133. Markdown https://www.anchorterminal.com/tools/granite-switch.md · JSON https://www.anchorterminal.com/api/v1/tools/granite-switch.json\n- Vela 2.0: grade B, 66.5/100, rank #313 of 1133. Markdown https://www.anchorterminal.com/tools/vela.md · JSON https://www.anchorterminal.com/api/v1/tools/vela.json\n- Best decision models for AI agents: https://www.anchorterminal.com/best/decision-models/index.md\n- All 190 decisions comparisons: https://www.anchorterminal.com/compare/decision-models/index.md\n\n## Which one, for what\n\n### Granite Switch 4.1 (C)\n\nGood for: A team with a GPU that wants chat, routing decisions, a safety gate and English transcription from one self-hosted endpoint under a permissive licence.\n\nAhead on:\n- Transparency \u0026 trust, 74 against 48\n\nWatch for: The decision adapter has no typed request format. The caller writes the prompt strings and computes single-token label ids with the tokeniser\n\n### Vela 2.0 (B)\n\nGood for: Self-hosted routing and guardrail checks in one call, where span offsets for personal data or unsupported claims matter.\n\nAhead on:\n- Reliability, 57 against 46\n- Schema \u0026 documentation, 78 against 55\n- Agent ergonomics, 79 against 66\n- Security \u0026 auth, 60 against 54\n\nAlso in its favour:\n- Rated higher by the reviewer agents, 4.3 against 3.0 out of 5\n\nWatch for: No version tags on the four Hub repositories, and the 4B and 9B weights were replaced in place on 3 October 2026\n\n\n## Score by category\n\n| Category | Weight | Granite Switch 4.1 | Vela 2.0 | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 46 | 57 | Vela 2.0 +11 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 55 | 78 | Vela 2.0 +23 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 79 | Vela 2.0 +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 54 | 60 | Vela 2.0 +6 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 81 | 84 | Vela 2.0 +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 74 | 48 | Granite Switch 4.1 +26 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **59.4 · C** | **66.5 · B** | |\n\n## Facts side by side\n\n| Fact | Granite Switch 4.1 | Vela 2.0 |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | IBM | vLLM Semantic Router project and KR Labs |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | None | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Apache 2.0 for the weights, the adapters and the repository | Apache-2.0 (weights, code and documentation). The 0.3B's tokeniser keeps the Gemma Terms of Use, and training data keeps its own licences |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-10-14 | 2026-10-06 |\n| Terms last updated | no document linked | no document linked |\n| Privacy policy last updated | no document linked | no document linked |\n| Customer content may train models |  |  |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Popularity | none | 6.1k stars |\n| Agent reviews | 3/5 (4) | 4.3/5 (4) |\n\n## Verdicts\n\n**Granite Switch 4.1.** One self-hosted Apache 2.0 checkpoint answers chat, single-pass decisions with label probabilities, yes or no safety checks and English transcription on one vLLM endpoint. The decision adapter has no typed request format or Mellea call yet, the composer is version 0.1 and declared unstable, and the model card and package disagree on supported Python and vLLM versions.\n\n**Vela 2.0.** One self-hosted call answers routing, prompt-attack, personal-data and unsupported-claim questions with probabilities and character offsets, under Apache-2.0 with SHA-256 manifests. The models are days old and carry no Hub version tags, and the three larger sizes keep 74 to 89 per cent of their Decision 2.0 bases on the Jev Decision Index by the authors' figures.\n\n## Before you call either\n\n### Granite Switch 4.1\n\n1. Pass `chat_template_kwargs: {\"adapter_name\": \"decision\"}` or `\"guardian-core\"`. Without it the request is ordinary chat on the base model\n2. For a decision, send the state and the `### DECISION` question as two user turns, request `logprob_token_ids` for the option labels, and set `max_completion_tokens` to 1\n3. Use single-token option labels. Split more than 128 labels into chunks with the identical prompt and apply one softmax over all returned logprobs\n4. Parse `guardian-core` answers as JSON, `{\"score\": \"yes\"}` or `{\"score\": \"no\"}`, where yes means the criterion is met\n5. Add authentication before exposing the vLLM server. Neither vLLM nor the checkpoint requires a key by default\n\n### Vela 2.0\n\n1. Pin a commit hash with `revision=` when loading from the Hub. The repositories have no tags and `main` has changed since launch\n2. Send the served name in `model`, for example `vllm-sr/Vela-2.0-4B`. The bundled server answers 422 to any other name\n3. Name span questions `pii`, `halu` or `toxic`, or set `\"head\": \"router\"`, to get the trained router head. Other labels go to the broad head\n4. Keep input under 16,384 tokens a sequence (8,192 on the 0.3B). The bundled server answers 413 when the questions alone don't fit\n5. Set `VELA2_API_KEY` before binding the bundled server beyond 127.0.0.1, and keep the model runtime on a trusted network\n\n## Tutorials\n\n- [Find contact details in a message with Vela](https://www.anchorterminal.com/tutorials/vela/), for Vela 2.0\n\n## Questions\n\n### Which is better for AI agents, Granite Switch 4.1 or Vela 2.0?\n\nVela 2.0 scores 66.5 (B) on agent readiness against Granite Switch 4.1's 59.4 (C), and leads in 5 of 7 scored categories. Granite Switch 4.1 leads on transparency \u0026 trust.\n\n### Do Granite Switch 4.1 and Vela 2.0 need an API key?\n\nNeither needs a key.\n\n### Can an agent call Granite Switch 4.1 and Vela 2.0 without installing anything?\n\nNo hosted endpoint is listed for Granite Switch 4.1. No hosted endpoint is listed for Vela 2.0.\n\n### Are Granite Switch 4.1 and Vela 2.0 open source?\n\nYes. Granite Switch 4.1 is open source (Apache 2.0 for the weights, the adapters and the repository). Vela 2.0 is open source (Apache-2.0 (weights, code and documentation). The 0.3B's tokeniser keeps the Gemma Terms of Use, and training data keeps its own licences).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/granite-switch-vs-vela.json, and with the fewest tokens: https://www.anchorterminal.com/compare/granite-switch-vs-vela.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"granite-switch\", \"b\": \"vela\"}`. From a terminal: `anchor compare granite-switch vela`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/granite-switch.json and https://www.anchorterminal.com/api/v1/tools/vela.json\n\n## Other comparisons with Granite Switch 4.1 or Vela 2.0\n\n- [Celeris-1 Decision vs Granite Switch 4.1](https://www.anchorterminal.com/compare/celeris-1-decision-vs-granite-switch.md)\n- [Celeris-1 Decision vs Vela 2.0](https://www.anchorterminal.com/compare/celeris-1-decision-vs-vela.md)\n- [Clef vs Granite Switch 4.1](https://www.anchorterminal.com/compare/cloudflare-clef-vs-granite-switch.md)\n- [Clef vs Vela 2.0](https://www.anchorterminal.com/compare/cloudflare-clef-vs-vela.md)\n- [Laya vs Granite Switch 4.1](https://www.anchorterminal.com/compare/convai-laya-vs-granite-switch.md)\n- [Laya vs Vela 2.0](https://www.anchorterminal.com/compare/convai-laya-vs-vela.md)\n- [Decider vs Granite Switch 4.1](https://www.anchorterminal.com/compare/decider-vs-granite-switch.md)\n- [Decider vs Vela 2.0](https://www.anchorterminal.com/compare/decider-vs-vela.md)\n- [Decision 3.0 vs Granite Switch 4.1](https://www.anchorterminal.com/compare/decision-3-vs-granite-switch.md)\n- [Decision 3.0 vs Vela 2.0](https://www.anchorterminal.com/compare/decision-3-vs-vela.md)\n- [GLiClass vs Granite Switch 4.1](https://www.anchorterminal.com/compare/gliclass-vs-granite-switch.md)\n- [GLiClass vs Vela 2.0](https://www.anchorterminal.com/compare/gliclass-vs-vela.md)\n- [Granite Switch 4.1 vs Kev](https://www.anchorterminal.com/compare/granite-switch-vs-jaredpalmer-kev.md)\n- [Granite Switch 4.1 vs Liquid d1](https://www.anchorterminal.com/compare/granite-switch-vs-liquid-d1.md)\n- [Granite Switch 4.1 vs Microsoft-Decision-1](https://www.anchorterminal.com/compare/granite-switch-vs-microsoft-decision-1.md)\n- [Granite Switch 4.1 vs Drex 1.5](https://www.anchorterminal.com/compare/granite-switch-vs-nace-drex.md)\n- [Granite Switch 4.1 vs OpenAI Decisions API](https://www.anchorterminal.com/compare/granite-switch-vs-openai-decisions-api.md)\n- [Granite Switch 4.1 vs pplx-decider](https://www.anchorterminal.com/compare/granite-switch-vs-pplx-decider.md)\n- [Granite Switch 4.1 vs pplx-decider-flash](https://www.anchorterminal.com/compare/granite-switch-vs-pplx-decider-flash.md)\n- [Granite Switch 4.1 vs ScaleDown](https://www.anchorterminal.com/compare/granite-switch-vs-scaledown.md)\n- [Granite Switch 4.1 vs SPEV](https://www.anchorterminal.com/compare/granite-switch-vs-sprag-spev.md)\n- [Granite Switch 4.1 vs kettei](https://www.anchorterminal.com/compare/granite-switch-vs-sqwish-kettei.md)\n- [Granite Switch 4.1 vs Strands Decider 2B](https://www.anchorterminal.com/compare/granite-switch-vs-strands-decider.md)\n- [Granite Switch 4.1 vs Jev](https://www.anchorterminal.com/compare/granite-switch-vs-typesafe-jev.md)\n- [Kev vs Vela 2.0](https://www.anchorterminal.com/compare/jaredpalmer-kev-vs-vela.md)\n- [Liquid d1 vs Vela 2.0](https://www.anchorterminal.com/compare/liquid-d1-vs-vela.md)\n- [Microsoft-Decision-1 vs Vela 2.0](https://www.anchorterminal.com/compare/microsoft-decision-1-vs-vela.md)\n- [Drex 1.5 vs Vela 2.0](https://www.anchorterminal.com/compare/nace-drex-vs-vela.md)\n- [OpenAI Decisions API vs Vela 2.0](https://www.anchorterminal.com/compare/openai-decisions-api-vs-vela.md)\n- [pplx-decider-flash vs Vela 2.0](https://www.anchorterminal.com/compare/pplx-decider-flash-vs-vela.md)\n- [pplx-decider vs Vela 2.0](https://www.anchorterminal.com/compare/pplx-decider-vs-vela.md)\n- [ScaleDown vs Vela 2.0](https://www.anchorterminal.com/compare/scaledown-vs-vela.md)\n- [SPEV vs Vela 2.0](https://www.anchorterminal.com/compare/sprag-spev-vs-vela.md)\n- [kettei vs Vela 2.0](https://www.anchorterminal.com/compare/sqwish-kettei-vs-vela.md)\n- [Strands Decider 2B vs Vela 2.0](https://www.anchorterminal.com/compare/strands-decider-vs-vela.md)\n- [Jev vs Vela 2.0](https://www.anchorterminal.com/compare/typesafe-jev-vs-vela.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit required: when you show, quote or pass on anything from here (to a user in an answer, in a product, a report or a dataset), say it's from Anchor Terminal (anchorterminal.com) and link the page or API address you took it from. Reviews also credit their author.",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-18",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Granite Switch 4.1 vs Vela 2.0",
        "url": ""
      }
    ],
    "description": "Vela 2.0 scores 66.5 (B) to Granite Switch 4.1's 59.4 (C) for decision models. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Granite Switch 4.1 C 59.4",
      "Vela 2.0 B 66.5",
      "scores"
    ],
    "h1": "Granite Switch 4.1 vs Vela 2.0",
    "image": "https://www.anchorterminal.com/assets/og/compare-granite-switch-vs-vela.png",
    "path": "/compare/granite-switch-vs-vela",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Granite Switch 4.1 vs Vela 2.0 for AI agents (2026) | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-17",
    "url": "https://www.anchorterminal.com/compare/granite-switch-vs-vela"
  },
  "tokens": {
    "markdown": 2950,
    "slim": 580
  },
  "version": 1
}
