> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://platform.bctrl.ai/llms.txt.
> For full documentation content, see https://platform.bctrl.ai/llms-full.txt.

# Proxies

> Route browser runtime traffic through custom or managed proxies.

Browser runtimes can route traffic through a proxy. Use proxies for geo-specific workflows, IP isolation, or sites that require stable network identity.

## Use a saved proxy

Create and test proxies once, then reference them when launching runtimes.

```ts
const proxy = await bctrl.proxies.create({
  kind: "managed-rotating",
  name: "us-residential",
  defaults: {
    protocol: "http",
    geo: { country: "US" },
    affinity: { strategy: "sticky", key: "acme-invoices" },
  },
});

const runtime = await space.runtimes.browser.launch({
  name: "crm",
  config: {
    proxy: {
      mode: "saved",
      id: proxy.id,
    },
  },
});
```

## Use a custom proxy

```ts
const runtime = await space.runtimes.browser.launch({
  name: "customer-proxy",
  config: {
    proxy: {
      mode: "custom",
      protocol: "http",
      host: "proxy.example.com",
      port: 8080,
      username: "user",
      password: process.env.PROXY_PASSWORD!,
    },
  },
});
```

## Test before launch

```ts
const result = await bctrl.proxies.test(proxy.id);

if (!result.ok) {
  throw new Error(result.message);
}
```

## Related

* [API Reference: Proxies](/api/api-reference/proxies/list)
* [Browser Runtimes](/sdk/browser-runtimes/overview)