Join our community of builders on

Telegram!Telegram

Ecosystem Adapters

OpenZeppelin Ecosystem Adapters are a set of modular, chain-specific integration packages that let applications interact with any supported blockchain through a single, unified interface. Built on 13 composable capability interfaces organized in 3 tiers, each adapter encapsulates contract loading, type mapping, transaction execution, wallet connection, and network configuration in one place, while keeping consuming applications completely chain-agnostic.

Source code: The adapters are open-source. Browse the implementation, open issues, and contribute at github.com/OpenZeppelin/openzeppelin-adapters.

Why Adapters?

Building cross-chain tooling traditionally forces developers into one of two traps: a monolithic abstraction that leaks chain details, or per-chain forks that drift apart over time. Adapters solve this with a capability-based decomposition. Each chain implements only the interfaces it supports, and consuming applications pull in only what they need.

Key Design Principles

  • Pay for what you use. Tier 1 capabilities are stateless and never pull in wallet SDKs or RPC clients. Import addressing and you get only address validation; nothing else is bundled.
  • Profiles simplify consumption. Five pre-composed profiles (Declarative, Viewer, Transactor, Composer, Operator) match common application archetypes so you don't have to assemble capabilities manually.
  • Adapters own their chains. All chain-specific logic (ABI parsing, Soroban type mapping, ZK proof orchestration) stays inside the adapter package. The consuming application never touches it.
  • Runtime lifecycle is explicit. Runtimes are immutable and network-scoped. Switching networks means disposing the old runtime and creating a new one. There are no hidden state mutations.

Packages

PackageDescriptionStatus
@openzeppelin/adapter-evmEthereum, Polygon, and EVM-compatible chainsProduction
@openzeppelin/adapter-stellarStellar / SorobanProduction
@openzeppelin/adapter-polkadotPolkadot Hub, Moonbeam (EVM path)Production
@openzeppelin/adapter-midnightMidnight Network (ZK artifacts, Lace wallet)Production
@openzeppelin/adapter-solanaSolana (scaffolding)In Progress
@openzeppelin/adapter-evm-coreShared EVM capability implementations (internal)Internal
@openzeppelin/adapter-runtime-utilsProfile composition and lifecycle utilities (internal)Internal
@openzeppelin/adapters-viteShared Vite/Vitest build integrationUtility

Who Uses Adapters?

Adapters are consumed by several OpenZeppelin products:

Any TypeScript application that needs chain-agnostic blockchain interaction can use adapters directly.