01 / 04 Screenshot 2026-09-27 at 12.24.42-2.png
Screen 1 of 4 Screen 2 of 4 Screen 3 of 4 Screen 4 of 4

Solana Wallet Manager: wallets, ledger and safe transactions

Case study · Solana · FinTech · Laravel · 2026

A private administrative system manages Solana wallets and financial operations: encrypted wallet creation, SOL and SPL synchronization, an immutable ledger, transactional outbox, reservations and on-chain reconciliation. The deployed environment is locked to Devnet; Mainnet writes and financial submission are disabled by default.

Devnetworking environment with no Mainnet writes
3 stepsemail identity, OTP and TOTP
1 pipelinethe only outgoing-operation path
3 gatesindependent emergency controls

In short: this is not merely a “send coins” interface. It is a financial backend where an ambiguous RPC response causes neither a blind resend nor an early release of reserved funds.

Solana Wallet Manager architecture: wallets, ledger, outbox and reconciliation
System boundaries: key custody is separate from accounting, and a submission result is finalized only from blockchain evidence.

The problem: manage wallets without financial guesswork

A dashboard with a balance and a transfer button is not enough. A process can stop after sending transaction bytes but before receiving the RPC response. Retrying may create a double spend; releasing the reservation immediately may make the internal balance disagree with the chain.

The system therefore separates the user's economic intent, the technical submission attempt, the observed blockchain movement and the accounting entry. Each has its own lifecycle and history.

What the operator gets

Managed wallets

Devnet wallet creation, a dedicated Treasury role, public addresses, receive QR codes and SOL/SPL balances.

Network history

Scheduled balance and signature synchronization, parsed movements and network-correct Solana Explorer links.

Financial operations

Status, attempts, reservations, ledger records, reconciliation and recovery evidence in one read-only operational view.

Operational control

Health components, metrics, queue and outbox state, scheduler heartbeats, alerts and a manual-review queue.

The single outgoing transaction path

Production code has no second “shortcut” for SOL or SPL submission. Every economic intent uses the same pipeline, while architecture tests guard against new direct signing or sendTransaction call sites.

  1. Intent and idempotency

    An immutable FinancialOperation and matching outbox event are committed together. Reusing the same key with different economic data is a conflict.

    intent · fingerprint · outbox
  2. Reservation

    Funds are reserved atomically before signing. Available balance equals confirmed minus active reservations; all raw amounts remain integer strings.

    ledger · exact amount · lock
  3. Preparation and submission

    A TransactionAttempt receives a blockhash, is signed in memory and crosses the network boundary once. Signed bytes and private keys are not persisted.

    prepare · sign · submit once
  4. Reconciliation

    A background process verifies the signature and parses source, destination, asset, mint and raw amount. Only matching confirmed evidence closes the reservation.

    reconciliation · chain evidence
  5. Settlement or review

    Confirmation settles exactly once. Conflicting provider evidence, mismatches or an unknown result keep the reservation intact and raise an incident.

    settle once · manual review

Handling a timeout after submission

Definitely not submitted

A local pre-submission error or definite preflight rejection terminates the attempt and follows the explicit release policy.

Submitted

The public signature is stored, the operation remains reserved, and the system waits for the required commitment.

Unknown result

EOF, reset or timeout after the submission boundary becomes unknown. The system searches for the original transaction and never resends it automatically.

Mismatched evidence

A different amount, destination, mint or unexpected Treasury outgoing creates an incident rather than an automatic accounting correction.

Ledger, chain history and audit are different records

The ledger explains the internal financial balance. A blockchain movement records what was observed on Solana. The audit log records an actor's action. Reconciliation connects an expected operation to chain evidence.

This separation makes queue redelivery, repeated signature reads and observation from both managed sides safe without creating a second credit or settlement.

Access and key custody

  • Passwordless administrative access. A known email identity is followed by a short-lived email OTP and authenticator TOTP.
  • Encrypted secrets. Private material uses Laravel encryption at rest and is decrypted only in backend memory for signing.
  • Private infrastructure. MySQL and Redis expose no host ports and remain on the internal Docker network.
  • No financial-state editor. Operators may add append-only notes and trigger policy-bound analysis, but cannot force-confirm, rewrite an amount or delete ledger history.

Observability without automated “money repair”

The system monitors RPC, queues, outbox, reconciliation, recovery and scheduler heartbeats. Metrics allow only bounded low-cardinality labels and exclude wallet addresses, signatures, operation UUIDs, RPC URLs and arbitrary provider text.

Acknowledging or resolving an alert never changes financial state. Monitoring reports operational evidence; ledger and reconciliation rules retain authority over settlement and release.

Technology and operations

BackendLaravel 13 · PHP 8.4 · server-rendered UI
BlockchainSolana JSON-RPC · SOL · SPL · Node bridge
DataMySQL 8.4 · Redis 7.4 · immutable ledger
Background workQueue worker · Scheduler · Outbox · Reconciliation
InfrastructureDocker Compose · Nginx · Caddy · private networks

Explicit limits of the current release

The deployment is locked to Solana Devnet. Three independent feature gates disable new financial operations, low-level submission and Mainnet writes. The MMCP mint is empty; token creation and every Mainnet write are outside this release.

Historical reconciliation is explicitly marked incomplete because the current scanner is limited to the latest 25 signatures per address or token account. The UI exposes this limit instead of presenting a partial scan as complete history.

Result

The result is an isolated Wallet Manager where wallet custody, network observation and financial execution have separate responsibilities. Its defining behavior appears under uncertainty: it does not resend blindly and does not release funds without sufficient blockchain evidence.

Devnet provides a controlled verification environment, health and audit tools give operators a clear system view, and a separate Mainnet-readiness procedure prevents production writes from being enabled through a casual configuration change.

Solana Wallet Manager architecture on GitHub →

Solana · Laravel 13 · PHP 8.4 · MySQL · Redis · Ledger · Outbox · Reconciliation · TOTP · Docker