Give Your Composio Agent a Static IP for the API Key Allowlist

QuotaGuard Engineering
August 17, 2026
5 min read
Pattern

Composio allowlists each API key by IP. Route your agent's calls through a QuotaGuard static IP and add the two fixed IPs to the key.

Composio restricts each API key by IP, and it recommends turning that protection on for the keys your agents use. The catch shows up the first time your app moves. A tool call to backend.composio.dev comes back as a 403, the key is valid, and nothing in your code changed. The address your request left from did. This is the same allowlist problem that a static outbound IP for AI agents solves across the stack, and Composio is a clean case of it.

Composio Checks the Source IP Attached to Each API Key

The IP allowlist is set per key in the Composio dashboard. When a request arrives from an address that is not on that key's allowlist, Composio blocks it. That means a valid key can still receive a 403 because the network origin is not approved.

Teams hit this most often from behind a VPN or on dynamic cloud egress, where the outbound address is not fixed.

A Static Egress IP Clears the 403 Without Weakening the Key

When the 403 lands, Composio gives you two ways out. Add your current IP to the key's allowlist, or, if your app has no static IP, create a new key with no IP restrictions at all. The second one clears the error by removing the protection.

An unrestricted key works from any address. If it leaks, there is no network boundary to contain it, which is the opposite of why you set an allowlist. Adding your current IP by hand does not hold either, because on Render, Railway, Heroku, Fly.io, or AWS Lambda that IP can change when your app moves.

A static outbound IP is the other path described in Composio's guidance, and it keeps the key locked down. Your app always leaves from the same two addresses. The allowlist stays two entries long. The restriction stays on.

QuotaGuard Gives Your Composio Calls a Static IP in 2 Minutes

QuotaGuard is a proxy. Your agent sends its Composio traffic through QuotaGuard, and Composio sees one of your two fixed IPs on every request. Setup is one environment variable and a proxy configuration on your HTTP client.

Add the connection URL to your environment:

QUOTAGUARDSTATIC_URL="http://username:password@us-east-static-01.quotaguard.com:9293"

Then route your calls to backend.composio.dev through it. In Node.js, put the proxy agent on the HTTP client your Composio SDK or your own code uses:

const axios = require("axios");
const { HttpsProxyAgent } = require("https-proxy-agent");
const httpsAgent = new HttpsProxyAgent(process.env.QUOTAGUARDSTATIC_URL);

// Use this agent for any call to backend.composio.dev
const composio = axios.create({
  baseURL: "https://backend.composio.dev",
  httpsAgent,
  proxy: false,
});

Every subscription includes two load-balanced static IPs. Paste both into the key's allowlist, so a request served by either one passes. The example host above is region-specific. You pick your region at sign-up, so choose the one closest to Composio. Changing it later requires contacting QuotaGuard support.

That is the full loop. Two QuotaGuard IPs on the key allowlist, your agent proxied through them, and Composio stops returning a 403 for calls from an origin you did not register. QuotaGuard fixes the address your traffic leaves from, so the allowlist you already wanted becomes something you can keep in place.

IP Allowlisting Carries More Weight After Composio's May 2026 Incident

Composio disclosed unauthorized access to internal systems in May 2026. Its forensic investigation suggested that some API keys may have leaked, while noting that it did not know whether every potentially exposed key had been compromised. Its response included deleting older keys, revoking affected credentials, restricting existing keys to recently used organization IPs, and rolling out dashboard IP allowlisting.

The practical lesson is simple. A key restricted to known source addresses has an additional boundary that an unrestricted key does not.

This is the same static-egress pattern that lets agents and coding assistants pass an enterprise firewall's allowlist. If you route agent traffic to sibling services like OpenRouter or Datadog that also check the caller's IP, the same fixed pair can be registered with those services too.

QuotaGuard Static Pricing Starts at $19/Month

Bandwidth is bundled, with no per-GB overage fees. A typical Composio control-plane workload moves modest volume, so the entry tier covers many teams. Starter, Production, and Business subscriptions use shared static IP pairs. Enterprise subscriptions include dedicated IPs and proxy resources.

QuotaGuard Shield Pricing Starts at $29/Month

If a Composio workflow carries protected health information, payment-card data, or other data requiring end-to-end encryption and compliance documentation, use Shield. Shield preserves encryption through the proxy, and QuotaGuard does not decrypt the HTTPS payload.

Standard plans include a 3-day trial. Enterprise plans include a 7-day trial. A credit card is required.

See the full pricing table at quotaguard.com/products/pricing. For the conversion-side walkthrough and the mechanics in one place, see the Composio static IP integration page, part of QuotaGuard's static outbound IP for AI agents hub.

QuotaGuard Static IP Blog

Practical notes on routing cloud and AI traffic through Static IPs.

Reliability Engineered for the Modern Cloud

For over a decade, QuotaGuard has provided reliable, high-performance static IP and proxy solutions for cloud environments like Heroku, Kubernetes, and AWS.

Get the fixed identity and security your application needs today.