---
title: "Your sandbox can now serve requests"
description: "Sandboxes have traditionally been outbound-only machines, unable to receive inbound connections because they sit behind NAT with no public IP or open ports. BoxCompute now enables sandboxes to serve requests by using Tailcat, an open-source library from Tailscale that performs NAT traversal. Tailcat establishes a direct peer-to-peer WireGuard-encrypted path between the client and sandbox, using a DERP relay only for the initial handshake. This approach avoids the latency and bandwidth bottlenecks of relay-based tools like ngrok or Cloudflare Tunnel, and keeps the relay out of the data path. The feature is rolling out as an early preview with scoped, short-lived grants for selected TCP ports."
---

# Your sandbox can now serve requests

[Boxcompute](https://yomu.fyi/company/boxcompute) · boxy · Sep 19, 2026

**Type:** Announcement

## Summary

Sandboxes have traditionally been outbound-only machines, unable to receive inbound connections because they sit behind NAT with no public IP or open ports. BoxCompute now enables sandboxes to serve requests by using Tailcat, an open-source library from Tailscale that performs NAT traversal. Tailcat establishes a direct peer-to-peer WireGuard-encrypted path between the client and sandbox, using a DERP relay only for the initial handshake. This approach avoids the latency and bandwidth bottlenecks of relay-based tools like ngrok or Cloudflare Tunnel, and keeps the relay out of the data path. The feature is rolling out as an early preview with scoped, short-lived grants for selected TCP ports.

## Context

Sandboxes have been unable to serve inbound requests because they sit behind NAT with no public IP or open ports, limiting them to outbound operations. BoxCompute is changing this by enabling sandboxes to act as servers using Tailcat, an open-source library from Tailscale that performs NAT traversal.

## Approach / What changed

BoxCompute integrates Tailcat, which embeds WireGuard for encryption and magicsock for NAT traversal. The sandbox generates a WireGuard keypair, connects to a DERP relay, and produces a short opaque address. The client uses that address to connect to the same relay, where they exchange keys and establish a direct peer-to-peer path via UDP hole-punching, with the relay dropping out of the data path.

## Takeaways

- Tailcat uses NAT traversal to establish a direct peer-to-peer WireGuard-encrypted path between client and sandbox, with the DERP relay only involved during the initial handshake.
- Unlike relay-based tools such as ngrok or Cloudflare Tunnel, Tailcat’s direct path reduces latency and avoids bandwidth bottlenecks because no middlebox carries the traffic.
- A Tailcat address is a capability token, not a public URL; it is scoped, expiring, and meant for one client, with no DNS record or standing open port.

## FAQ

### How does Tailcat differ from ngrok or Cloudflare Tunnel?

Tailcat uses NAT traversal to establish a direct peer-to-peer path after a brief relay handshake, so the relay does not carry data traffic. Ngrok and Cloudflare Tunnel always route all traffic through their relay or edge, adding latency and bandwidth constraints.

### What happens if NAT traversal fails?

If hard or symmetric NAT prevents hole-punching, traffic falls back to the DERP relay. The connection remains encrypted end-to-end via WireGuard, but it is relayed rather than direct.

### Is the Tailcat address a permanent URL?

No, the Tailcat address is a short, opaque token that encodes the sandbox's public key and relay region. It is scoped, expiring, and meant to be handed to one client, with no DNS record or public URL.

**Tags:** [NAT Traversal](https://yomu.fyi/topic/nat-traversal), [Networking](https://yomu.fyi/topic/networking), [Sandbox](https://yomu.fyi/topic/sandbox), [Tailcat](https://yomu.fyi/topic/tailcat), [WireGuard](https://yomu.fyi/topic/wireguard)

- Source: [Boxcompute](https://boxcompute.ai/blog/sandbox-serves-requests)
- Source URL: https://boxcompute.ai/blog/sandbox-serves-requests
- Ingested by Yomu: 2026-09-20T06:00:07.884Z

[Read original post](https://boxcompute.ai/blog/sandbox-serves-requests)
