Practical overview
When it fits
Use Multisol before submitting a Solidity contract’s source through Etherscan’s multi-part verification flow, after checking that the project’s imports and file layout meet its constraints.
Who it is for
- Solidity developers preparing contract source files for Etherscan verification.
- Teams working with Hardhat, Truffle, or vanilla Solidity projects that need a source bundle for the multi-part submission flow.
Documented uses
- Collect a target contract and its dependencies into a verification-ready directory.
- Refactor imports so they point to dependencies at their new locations.
- Prepare source files for Etherscan’s Solidity multi-part submission.
Requirements & limits
The repository documents Homebrew installation for macOS, Cargo installation when Cargo is installed, and precompiled binaries for macOS, Linux, and Windows. It is licensed under MIT.
- Multisol uses Etherscan’s multi-part compiler flow; the README distinguishes this from Solt’s standard JSON input approach.
- Named symbol imports, duplicate contract filenames, non-
.solcontract files, pnpm, and Yarn Plug’n’Play are stated limitations. - The README describes framework compatibility but does not demonstrate an automated Hardhat or Truffle integration.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Prepare a Solidity contract bundle for Etherscan
Generate a directory of a target contract and dependencies for Etherscan’s multi-part source submission.
Before you start
- A Solidity project and the path to its target contract.
- Multisol installed; installation is documented through Homebrew on macOS, Cargo, or precompiled binaries for macOS, Linux, and Windows.
Steps
From the project directory, run
multisolfollowed by the target contract path.Use the generated directory in the contract’s Etherscan page: select “Verify & Publish,” choose “Solidity (Multi-Part files),” upload the folder, and submit.
Expected outcome
A source directory with the target contract, its dependencies, preserved relative paths, and imports refactored to their new locations, ready for the Etherscan submission flow.
Guide limitations
- Named symbol imports are unsupported.
- It does not work when contract files share a name or when contract files do not have the
.solextension. - It is incompatible with pnpm and Yarn Plug’n’Play.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 13 October 2026
- Original website title
- PaulRBerg/multisol · Official homepage title · retained in its source language
Related options
Solt — The README says Solt inspired Multisol and distinguishes it by using the Solidity standard JSON input format rather than Etherscan’s multi-part compilation option.

