Quickstart
This guide gets you from zero to your first trace, risk score, and cost attribution. You have two ways to start — use Splyntra Cloud (managed, nothing to run) or self-host the source-available core locally. Both speak the same OTLP API.
1. Get an endpoint and API key
- Splyntra Cloud
- Self-host
- Sign up at app.splyntra.com.
- Create a project (or use the default one).
- Copy your ingest key from Settings → API keys, or let the Connect an agent wizard mint one for you.
Your ingest endpoint is https://ingest.splyntra.com.
Run the source-available core locally:
git clone https://github.com/splyntra/splyntra
cd splyntra
docker compose up
The collector listens on http://localhost:4318 (OTLP/HTTP) and the dashboard on
http://localhost:3000. In development, the fallback key splyntra_dev_key is
accepted (it is rejected in production). See Self-hosting.
API keys are stored only as SHA-256 hashes on the server — the raw key is shown once at creation. Keep it secret and pass it through an environment variable rather than committing it.
2. Instrument your agent
Splyntra is OpenTelemetry-native, so instrumentation is one import plus one init call.
Set instrument to the frameworks and providers you use, and every step, model call,
and tool invocation is captured automatically.
- Python
- TypeScript
- Raw OpenTelemetry
pip install "splyntra[openai]"
import os
from splyntra import Splyntra
Splyntra(
api_key=os.environ["SPLYNTRA_API_KEY"],
project="support-agent",
endpoint=os.environ.get("SPLYNTRA_ENDPOINT", "https://ingest.splyntra.com"),
instrument=("openai",), # add "langgraph", "crewai", "anthropic", …
)
# Run your agent exactly as before — spans are captured automatically.
from openai import OpenAI
client = OpenAI()
client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "What's our refund policy?"}],
)
npm install @splyntra/sdk
import { Splyntra } from "@splyntra/sdk";
import OpenAI from "openai";
new Splyntra({
apiKey: process.env.SPLYNTRA_API_KEY!,
project: "support-agent",
endpoint: process.env.SPLYNTRA_ENDPOINT ?? "https://ingest.splyntra.com",
instrument: ["openai"], // add "langgraph", "crewai", "anthropic", …
});
// Use the OpenAI SDK as usual — spans are captured automatically.
const client = new OpenAI();
await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "What's our refund policy?" }],
});
Already emitting OTel? Point your exporter at Splyntra's OTLP/HTTP endpoint — no SDK required:
export OTEL_EXPORTER_OTLP_ENDPOINT="https://ingest.splyntra.com"
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer ${SPLYNTRA_API_KEY}"
export OTEL_SERVICE_NAME="support-agent"
Splyntra reads the OpenTelemetry GenAI semantic conventions,
so gen_ai.* LLM spans, token counts, and model names are picked up automatically.
See Ingest & OTLP.
Using a framework like LangGraph, CrewAI, or the OpenAI Agents SDK? Just add its name
to instrument — see Framework integrations. Using a
provider like Grok, Gemini, Groq, or OpenRouter through an OpenAI-compatible endpoint?
See LLM providers.
3. See your first trace, risk score, and cost
Run your agent once, then open the dashboard:
- Traces — pick your latest run to see the full span tree with latency, tokens, and cost. See Traces.
- Security — each run gets a risk score; drill in to see which span triggered a secret, PII, or prompt-injection finding. See Security.
- Costs — the run's spend is attributed per model and rolled up into the project. See Costs.
A run summary looks like this:
{
"run_id": "run_5f3a…",
"project": "support-agent",
"duration_ms": 4210,
"cost_usd": 0.0132,
"risk_score": 12,
"findings": []
}
Next steps
- How it works — the architecture and data flow.
- Manual instrumentation — trace your own agent, tool, and LLM functions.
- Guardrails — block or redact risky calls inline with
guard. - Evaluation — score outputs and gate regressions in CI.