Agent Registry
Register any Solana wallet as a monitored agent. Per-agent ingest tokens, alert thresholds, framework tags. Cascade-safe deletion.
Hono · Privy · RLSFull-stack observability for on-chain AI agents. Registry, transaction tracing, OpenTelemetry reasoning logs, rule-based anomaly detection and Telegram alerts — in one place.
Existing AI observability stops at the LLM call. Solana explorers stop at the transaction. Neither knows why an agent made a trade — and by the time something breaks, funds are already gone.
Drop initAgentScope()
into your agent and every reasoning span, on-chain transaction, and
rule violation is captured, correlated, and streamed to your dashboard.
Register any Solana wallet as a monitored agent. Per-agent ingest tokens, alert thresholds, framework tags. Cascade-safe deletion.
Hono · Privy · RLSYellowstone WebSocket ingest. Jupiter v6 swaps & Kamino Lend actions parsed to structured records — slippage, route, SOL delta, fee.
Helius · DrizzleOTLP/HTTP receiver ingests spans from your agent SDK. Parent-child trees, attributes, status, auto-correlated to the tx signature.
OpenTelemetryFive battle-tested rules: slippage spike, gas spike, error rate, drawdown, stale agent. Per-agent thresholds with warning→critical escalation.
5 rules · dedupeStructured multi-line messages humanised per rule type. Bot delivery out of the box; threshold overrides per agent; dedupe keys prevent noise.
Telegram Bot APIServer-Sent Events stream pushes tx.new and alert.new into the dashboard. No polling, no WebSocket complexity — just a flat EventSource.
SSE · EventSourceNo sidecar, no OTel Collector, no config. The SDK initialises a global NodeSDK and ships spans directly over OTLP/HTTP to your AgentScope deployment. Auth is a single resource attribute.
import { initAgentScope, traced } from '@agentscopehq/agent-kit-sdk';
initAgentScope(({
apiUrl: process.env.AGENTSCOPE_API_URL!,
agentToken: process.env.AGENTSCOPE_AGENT_TOKEN!,
});
// Wrap any async action — nested traced() calls auto-parent.
const sig = await traced('swap', () => kit.trade(mint, amount, 'buy'), {
'solana.mint': mint,
'trade.amount_sol': amount,
'solana.tx.signature': sig, // correlates span ↔ tx
}); Click a transaction → see the reasoning tree that produced it. Watch the PnL curve react in real time. Get alerted before the drawdown turns into a postmortem.
Open source. MIT. Runs on Railway + Vercel + Supabase. Deploy your own instance in minutes — or try the hosted demo.