OpenViSTAI · Agents · Blockchain · Crypto
Menu
Smart Contracts

Contracts — immutable

Contracts — immutable is a Solidity library of curated smart-contract implementations and token presets for building on Immutable X and Immutable zkEVM.

Independent OpenViST project profile, based on linked sources.

Contracts — immutable — OpenViST project profile in Smart Contracts.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when a project targets Immutable X or Immutable zkEVM and can build on the library’s Solidity implementations or exported preset ABIs.

Who it is for

  • Solidity developers creating token contracts for Immutable ecosystems.
  • Teams building marketplace, bridging, AMM or smart-contract-wallet functionality.
  • Developers building TypeScript clients to interact with deployed preset contracts.

Documented uses

  • Extend a curated ERC-721, ERC-1155 or ERC-20 token preset.
  • Use library implementations for bridging, marketplaces, AMMs or smart contract wallets.
  • Import TypeScript ABIs with viem or wagmi to create clients for deployed presets.
Before you choose

Requirements & limits

  • The library explicitly targets Immutable X and Immutable zkEVM.
  • The package is installed as @imtbl/contracts with Yarn; Solidity imports use paths under @imtbl/contracts/contracts/.
  • Solidity consumers must account for external dependencies such as OpenZeppelin and, for relevant contracts, Axelar or Immutable Seaport forks.
  • The README distinguishes the 3.0.0 breaking changes from the 2.x package surface and points to migration guidance.

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

Install the package and import an ERC-721 preset

Add the package and reference ImmutableERC721 in a Solidity contract.

Before you start

  • Yarn
  • A Solidity toolchain using a compiler version supported by the example, 0.8.19–0.8.27
  • Dependencies required by the selected Solidity sources, supplied through your toolchain

Steps

  1. Install the package with yarn add @imtbl/contracts.

  2. Import @imtbl/contracts/contracts/token/erc721/preset/ImmutableERC721.sol in a Solidity file.

  3. Define a contract that inherits from ImmutableERC721 and provide the constructor arguments shown in the README example.

Expected outcome

A Solidity contract source that extends the ImmutableERC721 preset.

Guide limitations

  • The package does not install full OpenZeppelin or Seaport transitively; Solidity source dependencies must be provided by the toolchain.
  • The example covers importing and inheritance, not a complete deployment process.
Source-based practical guide

Prepare a Forge checkout with repository remappings

Set up the repository’s documented Forge dependencies and remappings.

Before you start

  • A cloned repository
  • Forge
  • Git submodule support

Steps

  1. Run forge install after cloning the repository.

  2. Use the remappings in remappings.txt.

Expected outcome

The documented Forge dependency and remapping setup for working with the repository.

Guide limitations

  • This setup instruction does not itself build, test or deploy contracts.
  • The package does not install Seaport or full OpenZeppelin transitively.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
17 October 2026
Original website title
immutable/contracts · Official homepage title · retained in its source language