For AI agents: read the documentation index. Documentation pages are available as Markdown by appending .md to their URL, or requesting Accept: text/markdown.

Namera Docs

namera execution execute

Submit a transaction using an authorized session key.

Submit a transaction using an authorized session key.

Usage

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

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

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:

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

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

Options

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

  • 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

  • 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 lists their identifiers.

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

  • 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

  • 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

  • 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

  • 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

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

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

  • 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

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

namera wallet list --profile work

The command also accepts global options: --output pretty|json, --quiet, and --help.

Submission Safety

The command submits once inputs are complete. It has no dry-run flag; use simulate first. A new invocation starts a new operation. Follow recovery guidance before repeating a command after a lost response.

Errors

Failures exit nonzero and are written to stderr. With --output json, inspect error.code and error.nextStep. See Output and Errors.