deploy
Deploy AVS smart contracts
Usage
othentic-cli network deploy [options]
Options
--l1-chain required
string
The name of the L1 chain where the AVS contracts will be deployed.
--l2-chain required
string
Comma-separated list of L2 chain names for deployment (e.g., base-sepolia,amoy
).
--name required
string
The name of the AVS (e.g., "my-avs").
--rewards-token optional
eth or 0xaddress
Defines the token used to reward Operators. Values can be eth
or the address of an ERC-20 token.
--l2-rewards optional
flag
Distribute rewards on L2 instead of L1. If not specified, rewards will be distributed on L1 by default.
Note: When specifying this flag for an AVS which has multiple L2 deployments, each deployment manages its own accounting and reward flows separately.
--l1-initial-deposit required
string (in wei)
Initial LayerZero fee deposit on the L1 network (e.g., 1000000000000000000
for 1 ETH).
--l2-initial-deposit required
string (in wei)
Initial LayerZero fee deposit on the L2 network.
Note: In the case of Multichain deployment, the amount passed to the `--l2-initial-deposit` flag will be deposited separately to all L2 chains.
--avs-governance-multisig-owner required
0x address
The address of the AVS Governance Multisig owner. If not specified, the deployer address is set as the default owner.
--browser-sign optional
flag
Allows signing using wallets like MetaMask, SAFE, or other browser-based smart accounts. Ideal for multisig operations and smart contract wallets, especially when users prefer not to expose private keys directly in the CLI.
--contracts-version optional
string
Git commit, tag, or branch of the contracts repository to use.
--keystore optional
file path
Path to the keystore file (for non-interactive use).
--keystore-password optional
file path
Path to the file containing the password for the keystore.
--silent, --s, --no-prompt optional
flag
Run in non-interactive mode using .env
and provided arguments.
Othentic CLI uses .env
files for configuration. For the deployment, you need following variables in your .env file:
PRIVATE_KEY_DEPLOYER=...
L1_CHAIN=holesky # Holesky
L2_CHAIN=amoy # Polygon Amoy
The private key should be a 64-character hex string without the "0x" prefix.
Specify
L2_CHAIN
andL1_CHAIN
If both
--l1-chain (command)
andL1_CHAIN (.env)
are set, the command flag will override the.env
value.If neither is provided, the default values of
holesky
(oramoy
as a single L2) are applied.
You can use
holesky-l2
ormainnet-l2
as L2 chains if you want to deploy both L1 and L2 contracts on the same chain.For multichain deployment, specify network names separated by commas.
-h, --help optional
flag
Show help information for this command.
Last updated