Skip to main content
Items on this page refer to third-party projects or products that are not maintained by Optimism. They are provided for convenience; refer to each project’s own documentation as the source of truth.
This page is the canonical hub for the tools and SDKs that surround the OP Stack. Following the content guide, each listing links exactly one canonical documentation home — this page routes, it does not restate. What gets listed here (and what gets removed) is governed by the listing criteria.

Support Status Levels

The Matrix

Choose an SDK Surface

Three of the rows above are TypeScript SDK surfaces that are easy to confuse. The distinction:
  • Start with viem/op-stack. viem provides first-class OP Stack support in the core library: extend any viem client with publicActionsL2() (and friends) imported from viem/op-stack to get deposits, withdrawals, and L1 gas estimation. If a feature is available here, this is its production home.
  • Reach for @eth-optimism/viem when you need what viem does not have yet. The package’s stated goal is to upstream as much as possible into viem itself; until then it is the home of Superchain interop actions and other pre-production features. The interop tutorials and bridging tutorials on this site use it.
  • Use the Actions SDK for app-level building blocks, not chain plumbing. Where the two viem surfaces expose protocol operations, the Actions SDK offers wallet, lend, and swap namespaces for building end-user apps. It is a developer preview and not yet ready for production use.

Using wagmi With the OP Stack

If you build with React, you likely start from wagmi — and it works with OP Stack chains out of the box. OP Stack chains are standard EVM chains, and wagmi/chains ships their definitions (optimism, base, zora, and every other chain from viem/chains). Nothing OP-specific is required for reads, writes, or wallet connections. For OP Stack–specific operations — deposits, withdrawals, interop — use the fact that wagmi is a wrapper over viem:
  1. Get a viem client from wagmi with the useClient or useConnectorClient hooks, following wagmi’s own viem guide.
  2. Extend that client with the viem/op-stack actions and call them directly.
For Superchain interop specifically, the experimental @eth-optimism/wagmi package provides React hooks (such as useSendL2ToL2Message) over @eth-optimism/viem. Treat it like its underlying package: experimental.

Next Steps