← Back to Pulse
Monad logoOperationsMonadBlockchainWatch

Monad BFT Upstream Watch - Txpool, Statesync, and Service Plumbing Moving Fast

Recent merged and in-flight changes touch ledger-tail startup, wireauth defaults, statesync edge cases, transaction ingress, and RPC-adjacent behavior.

BitCtrl OpsProtocol & Node DeskMar 28, 20265 min read
Monad upstream development watch and node operations visual

Monad BFT Upstream Watch - Txpool, Statesync, and Service Plumbing Moving Fast

Overview

Written on March 28, 2026. Between March 25 and March 27, the category-labs/monad-bft repository landed a cluster of operator-relevant changes across service startup wiring, authenticated UDP defaults, statesync edge-case handling, txpool executor mechanics, and RPC tooling. None of this is a formal network upgrade notice by itself, but it is exactly the kind of upstream churn that can alter node behavior and performance once operators pick up a newer build. On the service and config side, PR #2916 merged on March 27 and adds an explicit config path for the monad-ledger-tail systemd service. The same day, PR #2906 lowered per-instance monad-wireauth defaults, with the PR noting that more than one wireauth instance is expected to run and that prior defaults were higher than necessary. For node operators, that points to continued iteration around service topology and authenticated-UDP rollout assumptions.

Statesync behavior also shifted. PR #2905, merged March 25, relaxes an assertion around db_status so a stale DoneSync message arriving before a reset RequestSync does not trip the same crash path. The PR says the edge case had not been observed in practice, but a relaxed assertion still changes failure behavior, so this belongs in pre-upgrade replay and recovery testing rather than being treated as invisible plumbing.

Context

The heaviest performance-sensitive activity is in the monad-eth-txpool-executor path. PRs #2882, #2884, #2885, and #2886 landed between March 25 and March 26 and move forwarded ingress buffering and pacing into a fair-queue executor, remove batching from the forwarder, and add tests. In PR notes, authors reported better anti-starvation under 40K TPS spam and throughput improving from roughly 11K toward a configured 16K tx/s path.

RPC-facing work is moving too. PR #2910 fixes an eth_call stats-tracking memory leak, while PRs #2892 and #2911 tighten OpenRPC CI and workflow permissions. Open PRs still cover direct-UDP forwarding, raptorcast transport, and EthCallHandler gas-limit config. For BitCtrl, that makes this a canary-first smoke-test window, not a fleet-wide blind bump.

What Landed Recently

  • PR #2916 adds an explicit config path for the monad-ledger-tail systemd service.
  • PR #2906 lowers per-instance monad-wireauth defaults for multi-instance deployment assumptions.
  • PR #2905 relaxes a statesync assertion around a stale DoneSync arriving before a reset RequestSync.
  • PRs #2882, #2884, #2885, and #2886 rework forwarded ingress fairness, batching, pacing, and test coverage in monad-eth-txpool-executor.
  • PR #2910 fixes an eth_call stats tracking memory leak in RPC.
  • PRs #2892 and #2911 rework OpenRPC documentation CI and workflow permissions.

What Still Needs Watching

  • Open PR #2900 proposes sending forwarded transactions over direct UDP in monad-state.
  • Open PR #2898 proposes direct UDP transport in monad-raptorcast.
  • Open PR #2926 proposes moving eth_call gas-limit config into EthCallHandler.
  • Additional open consensus and peer-scoring PRs suggest the networking and validation pipeline is still moving.

Operator Notes

  • Treat any upstream pickup as a canary candidate first, not an unreviewed fleet-wide bump.
  • Re-test systemd restart paths, especially if you run custom service wrappers around monad-ledger-tail.
  • Re-run authenticated-UDP and wireauth handshake tests if your topology uses multiple instances or custom limits.
  • Stress the txpool path with spam or fairness scenarios before trusting previous propagation assumptions.
  • Recheck RPC automation that leans on eth_call or doc-derived method expectations.

Sources

Key Takeaways
  • Several operator-relevant Monad BFT PRs merged between March 25 and March 27 across ledger-tail startup, wireauth defaults, statesync, txpool executor mechanics, and RPC tooling.
  • The biggest behavior risk sits in the txpool executor changes, which alter forwarding, batching, fairness, and pacing under load.
  • Statesync now handles one reset or stale DoneSync edge case more permissively, which may reduce crash risk but still changes assertion behavior.
  • More networking and RPC-adjacent work remains open as of March 28, so the upstream surface is still moving and should be tested before any bump.
operationsmonadwatchpublished-saturdayoperatorsvalidator-opsperformancechange-management