# namera execution execute

> Documentation index: [llms.txt](https://namera.ai/llms.txt).

Source: https://namera.ai/docs/cli/reference/executions/execute

Submit a transaction using an authorized session key.

Submit a transaction using an authorized session key.

## Usage [#usage]

```sh
namera execution execute \
  --namespace evm \
  --wallet 0199dfe1-0000-7000-8000-000000000001 \
  --session-key 0199dfe1-0000-7000-8000-000000000002 \
  --network 'Base Sepolia' \
  --to 0x2222222222222222222222222222222222222222 \
  --value 1000000000000000 \
  --data 0x \
  --sponsor true
```

## Output [#output]

<div className="docs-response">

```text
-> Account: 👛 Example account
-> Network: Base Sepolia
-> Session key: Example session
-> Status: Queued
-> UserOp Hash: 0x1111111111111111111111111111111111111111111111111111111111111111

Not confirmed yet. Check again with:
  namera execution status 0199dfe1-0000-7000-8000-000000000003
```

</div>

Example output uses fixture accounts and hashes, captured with the CLI's output
formatters. Plain-text output is shown without terminal colors; your values and
relative expiry dates will differ.

With `--output json`, the successful submission data is:

<div className="docs-response">

```json
{
  "namespace": "eip155",
  "submissionId": "0199dfe1-0000-7000-8000-000000000003",
  "status": "prepared",
  "userOperationHash": "0x1111111111111111111111111111111111111111111111111111111111111111"
}
```

</div>

Success means the request completed, not that the transaction is confirmed.
Save `submissionId` and check it with `namera execution status`.

## Options [#options]

### --namespace [#--namespace]

- **Type:** `evm | eip155`
- **Required:** for non-interactive input flags

Select the EVM network family. Both values resolve to the same namespace.
This is not the chain ID; choose the network separately.

### --wallet [#--wallet]

- **Type:** `string` (account ID)
- **Required:** for non-interactive input flags

Use an ID from `namera --output json wallet list`, not an Ethereum address.
With input flags, the CLI reads the account to validate your selection.

### --network [#--network]

- **Type:** network name, numeric chain ID, or CAIP-2 ID
- **Required:** for non-interactive input flags

For Base Sepolia, use `--network 'Base Sepolia'`, `--network 84532`, or
`--network eip155:84532`. Names are case-insensitive. The supported networks are
Ethereum, Sepolia, Base, Base Sepolia, Arbitrum One, Arbitrum Sepolia,
OP Mainnet, and OP Sepolia. [Supported Networks](https://namera.ai/docs/sdk/supported-networks)
lists their identifiers.

### --session-key [#--session-key]

- **Type:** `string` (session-key ID)
- **Required:** for non-interactive input flags

Choose a key belonging to the selected account. Find IDs with
`namera --output json session-key list --wallet <wallet-id>`. Input flags require
session-key read access to validate the key. Execution and signing also require
a grant, an active installation on the chosen network, and matching permissions.

### --to [#--to]

- **Type:** `0x`-prefixed Ethereum address
- **Required:** for non-interactive input flags

The recipient for a native-token transfer, or the contract receiving calldata.
Use a full 20-byte address. The session key must permit this target.

### --value [#--value]

- **Type:** non-negative integer string, in wei
- **Required:** for non-interactive input flags

The native-token amount attached to the call. `1000000000000000` means 0.001 ETH.
Use `0` for a contract call that transfers no ETH. Decimal ETH amounts such as
`0.001` are not accepted.

### --data [#--data]

- **Type:** even-length `0x`-prefixed hex
- **Required:** for non-interactive input flags

ABI-encoded calldata for the target contract. Use `0x` for a plain ETH transfer.
For token transfers, the token amount belongs in calldata, not `--value`.

### --sponsor [#--sponsor]

- **Type:** `true | false`
- **Required:** for non-interactive input flags

Choose sponsored gas or payment from the account. The interactive prompt defaults
to Yes. In `--params` JSON, omitting `sponsor` uses the API's sponsored default.

### --max-gas-cost-wei [#--max-gas-cost-wei]

- **Type:** non-negative integer string, in wei
- **Required:** for self-funded execution

Set the largest gas cost you approve, separate from the transfer amount.
This ceiling may be supplied alongside `--params`. With individual flags,
an interactive self-funded request prompts if the ceiling is missing.

```sh
namera execution execute \
  --namespace evm \
  --wallet 0199dfe1-0000-7000-8000-000000000001 \
  --session-key 0199dfe1-0000-7000-8000-000000000002 \
  --network 'Base Sepolia' \
  --to 0x2222222222222222222222222222222222222222 \
  --value 1000000000000000 \
  --data 0x \
  --sponsor false \
  --max-gas-cost-wei 1000000000000000
```

### --params [#--params]

- **Type:** JSON string
- **Required:** only when replacing individual input flags

Pass the complete request as one JSON object. Use this for batch calls or
scripts that already construct requests. JSON uses `eip155` for the namespace,
CAIP-2 chain IDs, and decimal strings for bigint quantities.

Do not combine it with individual transaction or signature input flags. It can
be used with `--profile` and global output options. Supplying JSON skips the
interactive selection and its extra account/session-key reads; authorization
and request validation still apply.

### --profile [#--profile]

- **Type:** `string`
- **Default:** `personal`

Choose the saved CLI connection for this command. Pass the same name used at
login. If `NAMERA_API_KEY` is set, ordinary API commands use that key instead of
the profile's OAuth credentials.

```sh
namera wallet list --profile work
```

The command also accepts [global options](https://namera.ai/docs/cli/reference/global-options):
`--output pretty|json`, `--quiet`, and `--help`.

## Submission Safety [#submission-safety]

The command submits once inputs are complete. It has no dry-run flag; use
[simulate](https://namera.ai/docs/cli/reference/executions/simulate) first. A new invocation starts
a new operation. Follow [recovery guidance](https://namera.ai/docs/cli/guides/transactions/handle-retries-and-recovery)
before repeating a command after a lost response.

## Errors [#errors]

Failures exit nonzero and are written to stderr. With `--output json`, inspect
`error.code` and `error.nextStep`. See [Output and Errors](https://namera.ai/docs/cli/output-and-errors).
