Web3 & Infrastructure

Landfall: Solana Transaction Observability

The Challenge

When a Solana transaction fails to land, block explorers return 'Transaction not found', leaving developers blind to whether it expired, dropped at the RPC, or never left the wallet.

The Result

Engineered a distributed observability engine with a Rust backend, PostgreSQL event store, TypeScript SDK, and React dashboard that isolates transaction failure points across five distinct lifecycle states.

The Diagnosis Problem: Beyond “Not Found”

When a user approves a transaction and the balance doesn’t update, the first instinct is to paste the signature into a block explorer. Too often, the explorer returns a single, unhelpful response: Transaction not found.

In distributed systems, the absence of an on-chain record is not a diagnosis. A missing transaction can stem from entirely different failure points:

  • The wallet signed the payload, but the network request dropped before reaching the RPC.
  • The RPC node accepted the packet, but the transaction expired before a leader scheduled it in a block.
  • The transaction landed on a minor fork that was abandoned during consensus.
  • The application’s WebSocket subscription missed the confirmation event.
  • The observer simply lacks sufficient evidence to determine state.

Standard block explorers only index what successfully arrives inside a confirmed slot. If something breaks earlier in the pipeline, the explorer has nothing to show. Landfall was built to eliminate this blind spot by turning Solana transaction debugging from guesswork into an evidence-based timeline.

Landfall Transaction Lifecycle Dashboard The Landfall dashboard visualizing a transaction moving through distinct lifecycle stages with verified evidence.

The Architecture: Evidence Over Assumptions

Instead of collapsing transaction status into a binary “success” or “failure”, Landfall treats every step of a transaction’s journey as an immutable lifecycle event. The system continuously aggregates evidence across five states: signed, submitted, observed on-chain, executed, or missing evidence.

1. High-Throughput Ingestion in Rust

The core backend is built in Rust using Axum and SQLx. It ingests telemetry events from client applications, deduplicates incoming payloads, and monitors RPC status updates. Rust was chosen specifically for predictable sub-millisecond latencies under burst load, avoiding garbage collection pauses during network spikes.

2. Immutable Event Storage & Projections

Every piece of telemetry—client timestamps, RPC submission receipts, slot confirmations, logs, and compute unit usage—is stored as an immutable event record in PostgreSQL. Read-optimized projections maintain the current lifecycle state in real time, allowing the dashboard to query transaction health in constant time.

3. Client-Side TypeScript SDK

The lightweight TypeScript SDK hooks directly into client-side transaction flows. It captures the moment of signing and tracks dispatch before the packet ever leaves the browser, providing the first critical link in the observability chain.

4. Security & Production Engineering

The project was designed with production operational requirements from day one:

  • Token-Scoped Project Access: Multi-tenant isolation ensuring teams only access their own telemetry pipelines.
  • Private Route Encryption: Client credentials and private RPC endpoints remain protected from exposure in frontend bundles.
  • Full Operational Tooling: Packaged with Docker Compose, instrumented with Prometheus metrics for throughput monitoring, and documented with backup and disaster recovery runbooks.

What This Proves for Engineering Teams

Debugging asynchronous, high-throughput blockchains requires visibility into the gray area between the client application and the validator cluster. Landfall delivers:

  • Root-Cause Isolation: Pinpoint whether dropped transactions are caused by RPC node drops, blockhash expiration, priority fee miscalculations, or client network issues within seconds.
  • Production-Grade Rust & TypeScript: Demonstrates a clean separation of concerns between high-performance systems programming on the backend and an intuitive developer UI on the frontend.
  • Open and Verifiable: Built not as an abstract mockup, but as a fully functioning system with a live public sandbox and an inspectable open-source codebase.

Want results like these?

Let's discuss your project.

Got a project idea? →