Arcjet vs Portkey

Portkey, acquired by Palo Alto Networks on May 29, 2026, is an AI gateway that routes, meters, and guards model, MCP, and agent-to-agent traffic. Arcjet enforces policy in the path of the action, in code and in coding-agent hooks, before a tool call runs. The two cover different points and can run together.

13 min read
In short: Portkey, acquired by Palo Alto Networks on May 29, 2026, is an AI gateway that routes, meters, and guards model, MCP, and agent-to-agent traffic. Arcjet enforces policy in the path of the action, in code and in coding-agent hooks, before a tool call runs. The two cover different points and can run together.

Arcjet vs Portkey

Portkey is an AI gateway: a proxy between your applications and model providers that handles routing, fallbacks, caching, provider keys, budgets, and guardrails on the requests that pass through it. Portkey extends that proxy to MCP and agent-to-agent traffic, and Palo Alto Networks completed its acquisition of Portkey on May 29, 2026. Arcjet is an AI agent runtime security platform that enforces policy in the path of the action: in your code before a tool call runs, and in the hooks that Claude Code, GitHub Copilot, Cursor, and OpenAI Codex fire before a shell command, file access, URL fetch, or MCP call. The key difference is what each one decides on. Portkey decides on the requests an agent sends to a model, and Arcjet decides on the command, path, URL, or MCP server in the tool call itself. Choose Portkey to govern model traffic and spend across teams, choose Arcjet to decide whether an agent's action runs, and use both when you need each.

Arcjet publishes this comparison. Competitor details come from Portkey's public documentation, reviewed on September 25, 2026.

Palo Alto Networks completed its acquisition of Portkey on May 29, 2026 and described Portkey as the core AI gateway for Prisma AIRS. Portkey's documentation states that Portkey is Prisma AIRS AI Gateway. This page uses the Portkey name, which the documentation still uses throughout.

Arcjet vs Portkey at a glance

Arcjet differs from Portkey in where it enforces, what it screens, and what it offers beyond agent security. The following table compares the two products by area.

AreaPortkeyArcjet
Architecture

Gateway (proxy) between applications and model providers, with separate MCP and agent gateways

Enforcement in the path of the action: SDK calls in your code and hooks in coding agents. No proxy

Coding agents

Routes Claude Code, Codex, Cursor, Cline, and other agents' model requests for credentials, budgets, logging, failover, and guardrails

One policy across Claude Code, GitHub Copilot, Cursor, and OpenAI Codex, evaluated before each tool call, prompt, or model switch

Custom agentsRoute model calls through the gateway with the Portkey SDK or API

JavaScript, TypeScript, Python, and Go SDKs; guard() at the tool call with the arguments that will run

MCP

MCP gateway with registry, authentication, tool provisioning, logging, rate limits, and guardrails on tool inputs and outputs

MCP server allowlist for coding agents; guard() in your own MCP handlers

Prompt injectionLLM-based check and partner guardrails on model requestsBuilt-in detector for custom agents and coding-agent prompts
PII and sensitive data

PII detection and redaction on model requests. Not available for MCP tool calls, per Portkey's MCP guardrails documentation

SDK-local detection keeps the raw body in your process; server-side detector for coding-agent prompts

Destination threat intelligenceNot documented

Scores each host an agent is about to contact against Arcjet threat intelligence

Model routing, caching, and failoverCore functionNot offered
BudgetsBudget and rate limits per key, workspace, or provider

Token and spend budgets and rate limits keyed on any value you pass

Bots and web app securityNot documentedBot detection, rate limiting, Shield WAF, and email validation
Deployment

Managed SaaS, an open-source self-hosted gateway, and VPC or private cloud hosting on Enterprise

Arcjet cloud. Coding-agent hooks evaluate at the edge in over 300 data centers

Pricing

Free developer plan with 10,000 logs a month, Production at $49 a month, and custom Enterprise pricing

Individual $25 a month, Startup $299 a month, and custom Enterprise pricing, plus usage

What does Portkey do?

Portkey's AI Gateway gives applications one API across multiple model providers. Portkey's universal API translates between OpenAI and Anthropic request formats, and the gateway adds fallbacks, load balancing, simple and semantic caching, and conditional routing.

The Portkey Model Catalog holds provider credentials, and administrators set budget limits and rate limits on API keys and workspaces.

Portkey Guardrails check model inputs and outputs. Portkey documents more than 20 deterministic checks, LLM-based checks such as prompt-injection scanning, and partner integrations such as Aporia and Pillar Security.

