---
description: "A Swiss Army knife for interacting with Ethereum applications from the command line"
---

_Generated from `cast --help`; see [CLI reference versions](/reference/versions). Regenerate this page instead of editing it directly._

## cast

:::note[Generated CLI reference]
This reference is generated from the installed command's `--help` output. See [CLI reference versions](/reference/versions) for the exact binaries used.
:::

A Swiss Army knife for interacting with Ethereum applications from the command
line

:::terminal

```bash
$ cast --help
```

```txt
Usage: cast [OPTIONS] <COMMAND>

Commands:
  4byte                  Get the function signatures for the given selector from
                         [https://openchain.xyz](https://openchain.xyz) [aliases: 4, 4b]
  4byte-calldata         Decode ABI-encoded calldata using
                         [https://openchain.xyz](https://openchain.xyz) [aliases: 4c, 4bc]
  4byte-event            Get the event signature for a given topic 0 from
                         [https://openchain.xyz](https://openchain.xyz) [aliases: 4e, 4be,
                         topic0-event, t0e]
  abi-encode             ABI encode the given function argument, excluding the
                         selector [alias: ae]
  abi-encode-event       ABI encode an event and its arguments to generate
                         topics and data [alias: aee]
  access-list            Create an access list for a transaction [aliases: ac,
                         acl]
  address-zero           Prints the zero address [aliases: --address-zero, az]
  admin                  Fetch the EIP-1967 admin account [alias: adm]
  age                    Get the timestamp of a block [alias: a]
  artifact               Generate an artifact file, that can be used to deploy a
                         contract locally [alias: ar]
  b2e-payload            Convert Beacon payload to execution payload [alias:
                         b2e]
  balance                Get the balance of an account in wei [alias: b]
  base-fee               Get the basefee of a block [aliases: ba, fee, basefee]
  batch-mktx             Build and sign a batch transaction (Tempo) [alias: bm]
  batch-send             Sign and publish a batch transaction (Tempo) [alias:
                         bs]
  bind                   Generate a rust binding from a given ABI [alias: bi]
  block                  Get information about a block [alias: bl]
  block-number           Get the latest block number [alias: bn]
  call                   Perform a call on an account without publishing a
                         transaction [alias: c]
  calldata               ABI-encode a function with arguments [alias: cd]
  chain                  Get the symbolic name of the current chain
  chain-id               Get the Ethereum chain ID [aliases: ci, cid]
  channel-id             Compute a Tempo TIP-20 channel reserve channel ID
  classify               Classify a raw transaction as Tempo T5 payment/general
                         lane
  client                 Get the current client version [alias: cl]
  code                   Get the runtime bytecode of a contract [alias: co]
  codehash               Get the codehash for an account
  codesize               Get the runtime bytecode size of a contract [alias: cs]
  completions            Generate shell completions script [alias: com]
  compute-address        Compute the contract address from a given nonce and
                         deployer address [alias: ca]
  concat-hex             Concatenate hex strings [aliases: --concat-hex, ch]
  constructor-args       Display constructor arguments used for the contract
                         initialization [alias: cra]
  create2                Generate a deterministic contract address using CREATE2
                         [alias: c2]
  creation-code          Download a contract creation code from Etherscan and
                         RPC [alias: cc]
  decode-abi             Decode ABI-encoded input or output data [aliases:
                         abi-decode, --abi-decode, ad]
  decode-calldata        Decode ABI-encoded input data [aliases:
                         calldata-decode, --calldata-decode, cdd]
  decode-error           Decode custom error data [aliases: error-decode,
                         --error-decode, erd]
  decode-event           Decode event data [aliases: event-decode,
                         --event-decode, ed]
  decode-string          Decode ABI-encoded string [aliases: string-decode,
                         --string-decode, sd]
  decode-transaction     Decodes a raw signed EIP 2718 typed transaction
                         [aliases: dt, decode-tx]
  disassemble            Disassembles a hex-encoded bytecode into a
                         human-readable representation [alias: da]
  erc20-token            ERC20 token operations [alias: erc20]
  estimate               Estimate the gas cost of a transaction [alias: e]
  find-block             Get the block number closest to the provided timestamp
                         [alias: f]
  format-bytes32-string  Formats a string into bytes32 encoding [alias:
                         --format-bytes32-string]
  format-units           Format a number from smallest unit to decimal with
                         arbitrary decimals [aliases: --format-units, fun]
  from-bin               Convert binary data into hex data [aliases: --from-bin,
                         from-binx, fb]
  from-fixed-point       Convert a fixed point number into an integer [aliases:
                         --from-fix, ff]
  from-rlp               Decodes RLP hex-encoded data [alias: --from-rlp]
  from-utf8              Convert UTF8 text to hex [aliases: --from-ascii,
                         --from-utf8, from-ascii, fu, fa]
  from-wei               Convert wei into an ETH amount [aliases: --from-wei,
                         fw]
  gas-price              Get the current gas price [alias: g]
  hash-message           Hash a message according to EIP-191 [aliases:
                         --hash-message, hm]
  hash-zero              Prints the zero hash [aliases: --hash-zero, hz]
  help                   Print this message or the help of the given
                         subcommand(s)
  implementation         Fetch the EIP-1967 implementation for a contract Can
                         read from the implementation slot or the beacon slot
                         [alias: impl]
  index                  Compute the storage slot for an entry in a mapping
                         [alias: in]
  index-erc7201          Compute storage slots as specified by `ERC-7201:
                         Namespaced Storage Layout` [aliases: index7201, in7201]
  interface              Generate a Solidity interface from a given ABI [alias:
                         i]
  keccak                 Hash arbitrary data using Keccak-256 [aliases: k,
                         keccak256]
  key-authorization      Tempo key authorization RLP helpers [alias: key-auth]
  keychain               Tempo keychain (access key) management [alias: kc]
  logs                   Get logs by signature or topic [alias: l]
  lookup-address         Perform an ENS reverse lookup [alias: la]
  max-int                Prints the maximum value of the given integer type
                         [aliases: --max-int, maxi]
  max-uint               Prints the maximum value of the given integer type
                         [aliases: --max-uint, maxu]
  min-int                Prints the minimum value of the given integer type
                         [aliases: --min-int, mini]
  mktx                   Build and sign a transaction [alias: m]
  namehash               Calculate the ENS namehash of a name [aliases: na, nh]
  nonce                  Get the nonce for an account [alias: n]
  pad                    Pads hex data to a specified length [alias: pd]
  parse-bytes32-address  Parses a checksummed address from bytes32 encoding.
                         [alias: --parse-bytes32-address]
  parse-bytes32-string   Parses a string from bytes32 encoding [alias:
                         --parse-bytes32-string]
  parse-units            Convert a number from decimal to smallest unit with
                         arbitrary decimals [aliases: --parse-units, pun]
  pretty-calldata        Pretty print calldata [alias: pc]
  proof                  Generate a storage proof for a given storage slot
                         [alias: pr]
  publish                Publish a raw transaction to the network [alias: p]
  receipt                Get the transaction receipt for a transaction [alias:
                         re]
  receive-policy         Account-level receive policy operations (Tempo)
  recover-authority      Recovery an EIP-7702 authority from a Authorization
                         JSON string [alias: decode-auth]
  resolve-name           Perform an ENS lookup [alias: rn]
  rpc                    Perform a raw JSON-RPC request [alias: rp]
  run                    Runs a published transaction in a local environment and
                         prints the trace [alias: r]
  selectors              Extracts function selectors and arguments from bytecode
                         [alias: sel]
  send                   Sign and publish a transaction [alias: s]
  shl                    Perform a left shifting operation
  shr                    Perform a right shifting operation
  sig                    Get the selector for a function [alias: si]
  sig-event              Generate event signatures from event string [alias: se]
  source                 Get the source code of a contract from a block explorer
                         [aliases: et, src]
  storage                Get the raw value of a contract's storage slot [alias:
                         st]
  storage-credits        T7 storage credits operations (Tempo) [alias: sc]
  storage-root           Get the storage root for an account [alias: sr]
  tempo                  Tempo wallet integration (login, etc.)
  tip20-token            TIP-20 token operations (Tempo) [alias: tip20]
  tip403                 TIP-403 policy registry operations (Tempo)
  to-ascii               Convert hex data to an ASCII string [aliases:
                         --to-ascii, tas, 2as]
  to-base                Converts a number of one base to another [aliases:
                         --to-base, --to-radix, to-radix, tr, 2r]
  to-bytes32             Right-pads hex data to 32 bytes [aliases: --to-bytes32,
                         tb, 2b]
  to-check-sum-address   Convert an address to a checksummed format (EIP-55)
                         [aliases: --to-checksum-address, --to-checksum,
                         to-checksum, ta, 2a]
  to-dec                 Converts a number of one base to decimal [aliases:
                         --to-dec, td, 2d]
  to-fixed-point         Convert an integer into a fixed point number [aliases:
                         --to-fix, tf, 2f]
  to-hex                 Converts a number of one base to another [aliases:
                         --to-hex, th, 2h]
  to-hexdata             Normalize the input to lowercase, 0x-prefixed hex
                         [aliases: --to-hexdata, thd, 2hd]
  to-int256              Convert a number to a hex-encoded int256 [aliases:
                         --to-int256, ti, 2i]
  to-rlp                 RLP encodes hex data, or an array of hex data [alias:
                         --to-rlp]
  to-uint256             Convert a number to a hex-encoded uint256 [aliases:
                         --to-uint256, tu, 2u]
  to-unit                Convert an ETH amount into another unit (ether, gwei or
                         wei) [aliases: --to-unit, tun, 2un]
  to-utf8                Convert hex data to a utf-8 string [aliases: --to-utf8,
                         tu8, 2u8]
  to-wei                 Convert an ETH amount to wei [aliases: --to-wei, tw,
                         2w]
  trace                  CLI arguments for `cast trace`
  tx                     Get information about a transaction [alias: t]
  tx-pool                Inspect the TxPool of a node [alias: tp]
  upload-signature       Upload the given signatures to [https://openchain.xyz](https://openchain.xyz)
                         [alias: ups]
  virtual-address        TIP-1022 virtual address registry operations (Tempo)
                         [alias: vaddr]
  wallet                 Wallet management utilities [alias: w]

Options:
  -h, --help
          Print help (see a summary with '-h')

  -j, --threads <THREADS>
          Number of threads to use. Specifying 0 defaults to the number of
          logical cores
          
          [alias: --jobs]

      --profile <PROFILE>
          The configuration profile to use

  -V, --version
          Print version

Display options:
      --color <COLOR>
          The color of the log messages

          Possible values:
          - auto:   Intelligently guess whether to use color output (default)
          - always: Force color output
          - never:  Force disable color output

      --json
          Format log messages as JSON

      --md
          Format log messages as Markdown

  -q, --quiet
          Do not print log messages

  -v, --verbosity...
          Verbosity level of the log messages.
          
          Pass multiple times to increase the verbosity (e.g. -v, -vv, -vvv).
          
          Depending on the context the verbosity levels have different meanings.
          
          For example, the verbosity levels of the EVM are:
          - 2 (-vv): Print logs for all tests.
          - 3 (-vvv): Print execution traces for failing tests.
          - 4 (-vvvv): Print execution traces for all tests, and setup traces
          for failing tests.
          - 5 (-vvvvv): Print execution and setup traces for all tests,
          including storage changes and
            backtraces with line numbers.

Find more information in the book: https://getfoundry.sh/cast/overview
```

:::