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).
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:
php pulsar-agent.php pair <CODE> --accept-terms --label=my-pc
php pulsar-agent.php runPrefer 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
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)
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:
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):
php pulsar-agent.php pair <CODE> --accept-terms --label=my-serverKeep it running — either as a systemd service (recommended):
[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.targetsystemctl daemon-reload
systemctl enable --now pulsar-node
journalctl -u pulsar-node -f…or simply in the background:
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:
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 PulsarNodeMany 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.
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:
php pulsar-agent.php export-config --with-identity > device.json # contains a secret
php pulsar-agent.php import-config device.json --with-identityCheck 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.
php pulsar-agent.php verifyDocker
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-nodePrefer Docker Compose? Grab all three files and run it in one command:
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 -dMobile 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