---
title: "Safety, simulation, and signing"
description: "How ENS.Tools keeps state-changing actions in your wallet."
canonical: "https://ens.tools/docs/safety-and-signing"
section: "Get started"
stability: "stable"
version: "Web app"
verifiedAt: "2026-07-29"
owner: "ENS.Tools Product"
---

# Safety, simulation, and signing

How ENS.Tools keeps state-changing actions in your wallet.

## Overview

ENS.Tools is non-custodial. The web app and MCP server can calculate calldata, values, dependencies, and typed data, but the connected wallet remains the final signing and broadcast boundary.

## What this covers

- Private keys and recovery phrases are never accepted.
- Onchain MCP actions return unsigned plans and do not broadcast. Signed publish, authorize, observe, and revoke tools can persist platform state after their declared checks.
- Prepared transactions expose the target contract, calldata, ETH value, prerequisites, and dependencies.
- Simulation uses eth_call and gas estimation; it reduces avoidable failures but is not a guarantee of future execution.
- Dependent operations wait for required confirmations, especially registration commit/reveal and two-phase agent registration.

## Before you run this workflow

### Networks

- Ethereum mainnet unless the page explicitly labels a test network

### Prerequisites

- A current browser; a wallet is only required for address-specific data or signing

### Wallet permissions

- Public reads require none
- State changes require a separate wallet review and signature

### Expected result

- A current read result, prepared action, or explicit unknown/error state

### Errors and recovery

- Confirm the active wallet and network
- Refresh stale evidence
- Never force-send a failed simulation

## How to use it

1. **Prepare.** Review the human-readable action, target, value, and any approval or ownership prerequisite.
2. **Simulate.** Run the available simulation and read any revert reason or gas estimate.
3. **Sign.** Confirm the same target and value in your wallet. Reject anything that differs from the prepared summary.
4. **Verify.** Wait for confirmation and check the transaction status before starting dependent work.

## Records are public

> Never place passwords, API keys, commit secrets, or private operational data in ENS text records or content fields.

## Related guides

- [Unsigned transaction plans](https://ens.tools/docs/unsigned-plans)
- [Fees and displayed totals](https://ens.tools/docs/fees)
- [Troubleshooting](https://ens.tools/docs/troubleshooting)
