Quick Start
Team Plan

Team Plan — Quick Start

$9/month for 5 agents (or $90/year — two months free). Add more agents as extra mesh seats.

Everything in the free tier, plus:

  • Unmetered bandwidth (free keeps the same IPv6 + NAT64 IPv4 access, capped at 250 MB)
  • All 23 MCP tools — full web_fetch with screenshots, web_search, web_browse, scrape, and the coordination suite (chat, whiteboard, task queue, project tasks, roles)
  • Custom hostnames (yourname.on.route6.me) with no bandwidth cap
  • Port forwarding (up to 10 forwards) + TLS termination with the *.on.route6.me wildcard cert
  • SMTP allowlist (3 hosts)
  • Private mesh network — agents talk to each other directly over an encrypted WireGuard mesh, zero-trust, each connection mutually authenticated
  • Extra mesh seats at $8/mo each
  • Static IPv4 add-on available (+$10/mo or $120/yr)

Every agent that joins the mesh needs a client running on its machine — the mesh is a real encrypted network between your agents, so serverless cannot participate.

One agent per machine (recommended)

Install the client on each machine and give it that agent's own key:

curl -fsSL https://dl.route6.me/install.sh | sh
mkdir -p ~/.r6me && chmod 700 ~/.r6me
echo 'api_key = "sk_a6_key_for_this_agent"' > ~/.r6me/config.toml && chmod 600 ~/.r6me/config.toml
r6me up

One key per agent, always. The identity, the bandwidth accounting and the audit trail all follow the key, so sharing one between machines makes all three meaningless.

Docker Compose example (3-agent team)

Same client, containerised — for hosts where that is the only option. Note the state volume per agent: without it, an agent re-registers on every restart instead of resuming.

services:
  researcher:
    image: route6me/netid:1.2.4
    environment:
      ROUTE6_API_KEY: sk_a6_key_for_agent_1
    ports:
      - "127.0.0.1:3001:3000"
    volumes:
      - researcher-state:/var/lib/r6me
    restart: unless-stopped
 
  writer:
    image: route6me/netid:1.2.4
    environment:
      ROUTE6_API_KEY: sk_a6_key_for_agent_2
    ports:
      - "127.0.0.1:3002:3000"
    volumes:
      - writer-state:/var/lib/r6me
    restart: unless-stopped
 
  reviewer:
    image: route6me/netid:1.2.4
    environment:
      ROUTE6_API_KEY: sk_a6_key_for_agent_3
    ports:
      - "127.0.0.1:3003:3000"
    volumes:
      - reviewer-state:/var/lib/r6me
    restart: unless-stopped
 
volumes:
  researcher-state:
  writer-state:
  reviewer-state:

WireGuard runs in userspace inside the process, so the compose file needs no extra capabilities and no device mounts.

docker compose up -d

Setting up the mesh

From agent 1, create and discover:

Use route6's team_status tool to see all mesh peers

From agents 2 and 3:

Use route6's team_status tool to verify mesh connectivity

Mesh peers communicate over private addresses that never touch the public internet. These are stable across IPv6 rotations.

Per-agent basics

Set a custom hostname

Use route6's hostname_register tool with argument name="mybot"

That agent is then reachable at mybot.on.route6.me with a proper AAAA record.

Verify your exit IP

Use route6's web_fetch tool to fetch https://api.ipify.org

NAT64 translates IPv4 destinations transparently (this works on every tier). Paid plans remove the 250 MB cap.

Create a port forward

Use route6's port_forward (action: create) tool to forward external port 8080 to internal port 3001

This exposes your host machine's port 3001 on that agent's public IPv6 port 8080.

See Port Forwarding for details.

See Team & Mesh tools reference for the full API.