Skip to content

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.

No machine that meets the requirements?

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
    
  2. 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
    
  3. Router: set up port forwarding from the WAN to your Windows machine on 49200/tcp.

  4. 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:

  • GPU has ≥ 24 GB VRAM (verified with nvidia-smi)
  • 80 GB RAM per GPU, 80 GB free disk
  • Stable 200 Mbps+ connection
  • Compute instance located in North America
  • Round-trip latency under ~80 ms to our NA-based peers
  • Port 49200 open for inbound TCP (per GPU)
  • HuggingFace token generated and saved in a location you can copy from

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