---
description: "RLP-encode an unsigned Tempo key authorization"
---

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

## cast key-authorization encode

RLP-encode an unsigned Tempo key authorization

:::terminal

```bash
$ cast key-authorization encode --help
```

```txt
Usage: cast key-authorization encode [OPTIONS] --chain-id <CHAIN_ID> <KEY_ADDRESS>

Arguments:
  <KEY_ADDRESS>
          Key address to authorize

Options:
      --chain-id <CHAIN_ID>
          Chain ID for replay protection

      --key-type <KEY_TYPE>
          Type of access key being authorized: secp256k1, p256, or webauthn. The
          root signature type is determined by the configured signer
          
          [default: secp256k1]

      --expiry <EXPIRY>
          Expiry timestamp (unix seconds). Omit for no expiry

      --enforce-limits
          Enforce spending limits for this key. With no --limit entries, this
          means no spending

      --limit <LIMITS>
          Spending limit in `TOKEN:AMOUNT[:PERIOD]` format. Can be specified
          multiple times

      --scope <SCOPE>
          Call scope restriction in `TARGET[:SELECTORS[@RECIPIENTS]]` format.
          TARGET alone allows all calls to that target

      --scopes <SCOPES_JSON>
          Call scope restrictions as a JSON array

      --witness <WITNESS>
          Optional TIP-1053 witness to include in the authorization signing
          hash.
          
          `0x000...000` is a valid present witness and is distinct from omitting
          the flag.

      --admin
          Authorize a T6 admin access key (key-management only).
          
          Admin keys may authorize/revoke other keys but cannot carry an expiry,
          spending limits, or call scopes, and require a bound account
          (`--account` for `encode`, signer-derived for `sign`).

      --account <ADDRESS>
          Bind this authorization to a target account (T6).
          
          Required for `--admin` so the authorization cannot be replayed across
          accounts sharing the same admin key. May also bind a plain
          authorization without `--admin`.

  -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

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.
```

:::