OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Multisol

Multisol is a Rust command-line utility that gathers a target Solidity contract and its dependencies into a directory, preserves their relative paths, and updates imports to the relocated files for Etherscan’s multi-part verification flow.

Independent OpenViST project profile, based on linked sources.

Multisol — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

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.
Before you choose

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-.sol contract 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.

Source-based practical guide

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

  1. From the project directory, run multisol followed by the target contract path.

  2. 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 .sol extension.
  • It is incompatible with pnpm and Yarn Plug’n’Play.
Evidence and transparency

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.