Platform

One destination. SDKs, OTel, webhooks.

Get an API key

Ingest from anywhere, trace across every hop, stream events out to wherever you need them — without locking in to a proprietary agent.

Three ways in

Three SDKs, one endpoint.

Publish from Python, subscribe from TypeScript, or drop in as an OTel exporter — whichever your stack already speaks.

Python SDK
from axonpush import AxonPush
from axonpush.integrations.langchain import (
    AxonPushCallbackHandler,
)

client = AxonPush(api_key="ak_...")
llm.invoke(
    "Plan a trip",
    callbacks=[AxonPushCallbackHandler(client)],
)
TypeScript SDK
import { AxonPush } from "@axonpush/sdk";
import { axonPushMiddleware }
  from "@axonpush/sdk/vercel-ai";

const client = new AxonPush({ apiKey: "ak_..." });
const model = wrapLanguageModel({
  model: openai("gpt-4o"),
  middleware: axonPushMiddleware({ client }),
});
OTel collector
export OTEL_EXPORTER_OTLP_ENDPOINT=\
  https://api.axonpush.xyz
export OTEL_EXPORTER_OTLP_HEADERS=\
  "authorization=Bearer ak_..."

# OTLP/HTTP + JSON normalizer, same endpoint.
# every OTel span now lands in axonpush.

Already on Sentry? Point your DSN at us.

We accept the Sentry envelope unmodified — error, transaction, and session payloads — and normalize them to OTLP + agent events. Zero code change, one config line.

Ingest. Environments. Trace. Stream.

Four primitives. Every agent framework and every backend language maps to them.

Ingest

Any agent framework, any backend language, any OpenTelemetry collector — routed to the same destination. Sentry DSNs work unmodified too.

  • Python + TypeScript SDKs (Go + Rust on the way)
  • OTLP/HTTP + OTLP/JSON normalizer on api.axonpush.xyz
  • LangChain, OpenAI Agents, CrewAI, Anthropic, Pino, Winston, loguru out of the box
  • Async queue-based persistence — ingest stays fast under bursty agent traffic

Environments

Scope every token, channel, and event to dev, staging, or prod. Promote an ephemeral sandbox when it's ready; tear it down when it isn't.

  • Per-environment public tokens — rotate without downtime
  • Production badge on the dashboard trigger — no accidental cross-env writes
  • Ephemeral envs for preview branches, default env per app

Trace

Follow a single request across agents, tool calls, and service boundaries — correlated from OTel spans and agent events.

  • Waterfall viewer with nested span collapse
  • Cross-source correlation (agent ↔ backend ↔ OTel)
  • Lucene search by trace ID, agent, tool, duration, or status

Stream

Push events downstream as they happen. No polling, no batch lag — useful for live UIs, alerting, and pipeline fan-out.

  • Server-Sent Events for sub-second client push
  • Signed outbound webhooks filtered by channel/agent/type
  • OTLP export to Datadog, Tempo, Honeycomb, your own collector

Point your collector at api.axonpush.xyz.

If you already ship OTel, the change is one config line. If you don't, run `npx skills add axonpush/skills` and your AI coding agent (Claude Code, Cursor, Codex, +47 others) wires the SDK into your project.