Portkey guardrails run asynchronously by default, which logs the result without affecting the request. To block, you set the guardrail to run synchronously and turn on its deny action, which returns a 446 status code when a check fails. For streaming responses, Portkey documents that output guardrails take no action and are informational only.

The MCP Gateway centralizes authentication, access control, and logging for MCP servers that you register with Portkey. MCP guardrails run on tool arguments before the tool executes, on tool results, or both, using checks such as regex, JSON schema, and webhooks. Portkey's documentation states that LLM-specific checks, including PII detection, content moderation, and third-party provider checks, aren't available for MCP tool calls. The Agent Gateway is a proxy for A2A agent servers.

For coding agents, Portkey positions itself as the governance layer for Claude Code, Codex, and other AI coding agents. The gateway sits between the agents and model providers and offers centralized credentials, hard budget and rate limits per developer or team, request logs with cost attribution, provider failover, guardrails on requests before they reach the model, and MCP gateway access. A Portkey CLI configures Claude Code and Codex routing in one command.

Portkey's pricing lists a free open-source gateway to self-host, a free Developer plan with 10,000 recorded logs a month, a Production plan at $49 a month with 100,000 recorded logs, and custom Enterprise pricing with VPC and private cloud hosting.

What does Arcjet do?

Arcjet is an AI agent runtime security platform that discovers the agents running in your organization, enforces policy across every action, prompt, and tool call, and keeps the evidence of what happened. Arcjet enforces in the path of the action rather than on the network.

  • Coding agents. Arcjet enforces policy on Claude Code, GitHub Copilot, Cursor, and OpenAI Codex through the hooks each agent already fires, with no SDK and no code change. One policy covers all four, and each policy runs on a tool call, a prompt, or a model switch. Twelve starter policies cover destructive commands, rewriting git history, protected paths, credential access, piped installers, an MCP server allowlist, an egress allowlist, destination threats, a model allowlist, sensitive information, prompt injection, and npm publish. Administrators install the hooks through managed settings or MDM.
  • Custom agents. The JavaScript, TypeScript, Python, and Go SDKs call guard() for tool calls, queues, MCP handlers, and any action with no HTTP request, and protect() for HTTP routes.
  • Policy. Guard policies are centrally managed, written in Rego or a builder, and published from the Arcjet Console or MCP server. Guard policies run in dry run before they go live and take effect in real time.
  • Detectors. Prompt injection, sensitive information, destination threat analysis, token and spend budgets, and rate limits.
  • Evidence. The Arcjet Console records every decision and session. SIEM export to Datadog, Splunk, SentinelOne, Panther, and Amazon S3 is available on the Enterprise plan.

Key differences between Portkey and Arcjet

Arcjet differs from Portkey in four ways: what each one decides on, whether controls block by default, which detectors run on MCP and tool calls, and whether coverage depends on routing.

Model traffic versus the action

Portkey decides on the traffic it proxies: a model request, a model response, an MCP call to a registered server, or an A2A call to a registered agent. Arcjet decides on the action at the point where it runs. For a coding agent, that means the shell command, the file paths, the URL, or the MCP server in the tool call, before the tool runs.

Portkey's coding-agent documentation describes governing the requests that agents send to model providers. It doesn't describe evaluating a local shell command or file read, which runs on the developer's machine and doesn't pass through the gateway as model traffic. For more information, see how to secure AI coding agents.

Enforcement by default

Portkey guardrails log by default and block only when you configure them to run synchronously with deny turned on. You can run an Arcjet policy in dry run first and promote it to live when you're ready. In both cases, check which mode each control is in before you count it as enforcement.

Detectors on MCP and tool calls

Portkey applies deterministic checks to MCP tool inputs and outputs, and documents that PII detection and content moderation aren't available on MCP tool calls. Arcjet runs its sensitive-information and prompt-injection detectors in guard() wherever you call it, including in MCP handlers and on tool inputs. On coding agents, Arcjet screens prompts for sensitive information and prompt injection, and checks destinations against threat intelligence. Arcjet hooks don't screen tool results before they reach the model, and Portkey's MCP output guardrails do cover results from servers that you route through it.

Coverage that doesn't depend on routing

Portkey covers the clients configured to use its endpoint. Arcjet hooks install through managed settings, so developers can't remove them without admin access, and one install covers every tool call regardless of which MCP servers the developer adds. Personal accounts don't load organization hooks, so block those at the network or device, and use OpenTelemetry or Claude Compliance API ingest to find sessions that the hooks didn't reach.

When to choose Portkey, Arcjet, or both

