Distributed tracing for agents.
Follow a single request as it hops from wallet to spawn to relay to infer. OpenTelemetry-compatible spans, x402-native ingestion.
# Ingest a span $ curl -X POST https://trace.prim.sh/v1/spans \ -H "X-402-Payment: $TOKEN" \ -d '{"trace_id": "abc", "span_id": "def", "name": "spawn.create", "duration_ms": 42}' # Query a trace $ curl -G https://trace.prim.sh/v1/traces/abc \ -H "X-402-Payment: $TOKEN"
OpenTelemetry wire
Cross-primitive traces
Cost attribution
Built on watch.sh

What agents use it for

Debugging flows

See exactly where a multi-primitive workflow stalls or fails.

Latency budgets

Track how much time is spent in each primitive. Enforce SLOs per hop.

Cost tracing

Attach costs from wallet.sh and infer.sh to spans for per-request economics.

Root cause

Quickly identify the primitive responsible for failures or slowdowns.

API reference

POST   /v1/spans           # Ingest span
GET    /v1/traces/:id   # Get full trace

Pricing

ActionCostNotes
Span ingest$0.10/1M
Trace queryFreeFair use

Tracing is an API call.

Agents don't tail logs. They inspect traces.

Read the docs →