Requirements - Agora

Requirements

Before a machine can join Agora, it must meet a set of minimum requirements. The sections below cover hardware, OS, networking, and the HuggingFace token the client needs at startup.

A GPU instance can be rented from AWS, GCP, RunPod, Vast.ai, Tensordock, or Lambda Labs. The Cloud Options guide covers selecting and provisioning one for each provider, including cheapest-option recommendations.


Hardware

Resource Minimum Notes
GPU 24 GB VRAM RTX 4090, RTX 5090, RTX 6000
RAM 80 GB per GPU A 2-GPU machine needs 160 GB total.
Disk 80 GB free For model weights, checkpoints, logs.
Network 200 Mbps stable See shared-bandwidth note below.
Region North America Required: peers are NA-based. Non-NA instances fail the latency gate.
Latency < 80 ms RTT to our NA-based peers.

Cloud bandwidth is often shared. Some cloud providers advertise bandwidth shared across tenants. Your effective throughput may be significantly lower than the advertised value. Run a speed test on the actual instance before committing to a long run.

Spot instances are supported. Spot / pre-emptible instances work for Agora. Pre-emption pauses your accrual rather than erasing it, and presence points credit for every active hour, so an interrupted run still earns a baseline.

Maximum 2 peers per account. Scores sum across all peers running under the same HuggingFace identity, up to 2 active peers per account. We may relax this cap during the live run.

Check your GPU is visible:

nvidia-smi

The output should list the GPU and VRAM. If this command is not found, install NVIDIA drivers first.


Operating system

Agora runs on:

macOS is not supported (no CUDA).


Network

Other peers need to reach your node on a TCP port. The default is 49200. This port must be open for inbound connections.

Where to configure it depends on the setup:

Multiple GPUs need multiple ports. Each GPU on the same machine needs its own port: 49200 for GPU 0, 49201 for GPU 1, and so on. Open each one.

RunPod, Vast.ai, and Tensordock remap ports externally. These providers assign a random external port that differs from the internal one. Pass both --host_port 49200 and --announce_port <external>. The matching cloud-provider walkthrough explains how to read the external port.

Locate your compute instance in North America. The current run measures round-trip latency from your node to our NA-based peers and admits joiners below ~80 ms. A North-American instance is effectively required today — instances in EU / APAC / SA almost always exceed the 80 ms gate and are rejected during the authorization phase. When picking a cloud region or community-marketplace host, choose a US, Canadian, or Mexican datacenter. We aim to relax this in future runs.

Personal / home machine

If the node lives on a laptop or desktop on your home network, two things need to allow 49200/tcp:

  1. Local firewall: open inbound 49200/tcp:
    • Linux: ufw allow 49200/tcp
    • macOS: System Settings → Network → Firewall
    • Windows: Defender Firewall inbound rule
  2. Router: set up port forwarding for 49200/tcp from the WAN to your machine's LAN IP. The exact location varies by router brand; look for Port Forwarding, Virtual Server, or NAT.

Windows + WSL2

Windows + WSL2 adds an extra hop: traffic arrives at Windows and needs a port-proxy into the WSL2 VM.

  1. Enable localhost forwarding: create C:\Users\<YourUsername>\.wslconfig with:
[wsl2]
localhostforwarding=true
  1. Configure the port proxy (PowerShell as Administrator). First find the WSL container's IP:
((wsl hostname -I) -split " ")[0]

Add the proxy, replacing <wsl_ip> with the IP from above:

netsh interface portproxy add v4tov4 listenport=49200 listenaddress=0.0.0.0 connectport=49200 connectaddress=<wsl_ip>

Open the Windows firewall for the port:

netsh advfirewall firewall add rule name="agora" dir=in action=allow protocol=TCP localport=49200
  1. Router: set up port forwarding from the WAN to your Windows machine on 49200/tcp.

  2. Restart to apply changes.


Authentication: HuggingFace token

Agora requires a free HuggingFace access token. The token is used for identity only: no read/write scopes required.

  1. Create an account at huggingface.co if one does not already exist
  2. Generate an access token
  3. Save it where it can be retrieved; the CLI will prompt for it on first run

Pre-flight checklist

Before moving on, confirm:

Once all of these are satisfied, continue to running Agora.