Recommended footprint
For anyone looking to reliably serve historical transactional data, it is recommended to run multiple Archive Servers, fed by multiple full nodes running the Archive Writer process. Suggested configuration:- 2 Archive Servers running MongoDB + monad-indexer
- 2 Archive Writer nodes, aka full node + monad-archiver
- Many full nodes serving RPC requests, connected to both Archive Servers for historical transactional data
Recommended Archive Server host specs
- CPU: 16 cores
- RAM: minimum 64GB; prefer >512GB for best performance
- Storage: minimum recommended 16TB; preferred 32TB+
- NVMe SSD
- RAID 10
- Minimum 10K IOPS sustained
- Network: >1GbE, scale higher as needed when serving more RPC servers
Fresh installation
These instructions assume an existing full node (for Archive Writer) and a new host (for Archive Server).On your Archive Server:
-
Add the following section to
/home/monad/.env -
Run mongodb. Instructions show how to run in Docker, but operators can run however they choose.
-
Start the db
On your Archive Writer host:
-
Add the following section to
/home/monad/.env -
Backfilling:
As of v0.12.3,
--start-blockis no longer supported as a daemon argument. Instead, use theset-start-blocksubcommand to set the starting block marker imperatively before starting the daemon. This prevents accidental progress loss from systemd overrides. -
Once
monad-archiverhas caught up to the chain tip you will see:INFO: Nothing to process -
This means backfilling is done and you should
- Comment out
BACKFILLsection in your.envand uncommentNormal Operation - Restart:
systemctl restart monad-archiver - Verify status and logs as above
- Comment out
On your ArchiveDB host
-
Start
monad-indexer
[Optional] Set up monad-archive-checker
Typically only 1 checker is run per organization, but more can be run if desired
-
Add the following systemd override to
monad-archive-checker -
Reload and Restart

