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 and L1_CHAIN

    • If both --l1-chain (command) and L1_CHAIN (.env) are set, the command flag will override the .env value.

    • If neither is provided, the default values of holesky (or amoy as a single L2) are applied.

  • You can use holesky-l2 or mainnet-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