Skip to content
This repository was archived by the owner on Apr 6, 2026. It is now read-only.
Closed
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 27 additions & 3 deletions pages/operators/chain-operators/tools/op-deployer.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ The base use case for `op-deployer` is deploying new OP Chains. This process is
To get started with `op-deployer`, create an intent file that defines your desired chain configuration. Use the built-in `op-deployer` utility to generate this file:

<Callout type="info">
op-deployer uses a declarative intent file to determine how a new chain should be configured.
op-deployer uses a declarative intent file to determine how a new chain should be configured.
Then, it runs through a deployment pipeline to actually deploy the chain.
</Callout>

Expand Down Expand Up @@ -67,7 +67,7 @@ l2ContractsLocator = "tag://op-contracts/v1.7.0-beta.1+l2-contracts" # L2 smart
[[chains]]
# Your chain's ID, encoded as a 32-byte hex string
id = "0x00000000000000000000000000000000000000000000000000000a25406f3e60"
# Update the fee recipient contract
# Update the fee recipient contract
baseFeeVaultRecipient = "0x100f829718B5Be38013CC7b29c5c62a08D00f1ff"
l1FeeVaultRecipient = "0xbAEaf33e883068937aB4a50871f2FD52e241013A"
sequencerFeeVaultRecipient = "0xd0D5D18F0ebb07B7d728b14AAE014eedA814d6BD"
Expand All @@ -85,6 +85,30 @@ l2ContractsLocator = "tag://op-contracts/v1.7.0-beta.1+l2-contracts" # L2 smart
proposer = "0x41b3B204099771aDf857F826015703A1030b6675"
challenger = "0x7B51A480dAeE699CA3a4F68F9AAA434452112eF7"

#### Contract Locator Schemes

The `l1ContractsLocator` and `l2ContractsLocator` fields support several schemes for specifying where to find the contract implementations:

* `tag://` - References a specific tagged release of the contracts (e.g., `tag://op-contracts/v1.8.0-rc.4`)
* `file://` - Points to a local Forge build artifacts directory. Must point to the `forge-artifacts` directory containing the compiled contract artifacts
* `http://` or `https://` - Points to a target directory containing contract artifacts. The URL should directly reference the directory containing the `forge-artifacts` directory

<Callout type="warning">
When using any scheme other than `tag://`, you must set `configType` to either `custom` or `standard-overrides` in your intent file.
</Callout>

For example:

```toml
Comment thread
krofax marked this conversation as resolved.
# When using tag:// scheme
configType = "standard-overrides"
l1ContractsLocator = "tag://op-contracts/v1.8.0-rc.4"
l2ContractsLocator = "tag://op-contracts/v1.7.0-beta.1+l2-contracts"

# When using other schemes (file://, http://, https://)
configType = "custom" # or "standard-overrides"
l1ContractsLocator = "file:///path/to/local/op-contracts/v1.8.0-rc.4/forge-artifacts"
l2ContractsLocator = "https://example.com/op-contracts/v1.7.0-beta.1+l2-contracts.tar.gz"
```

By default, `op-deployer` will fill in all other configuration variables with those that match the [standard configuration](https://specs.optimism.io/protocol/configurability.html). You can override these default settings by adding them to your intent file using the table below:
Expand Down Expand Up @@ -139,7 +163,7 @@ Now that you have your `genesis.json` and `rollup.json` you can spin up a node o

## Bootstrap usage

The bootstrap commands are specialized tools primarily used for initializing a new superchain on an L1 network that hasn't previously hosted one.
The bootstrap commands are specialized tools primarily used for initializing a new superchain on an L1 network that hasn't previously hosted one.

### Available commands

Expand Down