Pulsar — Setup guide

Connect a device in minutes — pick the way that fits, from a phone to a spare server.

Browser extensionCLI agentCLI agent on a server (VPS or dedicated)Mobile app (iOS / Android)
  1. 1 Pairing code
  2. 2 Device online
  3. 3 First result

01Step 1 — get a pairing code

Sign in and open your devices page, then create a pairing code. It lives 15 minutes and works for every agent type; an account can hold up to 5 devices.

02Step 2 — connect a device

Browser extension

Runs quietly while your browser is open. Install it, paste the pairing code — done.

Chrome / Edge: chrome://extensions → Developer mode → Load unpacked (unzip first).

Firefox: about:debugging → This Firefox → Load Temporary Add-on (unzip first, pick manifest.json).

Download for Chrome / Edge Download for Firefox

CLI agent on your computer

One PHP file for servers and desktops. Needs php-cli 8+ with curl. Download the agent, then in a terminal:

shell
php pulsar-agent.php pair <CODE> --accept-terms --label=my-pc
php pulsar-agent.php run

Prefer a tray icon to a terminal? The desktop wrapper is a small Electron app around this same agent — sources and build instructions, you build it yourself. Download the desktop sources

Download agent

Agent checksum (SHA-256): 69b3aa1d28eeea225dcda6692ad10f7d7c8823954ebbd3e6726d46b89ed0da9d
Verify after download: echo "69b3aa1d28eeea225dcda6692ad10f7d7c8823954ebbd3e6726d46b89ed0da9d pulsar-agent.php" | sha256sum -c · All checksums

CLI agent on a server (VPS or dedicated)

A server node runs 24/7, builds trust fastest and earns the most consistently. Requirements: any Linux with php-cli 8+ and the curl extension — nothing else, no root needed.

Fastest: one line (verifies the download before installing)

shell
curl -fsSL "https://astrina.io/pulsar/setup?install" | sh -s <CODE>

The script refuses to install anything whose SHA-256 does not match the digest we publish in SHA256SUMS — read it first with curl -fsSL "https://astrina.io/pulsar/setup?install" | less if you prefer, we would.

Or do it by hand — download the agent straight to the server:

shell
mkdir -p ~/pulsar && cd ~/pulsar
wget -O pulsar-agent.php "https://astrina.io/pulsar/setup?dl=agent"

Pair it (the flag confirms the terms of participation):

shell
php pulsar-agent.php pair <CODE> --accept-terms --label=my-server

Keep it running — either as a systemd service (recommended):

/etc/systemd/system/pulsar-node.service
[Unit]
Description=Pulsar node agent (astrina.io)
After=network-online.target
Wants=network-online.target

[Service]
User=youruser
ExecStart=/usr/bin/php /home/youruser/pulsar/pulsar-agent.php run
Restart=always
RestartSec=30
# optional resource ceiling
CPUQuota=40%
MemoryMax=512M

[Install]
WantedBy=multi-user.target
shell
systemctl daemon-reload
systemctl enable --now pulsar-node
journalctl -u pulsar-node -f

…or simply in the background:

shell
nohup php pulsar-agent.php run >/dev/null 2>&1 &

The CPU and memory limits in the unit are an optional ceiling — the agent itself is one PHP process using a few megabytes.

Windows (as a service)

Install PHP for Windows, then use NSSM (nssm.cc) to run the agent as a service:

cmd
php pulsar-agent.php pair <CODE> --accept-terms --label=my-pc
nssm install PulsarNode "C:\php\php.exe" "C:\pulsar\pulsar-agent.php" run
nssm start PulsarNode
Many machines at once

Set one machine up the way you want it, then carry its settings to the rest. The export deliberately leaves out the identity, so each machine still pairs as its own device — copying one identity onto a fleet would make them all report as a single device.

shell
php pulsar-agent.php export-config > pulsar-fleet.json
# on every other machine:
php pulsar-agent.php import-config pulsar-fleet.json
php pulsar-agent.php pair <CODE> --accept-terms --label=$(hostname)

Moving one device to new hardware is the opposite case — there you do want the identity, and the flag says so:

shell
php pulsar-agent.php export-config --with-identity > device.json   # contains a secret
php pulsar-agent.php import-config device.json --with-identity
Check the agent has not been altered

The installer verifies the download; this re-checks the file on disk afterwards, and the running agent repeats it once a day. It tells an out-of-date build apart from an altered one. It is a smoke alarm, not a lock: anyone who can edit the file could also remove the check.

shell
php pulsar-agent.php verify
Docker
shell
wget -O Dockerfile "https://astrina.io/pulsar/setup?dl=dockerfile"
docker build -t astrina/pulsar-node .
docker run --rm -v pulsar:/data astrina/pulsar-node pair <CODE> --accept-terms --config=/data/agent.json
docker run -d --restart=unless-stopped --cpus=0.5 --memory=256m -v pulsar:/data astrina/pulsar-node

Prefer Docker Compose? Grab all three files and run it in one command:

shell
wget -O pulsar-agent.php   "https://astrina.io/pulsar/setup?dl=agent"
wget -O Dockerfile         "https://astrina.io/pulsar/setup?dl=dockerfile"
wget -O docker-compose.yml "https://astrina.io/pulsar/setup?dl=compose"
docker compose run --rm pulsar pair <CODE> --accept-terms --config=/data/agent.json
docker compose up -d

Mobile app (iOS / Android)

Open the Nodes screen in the Astrina app and enter the pairing code — your phone joins as a vantage point while the app is open. The same pairing code works for every agent type.

Telegram Mini App

Answer tiny AI-labeling questions in spare moments — no install. Your judgement becomes training data, verified by agreement. Open the Mini App in Telegram — labeling tasks, balance and your devices, right on the phone.

03Step 3 — check it works

Within a minute the device turns “active” on your devices page and “last seen” starts updating. First tasks are hidden control checks; customer tasks open once the network has three or more live devices.

Pause or remove a device any time from your devices page — the agent obeys immediately. A device offline for more than a day triggers a notification to you.

A single always-on device earns a few AP a day, not a salary. AP has no rate against money; how much the pool holds depends on how much paid work the network has.

If something goes wrong

  • The pairing code expired — codes live 15 minutes; just create a new one.
  • Lost the device secret (~/.pulsar-agent.json) — remove the device on your devices page and pair again.
  • “Agent too old” — download the fresh agent file and restart it.

Questions? See how Pulsar works or open your dashboard. Read the Terms of Participation

What this page answers

  • how to connect a Pulsar node
  • browser extension for Pulsar
  • node on a server via systemd
  • node on a phone
  • setting up the Pulsar CLI
  • what is a Pulsar node
  • how a Pulsar node works
  • a Pulsar node explained
  • a Pulsar node guide
  • how to start with a Pulsar node
  • a Pulsar node reviews
  • is a Pulsar node worth it
  • a Pulsar node pricing
  • a Pulsar node alternatives
  • a Pulsar node for beginners
  • why a Pulsar node
  • a Pulsar node — what you get