Skip to content
LogoLogo

Consume in your app

The deployments/ folder is plain JSON. Your frontend, backend, or scripts can read it directly — no deployoor at runtime.

For TypeScript apps, the recommended path is @wagmi/cli with the @deployoor/wagmi plugin.

wagmi + @deployoor/wagmi

pnpm add -D @deployoor/wagmi @wagmi/cli
// wagmi.config.ts
import { defineConfig } from "@wagmi/cli";
import { actions } from "@wagmi/cli/plugins";
import { deployments } from "@deployoor/wagmi";
 
export default defineConfig({
  out: "src/generated.ts",
  plugins: [
    deployments({ path: "./deployments" }),
    actions(), // or react()
  ],
});
wagmi generate

The same deployment name across chains becomes one entry with an address map keyed by chainId. Mismatched ABIs for the same name fail at generation time.

Raw viem

Read the JSON and construct a viem contract yourself:

import tokenDeployment from "./deployments/11155111-sepolia/Token.json";
import { getContract } from "viem";
 
const token = getContract({
  address: tokenDeployment.address,
  abi: tokenDeployment.abi,
  client: publicClient,
});

Separate deployments package

Keep deployments/ in its own package, separate from your contracts repo, as a single source of truth importable anywhere — backend, frontend, CI, even the browser (read-only).