Appearance
Points and Vistara Node
What the Vistara Node is
Your Vistara Node is three things on your Mac:
- The local daemon (Relay) that keeps the Workstate for your agents and records their test and build results.
- A device key: a secp256k1 key created on your Mac the first time you activate. It is stored only encrypted by the macOS Keychain, never in plain text, and never shown.
- Signed contribution results: when your agents produce verified work, the node signs a small record of it with the device key and sends it to the points ledger.
The Vistara Node is not mining, staking or validation. It does not run work for anyone else, does not hold funds, and does not secure a network. Running it costs nothing beyond what your agents already use.
Points are also the start of your node's track record. On the network, operators carry an onchain identity, a bond and a public history of completed jobs (Next); verified work in the beta is where that history begins.
Agent time is not a reward
The Points page shows your agents' work time so you can see what your node is doing. Time alone earns nothing: points come from verified work, active days and the hours your node is online, under the rules below.
Current rules
| Event | Points | Rule |
|---|---|---|
| Verified completion | +100, then +20 | +100 each for your first 10 a day, +20 each for the next 40, at most 50 a day (Epoch 02 rules). A connected agent (Claude Code, Claude Desktop, Codex, Cursor, Grok) finishes a task: coding, research or writing, seen working for at least 30 seconds and then finished. Work whose tests or build pass also counts. |
| Node online | +5 | Each UTC hour the Vistara app is running and signed in. Counted by the server from the app's check-in. |
| Active day | +20 | Each UTC day on which any agent session on your Mac is active, including Claude Desktop sessions. Once a day. |
| Invite | +250 | Someone you invited turns on their node and finishes their first verified completion. Once per invited person. |
| Welcome | +100 | Your first verified completion, if you joined with an invite code. Once. |
The server decides. Your node reports results; the points ledger decides whether each one counts and how many points it earns, under its current rule version. The Rewards list on the Points page shows each result, its points, and the reason when one was not counted.
Epochs. The ledger groups points into epochs. The Points page shows the current epoch and your verified work in it. The server sets epoch boundaries.
Your node turns itself on. On a new install (0.2.23 or later) the node activates at first launch, with no account and no click, so points start right away. Pause it any time in ⚙ → Your privacy → Vistara Node on; while paused nothing is sent and no points are earned. Installs that had the node off before 0.2.23 keep it off until you click Turn on your Vistara Node on the Points page. Vistara keeps the device key encrypted in the Keychain; if macOS asks, click Always Allow.
What "verified" means today
Finished tasks. Vistara sees a connected agent's session working, then finishing its turn (not stopping on a permission prompt). That finished turn counts, once, if the agent worked for at least 30 seconds. Research and writing count the same as coding.
Passing checks. A project also counts as a verified completion when its Workstate status is done and its latest tests or build passed. Those results come from the test and build commands your agents ran, read from their hook events, and from Relay's own re-run of the repo's checks when an agent stops. A result goes stale as soon as a file changes after it.
A first step
This is a first step. It does not yet check work against goals you wrote in advance, and it does not include review by an independent model. Those are part of the whitepaper's verification design and are Planned.
What is sent
Before activation the only thing sent is anonymous usage and crash reports (what they contain; off in ⚙ → Your privacy). After activation, the node sends:
Once, at activation (sign-in):
| Field | Example | Purpose |
|---|---|---|
| Device address | 0x8f2…c41 | The public address of your device key. |
| Signature | 0x… | Proves the device holds the key, over a one-time challenge from the server. |
| Device name | Mac or studio-mbp | Mac when the node turned itself on at first launch; your Mac's host name if you turned it on yourself, so you can tell your devices apart. |
| Email (optional) | you@example.com | Only if you type one, so your team knows whose node it is. Stored unverified. |
For each verified completion or active day:
| Field | Example | Notes |
|---|---|---|
id | verified:work_0193…:1727712000000 | Stable, so a result is never sent twice. |
deviceId | (server id) | Assigned by the server at sign-in. |
workstreamId | work_0193… | A random id for the project. It does not contain the folder name. |
type | verified_completion or active_day | |
verification | { "tests": true, "build": false } | Booleans only. Always false, false for an active day. |
occurredAt | 1727712000000 | When the check passed, or when the agent was active. |
proofHash | 0x5e1… | SHA-256 of the local result: workstream id, check results and time (for an active day, the day id and time). The result itself stays on your Mac. |
ruleVersion | v1 | The client's rule version. |
deviceSignature | 0x… | An EIP-191 signature over all of the above, with keys sorted. The ledger rebuilds the same string to verify it. |
No code, prompts, transcripts, file names, folder names, screenshots or browsing are ever sent. Every item sent appears under Rewards on the Points page.
Wallet
Activating gives you a rewards wallet address on Base. It is a counterfactual smart account: its address is known, but the contract is not deployed and holds nothing. Your device key is its owner. There is nothing to set up, fund or sign.
The Points page shows the address. Nothing is deployed or funded today, and no transactions are made.
Node number, Genesis and rank
Node number. Your node gets a public number (for example Node #00042) at its first verified completion. Signing up alone does not assign one.
Genesis. The first 500 nodes to reach a verified completion carry a Genesis badge.
Rank. The Points page shows your rank in the current epoch and the network's totals: nodes, nodes online, verified tasks and points. The server counts them; the leaderboard shows the same numbers publicly. You appear there by node number unless you set a name in Points → Invite and choose to show it.
Invites. Anyone can download Vistara and join; no code needed. Inviting is a bonus: share your link from Points → Invite, and when someone joins with it and finishes their first verified completion, you get +250 and they get +100. Each node has 5 invites.
Share cards. Share my node draws an image with your counts (points, agent hours and verified work today, and your rank once the board has 25 or more nodes), copies it and opens a post on X. Copy the card only copies it. The image never includes project or repo names, prompts, code, or your wallet.
Anti-gaming
- Caps are applied by the server. Verified completions earn less after the first 10 a day and stop at 50; active days count once a day. The client cannot change this.
- Per workstream, not per agent. A verified completion belongs to a project's workstream. Running more agents or sub-agents on the same project does not multiply the reward; sub-agents roll up into their parent's project.
- Signed by the device. Each result is signed with the device key, and the ledger checks the signature.
- Idempotent. Each result has a stable id. Restarting the app or re-sending does not count it twice.
- Invites count only after real work. The +250 invite reward needs the invited person to finish verified work, not just install.
- Uptime is capped by the clock. Node online earns once per hour, at most 24 a day, however many times the app checks in.
- Tasks need real work. A task counts only after its agent was seen working for 30 seconds, once per finished turn. Sessions and tokens earn nothing by themselves.
Points are not tokens
Points are a record of verified work in the beta. They are not a token, have no cash value, and cannot be transferred.
The whitepaper describes a future token, $VSTR, and a launch distribution "earned by using the product": distributed to users of the public daemon in proportion to verified, accepted goals completed before token generation, under published eligibility rules with per-account caps and Sybil filtering (Section 5.3). Those eligibility rules are not published yet. Nothing in this beta promises that points convert into tokens.
Everything below is Planned and described only in the whitepaper:
- The work market. A node whose own queue is empty may take paid goals from other people. Payment in USDC is held in escrow on Base and released when the goal's acceptance checks pass. The whitepaper targets a testnet in Q2 2027 and mainnet in Q3 2027.
- $VSTR. The whitepaper gives the token two functions only: protocol fees on settled work buy it and burn it, and staked holders govern the parameters that set those fees. It is not needed to use Vistara, and payments are in USDC. The whitepaper targets generation in Q4 2026 with the first contracts, and buybacks once the work escrow opens in 2027. These are targets, not commitments.
See the roadmap for the timeline as the whitepaper states it.