Skip to content

getContractAddress

Retrieves the contract address generated by the CREATE or CREATE2 opcode – invoked after deploying a contract to the network.

Import

import { getContractAddress } from 'viem'

Usage

import { getContractAddress } from 'viem'
 
getContractAddress({ 
  from: '0xc961145a54C96E3aE9bAA048c4F4D6b04C13916b',
  nonce: 69420n
})
// '0xDf2e056f7062790dF95A472f691670717Ae7b1B6'

Returns

Address

The contract address.

Parameters

from (optional)

The address the contract was deployed from.

getContractAddress({
  from: '0xc961145a54C96E3aE9bAA048c4F4D6b04C13916b', 
  nonce: 69420n
})

nonce (optional)

The nonce of the transaction which deployed the contract.

getContractAddress({
  from: '0xc961145a54C96E3aE9bAA048c4F4D6b04C13916b',
  nonce: 69420n
})

opcode (optional)

  • Type: "CREATE" | "CREATE2"
  • Default: "CREATE"

The opcode to invoke the contract deployment. Defaults to "CREATE".

Learn more about CREATE2.

getContractAddress({
  bytecode: '0x608060405260405161083e38038061083e833981016040819052610...',
  from: '0xc961145a54C96E3aE9bAA048c4F4D6b04C13916b',
  opcode: 'CREATE2', 
  salt: toBytes('wagmi'),
})

bytecode (optional)

  • Type: ByteArray | Hex
  • Only applicable for opcode: 'CREATE2' deployments

The to-be-deployed contract’s bytecode

getContractAddress({
  bytecode: '0x608060405260405161083e38038061083e833981016040819052610...', 
  from: '0xc961145a54C96E3aE9bAA048c4F4D6b04C13916b',
  opcode: 'CREATE2',
  salt: toBytes('wagmi'),
})

bytecodeHash (optional)

  • Type: ByteArray | Hex
  • Only applicable for opcode: 'CREATE2' deployments

A hash of the to-be-deployed contract’s bytecode

getContractAddress({
  bytecodeHash: '0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54', 
  from: '0xc961145a54C96E3aE9bAA048c4F4D6b04C13916b',
  opcode: 'CREATE2',
  salt: toBytes('wagmi'),
})

salt (optional)

  • Type: ByteArray | Hex
  • Only applicable for opcode: 'CREATE2' deployments

An arbitrary value provided by the sender.

getContractAddress({
  bytecode: '0x608060405260405161083e38038061083e833981016040819052610...',
  from: '0xc961145a54C96E3aE9bAA048c4F4D6b04C13916b',
  opcode: 'CREATE2',
  salt: toBytes('wagmi'), 
})