# Understanding Node Status

Learn what the different node statuses mean

## Status Types

### 🟢 Online

Your device is:

- Connected to the Fabric network
- Sending regular heartbeats
- Available to receive jobs
- Actively earning

**This is the status you want.**

* * *

### 🟡 Idle

Your device is:

- Connected and online
- Not currently executing a job
- Waiting for a matching job
- Ready to start work immediately

This is normal. Not every moment will have a job for your specific hardware.

* * *

### 🔵 Executing

Your device is:

- Currently running a workload
- Actively earning for this job
- Unavailable for other jobs

After completion, status returns to Online/Idle.

* * *

### 🔴 Offline

Your device is:

- Not connected to the network
- Not sending heartbeats
- Not receiving jobs
- Not earning

**Common causes:**

- Device is shut down or sleeping
- Agent is not running
- Network connectivity issues
- Authentication expired

* * *

## Heartbeats

Your device sends "heartbeats" to the backend to confirm it's alive.

**How it works:**

- Agent sends a heartbeat periodically
- Backend tracks the last heartbeat time
- If heartbeats stop, status changes to Offline

**Missed heartbeats happen when:**

- Device goes to sleep
- Network disconnects
- Agent process stops
- System resources are exhausted

* * *

## Maximizing Uptime

**Keep your device online to maximize earnings:**

**Prevent sleep:**

- macOS: System Preferences → Energy Saver → Prevent sleep
- Windows: Power Settings → Never sleep
- Linux: Disable suspend in power settings

**Use the daemon/service:**

- The background daemon runs even when UI is closed
- Set up auto-start at boot

**Stable network:**

- Use wired connection if possible
- Ensure router doesn't drop connections

**Don't close the daemon:**

- Closing the UI is fine
- Don't kill the daemon process

* * *

## Checking Your Status

**In the app:**

Open Fabric Agent and look at the dashboard. Your status is shown prominently.

**On the web:**

Log in to fabric.carmel.so and view your enrolled devices.

**Via command line (macOS/Linux):**
```
# Check if daemon is running
ps aux | grep FabricAgent

# Check daemon logs
tail -20 ~/.fabric/logs/daemon.log
```

* * *

## Status in the Dashboard

The web dashboard shows:

- All your enrolled devices
- Current status of each
- Last seen time
- Completed jobs
- Earnings per device

* * *

## Why Am I Not Getting Jobs?

If you're Online but not receiving jobs:

**Low demand:** There might not be jobs matching your hardware right now

**Hardware requirements:** Some jobs need specific capabilities (GPU, more RAM)

**Competition:** Other nodes may be picking up jobs faster

**Agent version:** Ensure you're on the latest version

This is normal. Job availability varies based on network demand.