Choose Portkey to govern model traffic and spend, Arcjet to decide agent actions before they run, and both when you need each. The following sections list the signals for each choice.

When to choose Portkey

Choose Portkey if any of the following apply:

  • You need one API across multiple model providers, with fallbacks, load balancing, and caching.
  • You want provider keys held centrally and scoped keys issued per developer or team.
  • Model spend and cost attribution across teams is your main problem.
  • You want a registry and authentication layer for MCP servers, with guardrails on tool inputs and results.
  • You're standardizing on Palo Alto Networks Prisma AIRS.

When to choose Arcjet

Choose Arcjet if any of the following apply:

  • You need to stop a coding agent's shell command, file access, URL fetch, or MCP call before it runs.
  • You want one policy across Claude Code, GitHub Copilot, Cursor, and OpenAI Codex, installed so developers can't remove it.
  • You're building agents and need a decision at the tool call with the arguments that will run.
  • You want destination threat analysis on the hosts an agent contacts.
  • You want sensitive-information detection that keeps the raw body in your process.
  • You also need bot detection, rate limiting, and a WAF on your HTTP routes.

Using Portkey and Arcjet together

Portkey and Arcjet cover different points in the same workflow. Keep Portkey on model traffic for routing, keys, budgets, and prompt and response guardrails. Add Arcjet hooks to coding agents and guard() calls to your own agents to decide each action before it runs.

A model allowlist or team budget fits Portkey. A rule about a command, a path, an MCP server, or a destination host fits Arcjet. For more information about layering the two, see AI gateway vs Arcjet and AI agent security architecture.

Portkey alternatives

If you're looking for a Portkey alternative, the right one depends on whether you need a gateway or action-level enforcement:

  • Arcjet. Enforces policy on agent actions in code and in coding-agent hooks, with no proxy. Choose it for security on tool calls, and pair it with a gateway if you also need routing.
  • LiteLLM. An open-source Python SDK and self-hosted proxy with virtual keys, budgets, guardrails, and MCP and A2A gateways. For more information, see Arcjet vs LiteLLM.
  • Kong AI Gateway. AI plugins on Kong Gateway, for teams that already run Kong for APIs. For more information, see Arcjet vs Kong AI Gateway.
  • Cloudflare AI Gateway. A managed gateway on Cloudflare's network with caching, spend limits, Guardrails, and DLP. For more information, see Cloudflare vs Arcjet.

Frequently asked questions

What is the difference between Arcjet and Portkey?

Portkey is an AI gateway: a proxy that routes model requests across providers and adds fallbacks, caching, provider keys, budgets, and guardrails, with separate MCP and agent gateways. Arcjet enforces policy in the path of the action, in code before a tool call runs and in the hooks that Claude Code, GitHub Copilot, Cursor, and OpenAI Codex fire. Portkey governs traffic it proxies; Arcjet decides whether an agent's action runs.

Is Arcjet an alternative to Portkey?

Arcjet is a Portkey alternative for agent security, not for model routing. Arcjet doesn't route, cache, or fail over model calls, and it doesn't hold provider keys. If you need those functions, keep a gateway such as Portkey and add Arcjet to enforce policy on tool calls, prompts, and model switches.

Can you use Portkey and Arcjet together?

Yes. Keep Portkey on model traffic for routing, keys, budgets, and prompt and response guardrails. Add Arcjet hooks to coding agents and guard() calls to your own agents to decide each action before it runs. A model allowlist or team budget fits Portkey; a rule about a command, a path, an MCP server, or a destination host fits Arcjet.

Who owns Portkey?

Palo Alto Networks owns Portkey. Palo Alto Networks completed its acquisition of Portkey on May 29, 2026, and described Portkey as the core AI gateway for Prisma AIRS. Portkey's documentation states that Portkey is Prisma AIRS AI Gateway, and the documentation still uses the Portkey name throughout. Arcjet is built by Arcjet Labs, Inc.

How much does Portkey cost compared to Arcjet?

Portkey's pricing page lists a free open-source gateway to self-host, a free Developer plan with 10,000 recorded logs a month, a Production plan at $49 a month, and custom Enterprise pricing. Arcjet lists an Individual plan at $25 a month, a Startup plan at $299 a month, and custom Enterprise pricing, plus usage at $50 per million agent requests.

AI runtime security in your code

Protect your AI agent workflows with Arcjet

Arcjet runs inside your application, where it can use runtime context to enforce agent actions and budgets, detect prompt injection, and protect sensitive information before a workflow acts.