Skip to main content
DAEMON is the AI-native Solana development environment — an Electron-based desktop IDE that consolidates editor, terminal, wallet, deploy pipeline, and AI agents into one workspace. Open source under MIT, available for macOS, Windows, and Linux. DAEMON integrates Voight as its observability stream for AI agent runs, tool calls, approval decisions, terminal activity, Solana transactions, errors, and per-session traces. Their integration guide lives at daemonide.tech/docs/voight-observability.

What DAEMON emits to Voight

DAEMON maps its native activity to Voight’s event taxonomy. Every action the IDE performs — whether the Claude agent reasoning over a patch, the integrated terminal running solana program deploy, or the user approving a Phantom signature — lands as a typed event you can filter and trace.
Event typeDAEMON activity captured
reasoningClaude / Codex chat turns, agent analysis — with model and duration
actionAgent lifecycle, file patches, terminal commands, filesystem operations
toolTool execution (Shipline steps, MCP tool calls) with outcome + timing
decisionApproval workflows — policy metadata captured
txSolana transactions — amount, token, status, signature
errorRuntime failures with source context
Each event carries a sessionId in metadata so a single DAEMON workspace run groups cleanly in /dashboard/traces.

Architecture

DAEMON uses Voight’s raw HTTP pathPOST https://api.voight.xyz/v1/events — directly from the Electron main process. The VOIGHT_KEY lives in DAEMON’s secure storage and is never exposed to renderer code or to the agent runtime. Renderer-side JavaScript and any running agent see only the IPC events DAEMON exposes; the key and the ingestion endpoint stay in main. This is the cleanest pattern for any Electron / Tauri / sidecar architecture that wants to observe an in-process agent without leaking credentials into the runtime the agent has access to.

Setup inside DAEMON

Users configure the integration in-app — no code changes:
  1. Generate a Voight key at voight.xyz/dashboard/settings. The key is shown once and prefixed vk_.
  2. Open DAEMON Settings → Integrations → Voight Observability and paste the key.
  3. Pick a privacy level — defaults to standard (recommended).
  4. Send a test event — DAEMON ships one synthetic event and verifies it lands in your Voight dashboard before any live agent run.
  5. Run an agent — every subsequent event streams to Voight in real time.
The full DAEMON-side walkthrough lives at daemonide.tech/docs/voight-observability.

Privacy — three levels, scrubbed locally

DAEMON implements Voight’s three-level privacy model in the main process, so scrubbing happens before transmission — sensitive content never leaves the machine in clear form.
LevelBehaviour
MinimalTiming + outcomes only. No prompts, no responses, no file paths, no commands.
Standard (default)Full content with local pattern scrubbing applied to prompts, responses, terminal output, and metadata.
FullRaw content as captured. Internal debugging only.
The scrubber redacts private keys, JWTs, API credentials, email addresses, phone numbers, and payment card numbers — see PII patterns for the complete list (12 named patterns + Luhn-validated cards).

Retry + status handling

DAEMON respects Voight’s ingestion contract exactly:
StatusDAEMON behaviour
202 AcceptedEvent ingested
400Bad payload — skip retry, surface in DAEMON’s local error log
401Invalid VOIGHT_KEY — DAEMON shows a credentials error
410Agent deleted in Voight — DAEMON stops sending for that agent
429Rate-limited — back off honouring Retry-After
5xxTransient — retry with exponential backoff
Failed dispatches never block the agent — Voight ingestion is fire-and-forget by design.

Why this combination works

DAEMON gives you the workspace where Solana agents run: Claude / Codex reasoning over real code, Shipline pushing programs to devnet/mainnet, Phantom signing transactions, MCP tools touching Helius / Jupiter / Metaplex / PumpFun. That’s a dense, high-stakes surface — agents proposing on-chain actions with real money attached. Voight gives that surface a memory. Every agent decision, every tool the agent reached for, every approval the human gave or denied, every transaction signature, every error — reviewable in a timeline, grouped by session, filterable by model / outcome / tool, costed automatically. The two products compose without either side needing to know the other’s internals: DAEMON speaks Voight’s HTTP contract from the main process, Voight stores and renders.