DOCUMENTATION
Generated from cast safe simulate --help; see CLI reference versions. Regenerate this page instead of editing it directly.
cast safe simulate
Simulate a proposed Safe transaction without requiring owner signatures.
This simulates the inner CALL or DELEGATECALL in the Safe's context. It does not
validate
the Safe nonce, owner signatures, threshold, or guard hooks. Reimbursed
transactions
(gasPrice > 0) are rejected because SimulateTxAccessor does not enforce
safeTxGas.
$ cast safe simulate --helpUsage: cast safe simulate [OPTIONS] --from <ADDRESS> <SAFE> <SAFE_TX_HASH>
Arguments:
<SAFE>
Safe account address
<SAFE_TX_HASH>
Safe transaction hash from the Transaction Service
Options:
--from <ADDRESS>
Address that will execute the Safe transaction. Used as the
simulation's tx.origin
[env: ETH_FROM=]
--accessor <ACCESSOR>
SimulateTxAccessor address
[default: 0x3d4BA2E0884aa488718476ca2FB8Efc291A46199]
--service-url <SERVICE_URL>
Safe Transaction Service URL. Inferred from the RPC chain ID when
omitted. The `/api` suffix is optional
[env: SAFE_TRANSACTION_SERVICE_URL=]
--api-key <API_KEY>
Safe Transaction Service API key
[env: SAFE_API_KEY=]
-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
Rpc options:
-r, --rpc-url <URL>
The RPC endpoint
[alias: --fork-url]
-k, --insecure
Allow insecure RPC connections (accept invalid HTTPS certificates).
When the provider's inner runtime transport variant is HTTP, this
configures the reqwest client to accept invalid certificates.
--rpc-timeout <RPC_TIMEOUT>
Timeout for the RPC request in seconds.
The specified timeout will be used to override the default timeout for
RPC requests.
Default value: 45
[env: ETH_RPC_TIMEOUT=]
--no-proxy
Disable automatic proxy detection.
Use this in sandboxed environments (e.g., Cursor IDE sandbox, macOS
App Sandbox) where system proxy detection causes crashes. When
enabled, HTTP_PROXY/HTTPS_PROXY environment variables and system proxy
settings will be ignored.
--compute-units-per-second <CUPS>
Sets the number of assumed available compute units per second for this
provider.
default value: 330
See also
[https://docs.alchemy.com/reference/compute-units#what-are-cups-compute-units-per-second](https://docs.alchemy.com/reference/compute-units#what-are-cups-compute-units-per-second)
--no-rpc-rate-limit
Disables rate limiting for this node's provider.
See also
[https://docs.alchemy.com/reference/compute-units#what-are-cups-compute-units-per-second](https://docs.alchemy.com/reference/compute-units#what-are-cups-compute-units-per-second)
[alias: --no-rate-limit]
--flashbots
Use the Flashbots RPC URL with fast mode
([https://rpc.flashbots.net/fast](https://rpc.flashbots.net/fast)).
This shares the transaction privately with all registered builders.
See:
[https://docs.flashbots.net/flashbots-protect/quick-start#faster-transactions](https://docs.flashbots.net/flashbots-protect/quick-start#faster-transactions)
--jwt-secret <JWT_SECRET>
JWT Secret for the RPC endpoint.
The JWT secret will be used to create a JWT for an RPC. For example,
the following can be used to simulate a CL `engine_forkchoiceUpdated`
call:
cast rpc --jwt-secret <JWT_SECRET> engine_forkchoiceUpdatedV2
'["0x6bb38c26db65749ab6e472080a3d20a2f35776494e72016d1e339593f21c59bc",
"0x6bb38c26db65749ab6e472080a3d20a2f35776494e72016d1e339593f21c59bc",
"0x6bb38c26db65749ab6e472080a3d20a2f35776494e72016d1e339593f21c59bc"]'
[env: ETH_RPC_JWT_SECRET=]
--rpc-headers <RPC_HEADERS>
Specify custom headers for RPC requests
[env: ETH_RPC_HEADERS=]
--curl
Print the equivalent curl command instead of making the RPC request
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.