One custom flow, full control?
Write spans yourself when the flow is small and you own the maintenance.
hashspan records an AI agent's on-chain transactions as OpenTelemetry spans inside the agent's own trace. Other tools do different jobs, and many teams use several together. This page compares approaches, not products.
| Capability | hashspan | Manual OTel spans | RPC-level instrumentation | Contract / address monitoring platforms | LLM / agent observability platforms |
|---|---|---|---|---|---|
| Lives inside the agent's trace | Yes | Yes | Varies1 | No | Varies2 |
| Transaction lifecycle (send → confirm) | Yes | Varies3 | No | Varies4 | No |
| Real fee, incl. the L1 data fee | Yes | Varies3 | No | Varies4 | No |
| Decoded revert reasons | Yes5 | Varies3 | No | Varies4 | No |
| Replaced transactions handled | Yes | Varies3 | No | Varies4 | No |
| Agent identity on transaction spans | Yes | Varies3 | No | No | No2 |
| Uses your existing backend (no new dashboard) | Yes | Yes | Yes | No | Varies6 |
| Open source | Yes | Yes | Varies4 | Varies4 | Varies4 |
| Alerting and contract monitoring | No7 | No | No | Yes | No |
| LLM prompt and eval tracing | No7 | Varies3 | No | No | Yes |
Write spans yourself when the flow is small and you own the maintenance.
Latency and errors of individual JSON-RPC calls.
Alerts, security and simulation around contracts and addresses.
Prompts, tool calls, evals and token cost.
The chain outcome inside the agent's own trace, in your existing backend.
A typical setup keeps each tool on its own job, joined by the trace and the transaction hash.
Spotted something inaccurate? Open a discussion.