Simulate Transactions
Check calls and permissions before submitting.
Install the CLI and sign in. Replace the example account ID, session-key ID, and recipient with your own. Use an active key installed on Base Sepolia with permission for the operation.
Run a Preview
This checks a 0.001 ETH transfer without sending it:
namera execution simulate \
--namespace evm \
--wallet 0199dfe1-0000-7000-8000-000000000001 \
--session-key 0199dfe1-0000-7000-8000-000000000002 \
--network 'Base Sepolia' \
--to 0x2222222222222222222222222222222222222222 \
--value 1000000000000000 \
--data 0xTransaction preview
-> Account: 👛 Example account
-> Network: Base Sepolia
-> Session key: Example session
-> Policy decision: Allowed
-> Calls: Succeeded
Simulation only. No transaction was submitted.Inspect the Full Result
Add --output json to read gas estimates, call results, asset changes, and
transfers:
namera --output json execution simulate \
--namespace evm \
--wallet 0199dfe1-0000-7000-8000-000000000001 \
--session-key 0199dfe1-0000-7000-8000-000000000002 \
--network 'Base Sepolia' \
--to 0x2222222222222222222222222222222222222222 \
--value 1000000000000000 \
--data 0x{
"namespace": "eip155",
"walletId": "0199dfe1-0000-7000-8000-000000000001",
"chainId": "eip155:84532",
"account": "0x1111111111111111111111111111111111111111",
"callsSucceeded": true,
"simulation": {
"userOperation": {
"source": "eth_estimateUserOperationGas",
"callGasLimit": "50000",
"verificationGasLimit": "100000",
"preVerificationGas": "50000",
"maxFeePerGas": "1000000000",
"maxPriorityFeePerGas": "1000000"
},
"calls": {
"source": "viem.simulateCalls",
"results": [{ "status": "success", "returnData": "0x", "gasUsed": "21000" }],
"assetChanges": [],
"transfers": [
{
"callIndex": 0,
"from": "0x1111111111111111111111111111111111111111",
"to": "0x2222222222222222222222222222222222222222",
"value": "1000000000000000"
}
]
}
},
"allowed": true,
"sessionKeyId": "0199dfe1-0000-7000-8000-000000000002"
}Check both allowed and callsSucceeded. A denied policy or reverted call
can be returned in a successful CLI response; process exit code alone is not a
readiness check.
For batch simulation, supply the simulation request through --params with a
calls array. Do not include execution-only sponsor or gas-ceiling flags.
Act on the Result
If permission is denied, adjust the request or update the session's permissions in the dashboard. If a call fails, check its target, calldata, value, and account balance. A successful preview does not reserve permissions or guarantee the same chain state when you execute.
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.